ffmpeg: вырезать видео, но получаю неправильную длину - PullRequest
0 голосов
/ 15 октября 2018

Я использую ffmpeg, чтобы вырезать видео.Вот входная информация:

    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 5113 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)

И эта команда, которую я использую:

    ffmpeg -y -ss 10 -t 5 -i test.mp4 -c copy output.mp4

Но длительность вывода составляет около 9,66 секунд.

Сработало, когдаЯ удалил опцию '-c copy' или вход не содержит тег 'tv, bt709'.Но это медленнее.

Интересно, как я могу использовать '-c copy' и получить нужный фрагмент видео, который мне нужен?

Ответы [ 2 ]

0 голосов
/ 24 августа 2019

Первая команда будет сокращена с 00:01:00 до 00:03:00 (в оригинале), используя более быстрый поиск.

Вторая команда будетсократить с 00:01:00 до 00:02:00, как и предполагалось, используя более медленный поиск.

Третья команда будет сокращена с 00:01:00 до 00:02:00, как и предполагалось, используя быстрый поиск.

ffmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy cut.mp4

ffmpeg -i video.mp4 -ss 00:01:00 -to 00:02:00 -c copy cut.mp4

ffmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy -copyts cut.mp4

Полный документ введите описание ссылки здесь

0 голосов
/ 15 октября 2018

из документации ffmpeg:

-t duration (ввод / вывод) При использовании в качестве параметра ввода (до -i) ограничить продолжительность чтения данных из входного файла.

При использовании в качестве параметра вывода (перед URL-адресом вывода) прекратить запись вывода после того, как его длительность достигнет продолжительности.

длительность должна быть спецификацией длительности, см. (Ffmpeg-utils) Длительность временираздел руководства ffmpeg-utils (1).

Учитывая это, если вы хотите 5-секундный видеопоток, попробуйте указать продолжительность, которую вы хотите прочитать из входного файла (перед тегом -i) и продолжительность, которую вы хотите получить из вашего окончательного выходного файла (перед выходным URL)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...