2016-04-21 4 views
1

Предположим, у меня есть два видео, которые я хочу играть одновременно. movieA.mp4 длится 38.6 секунд, а movieB.mp4 - 31.14 секунды. Использование ffmpeg - это простой способ заполнить конец movieB.mp4 черной тишиной так, чтобы она составляла ровно 38,6 секунды (соответствующий movieA.mp4). Есть очень ниша техническая причина, я хочу сделать это, так что не спрашивайте ха-ха!Добавить 2 секунды чистого/черного видео с ffmpeg

Также, если возможно, но менее важно, способ удалить это впоследствии.

Ищете 2 дня для любого рода легкого пути вокруг этого без везения !!!

Большое спасибо!

ответ

3

Вы можете сделать это с помощью команды, как это:

ffmpeg -i movieA.mp4 -i movieB.mp4 -filter_complex "color=black:WxH[c]; \ 
     [0][c]overlay=shortest=1[base];[base][1]overlay=eof_action=pass[v]" \ 
     -map "[v]" -map 1:a Bextended.mp4 

Это предполагает разрешение двух видео то же самое. Вы должны масштабировать их, иначе, чтобы сделать это так.

WxH следует заменить разрешением фильма А, например. color=black:1280x720

+0

Спасибо! Есть ли простой способ продлить длину видео с пустым/черным без второго видео? – jedierikb

+1

Используйте '' [c] [0] overlay = eof_action = pass "-t N ', где N - общая длина расширенного видео. Или вы можете установить длительность цвета: '" color = black: WxH: d = M [c]; [0] [c] concat "' пропускать '-t N'. Здесь M - это продолжительность только расширения. – Mulvya