1

У меня есть одно видео продолжительностью одна минута и 35 секунд. Я могу разделить его на несколько 30-секундных сегментов (я полностью осведомлен о других способах разделения видео, но выбрал его по определенной причине). Тем не менее, это дает 3 видео по 30 секунд и одно видео по 5 секунд. Каков наилучший способ устранить излишнее видео продолжительностью менее 15 секунд и добавить его к сегментам?

разделить на сегменты

ffmpeg -i test.mp4 -codec:v copy -codec:a copy -segment_time 30 test-%03d.mp4

продолжительность

ffprobe -i test.mp4 -show_format -v quiet | grep '.=.'

1 ответ1

1

Сам по себе ffmpeg не может этого сделать. Вы должны сами определить продолжительность отдельного сегмента, поскольку нет никакой возможности указать минимальную продолжительность.

Для этого вам, вероятно, придется перебирать всю длину видео дважды. На первом этапе определите длину сегментов. Если вы обнаружите, что последний сегмент короче, скажем, 15 секунд, вам просто нужно отрегулировать длину второго до последнего. Это легко сделать с помощью скриптовых языков.

После того, как вы есть , что вы должны сказать segment Muxer отдельных длительностей сегментов:

-segment_times 0,30,60,80

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .