1

У меня есть очень длинное видео, которое я хочу наложить на время видео (фактически отсчет времени от 0:00:00 до длины видео).

Поскольку я не могу найти никаких инструментов для выполнения этой конкретной задачи, я написал Java-программу для создания тысяч прозрачных изображений PNG, по одному на каждую секунду. OpenShot (мой любимый видеоредактор) может взять все изображения, соответствующие определенной схеме именования, в папке и импортировать их как видео, контролируя, сколько кадров отображается для каждого изображения. Это звучит идеально, за исключением случаев, когда я тестировал его с первой тысячей изображений, которые он замерзал на 500-м кадре; то есть. он будет считать до 00:08:19, а затем никогда не будет идти до 00:08:20.

Я попробовал несколько других способов объединить изображения в видео (например, avconv), но я не могу заставить их работать. Кстати, Ubuntu - моя основная ОС, но у меня есть доступ к Windows и Mac, если это необходимо.

Как я могу объединить более 10000 изображений в одно видео? Или, что еще лучше, есть ли более прямой способ наложения видео с таймером, отсчитывающим от 0:00:00 до продолжительности видео?

1 ответ1

0

ffmpeg сделает это:

ffmpeg -i input.mp4 -vf "drawtext=fontfile=/path/to/font.ttf:fontcolor=white:fontsize=30:box=1:boxcolor=black@0.5:x=(W-tw)/2:y=H-th-20:timecode='00:00:00':rate=25,format=yuv420p" -crf 23 -c:a copy -map 0 output.mp4

Приведенный выше код содержит специальные символы и должен быть экранирован, как того требует ваша оболочка,

Измените r=25 на значение частоты кадров вашего видео. black@0.5 на 50% непрозрачен. Смотрите документы для более подробной информации и вариантов. Измените значение CRF для соотношения качество / размер - чем ниже, тем лучше качество.

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