
Я пытался вырезать 5-секундный отрезок из видео test.wmv (длиной 10 минут), начиная с позиции 00:03:00. Поэтому я использовал следующую команду ffmpeg.
ffmpeg -ss 00:03:00 -t 00:00:05 -i test.wmv -acodec libmp3lame -vcodec copy 1.wmv
Но он выдает мне выходной wmv-файл на 11 секунд длиннее, что в два раза больше указанной длительности.
Что я делаю не так? Есть идеи?
Спасибо
решение1
Это часто происходит при использовании -ss
and -t
вместе с -c copy
or -codec copy
.
Не используйте copy
, а используйте другие кодеки или просто не указывайте параметры -c
. -codec
и этого не произойдет.
например:ffmpeg -ss 00:03:00 -t 00:00:05 -i test.wmv -acodec libmp3lame -vcodec libx264 1.mp4
решение2
Разместите начальный и конечный параметры после ввода. Это должно сделать его более точным.
ffmpeg -i test.wmv -ss 00:03:00 -to 00:03:05 -c copy 1.wmv
Опция -t
означает перейти на эту продолжительность. Я использовал -to
. Так что в вашем случае это должно быть
-to 00:03:05
Также я не менял аудиокодек с оригинала. Это должно работать.
решение3
Я использовал руководство @Rajib для создания запроса, который идеально подходит для обрезки видео с точной продолжительностью/длительностью.
-i input_path -ss 00:00:00 -to 00:00:07 -c copy -copyts output_path
Дополнительные параметры предназначены для поддержания качества выходного видео.