回答:
1つの方法は、overlay
ビデオフィルターを使用することです。あなたのビデオが640x480、30秒の持続時間、25フレームレートであると仮定します:
ffmpeg -f lavfi -i nullsrc=s=640x480:d=35:r=25 -i video.mp4 -i audio.wav -filter_complex \
"[0:v][1:v]overlay[video]" -map "[video]" -map 2:a -codec:a copy -shortest output.mkv
nullsrc
ソースフィルターの期間を5秒より長く設定しましたinput.mkv
。
オーバーレイのデフォルトの動作は、オーバーレイされたソースの最後のフレームを繰り返すことです。eof_action
他の動作については、オプションを参照してください。
この例のオーディオは、再エンコードされるのではなく、ストリームコピー(再多重化)されています。
欠点は、この例ではフィルターが使用されているため再エンコードが必要ですが、コマンドが1つしかないため、他の方法よりも簡単な場合があります。