
ビデオファイルに複数の変更を一度に行いたいです。
入力ビデオにイントロとアウトロのビデオ スニペットを追加する必要があります。つまり、3 つのビデオを結合することになります。入力ビデオ (2 番目のセグメント) にオーバーレイ イメージを追加する必要があります。これらを 1 行に結合するにはどうすればよいですか?
私はこれを 2 つのステップで実行しました。まずオーバーレイです。
ffmpeg -i input.mkv -i image.png -filter_complex overlay=main_w-overlay_w-0:0 output_file.mkv
次にマージします。
ffmpeg -i intro.mp4 -i input.mkv -i outro.mp4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0][2:v:0][2:a:0]concat=n=3:v=1:a=1[video_out][audio_out]" -map "[video_out]" -map "[audio_out]" output_file.mkv
答え1
[v1]
出力に一時的な名前を付けて、それをフィルターへの入力としてoverlay=main_w-overlay_w-0:0
使用することもできます。[v1]
concat
ffmpeg -i intro.mp4 -i input.mkv -i outro.mp4 -i image.png -filter_complex "[1:v][3:v]overlay=main_w-overlay_w-0:0[v1];[0:v:0][0:a:0][v1][1:a:0][2:v:0][2:a:0]concat=n=3:v=1:a=1[video_out][audio_out]" -map "[video_out]" -map "[audio_out]" output_file.mkv
- 次の部分はオーバーレイ ステージを適用します。
[1:v][3:v]overlay=main_w-overlay_w-0:0[v1]
オーバーレイされた出力には一時的な名前が付けられます[v1]
。 [0:v:0][0:a:0][v1][1:a:0][2:v:0][2:a:0]concat
を( の代わりに)[v1]
への入力として 使用します。concat
[1:v:0]