#ffmpeg
#ffmpeg
Вопрос:
Почему следующая команда ffmpeg выводит видео продолжительностью одиннадцать минут?
ffmpeg -ss 600 -i 01x01TheStrongestMan.mp4 -to 660 -vcodec copy -acodec copy -y outputxxx.mp4
Я хочу нарезать видео с 600 секунды до 660 секунды, на выходе должно получиться видео длиной в 1 минуту.
Как я могу это сделать и почему моя команда неверна?
Спасибо.
Комментарии:
1. Оба
-ss
и-to
должны быть на одной стороне ввода. Поместите-to
перед-i
.2. @Gyan на самом деле оба -ss и -to должны быть после -я публикую ваш ответ, и я выберу его как принятый.
3. Не требуется. Точность отличается, поскольку метод поиска кадров отличается.
Ответ №1:
Вот несколько небольших тестовых примеров, которые я сделал, которые могут пролить некоторый свет.
Искать раньше: (Быстрее, но менее точно)
ffmpeg -ss 600 -to 660 -i movie.mkv -vcodec copy -acodec copy -y output1.mp4
Ищите после: (медленнее, но точнее)
ffmpeg -i movie.mkv -ss 600 -to 660 -vcodec copy -acodec copy -y output2.mp4
Поиск до и после: (быстрый и точный)
ffmpeg -ss 500 -i movie.mkv -ss 100 -to 160 -vcodec copy -acodec copy -y output3.mp4
Однако……..
В зависимости от того, какие кадры какие, вы не всегда получите точные вырезы / обрезки. Вы также получите разные результаты или найдете один метод лучше другого, в зависимости от того, просто ли вы копируете потоки или кодируете.