ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay" \
-codec:a copy out.mp4
このコマンドを理解するには、ストリーム指定子が何であるかを知る必要があり、FFmpegフィルタリングの概要を読むと役立ちます。[0:v]
最初の入力(video.mp4
)[1:v]
のビデオストリームを指し、2番目の入力(logo.mp4
)のビデオストリームを指します。これはoverlay
、使用する入力を判別する方法です。あなたは省略することができ[0:v][1:v]
、そしてoverlay
、まだ動作しますが、おそらく、未知のデフォルトに依存明示していないことをお勧めします。
デフォルトでは、ロゴは左上に配置されます。
を使用-codec:a copy
すると、オーディオがストリームコピーされます。これは、オーディオを再エンコードするのではなく、単にオーディオを再多重化します。オーディオの「コピーアンドペースト」と考えてください。
ロゴを移動する
この例では、ロゴを右に10ピクセル、下に10ピクセル移動します。
ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=10:10" \
-codec:a copy out.mp4
この例では、ロゴを右側から10ピクセル、下から10ピクセル移動します。
ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=main_w-overlay_w-10:10" -codec:a copy out.mp4
main_w
「メイン」入力の幅(背景または[0:v]
)をoverlay_w
参照し、「オーバーレイ」入力(ロゴまたは[1:v]
)の幅を参照します。したがって、例では、これはoverlay=320-90-10:10
またはに翻訳できますoverlay=220:10
。
オーバーレイのタイミング
一部のフィルターはタイムライン編集を処理できるため、算術式を使用してフィルターをいつ適用するかを決定できます。ffmpeg -filters
タイムライン編集をサポートするフィルターを確認するには、を参照してください。
この例では、30秒までロゴが表示されます。
ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=10:10:enable=between(t\,0\,30)" -codec:a copy out.mp4
ロゴをフェードインする場合は、mark4oの回答を参照してください。