具体的にはoverlayフィルタを使って画像を映像の上に載せるが、そのままだと画像が透過しないのでformatフィルタでアルファチャンネルを追加し、lutyuvフィルタで透過具合を指定する。画像が動画よりも縦横のどちらかの解像度が超えている場合は予めリサイズするか、フィルタで小さくする。

ロゴ画像がアニメGIF、アニメPNGの場合は、-ignore_loop 0を入力ファイルの前に付ける。

プレビュー例。
ffmpeg -re -i movie.mp4 -loop 1 -i input.jpg -filter_complex [1]format=yuva420p,lutyuv=a=64,[0]overlay=x=10:y=20 -an -f sdl -

透過64でオーバーレイ、big buck bunny

アニメGIFの場合。
ffmpeg -re -i movie.mp4 -ignore_loop 0 -i input.gif -filter_complex [1]format=yuva420p,lutyuv=a=64,[0]overlay=x=10:y=20 -an -f sdl -

動画で出力。
ffmpeg -i movie.mp4 -loop 1 -i input.jpg -filter_complex [1]format=yuva420p,lutyuv=a=64,[0]overlay=x=10:y=20 -c:a copy output.mp4

画像を半分にリサイズする。
ffmpeg -i movie.mp4 -loop 1 -i input.jpg -filter_complex [1]scale=iw/2:ih/2,format=yuva420p,lutyuv=a=64,[0]overlay=x=10:y=20 -c:a copy output.mp4

左上を基準で半分にクロップする。
ffmpeg -i movie.mp4 -loop 1 -i input.jpg -filter_complex [1]crop=iw/2:ih/2:0:0,format=yuva420p,lutyuv=a=64,[0]overlay=x=10:y=20 -c:a copy output.mp4

Adding GIF as Watermark and Loop FFMPEG – Stack Overflow

One thought on “ffmpeg で動画にロゴ画像を追加し透過させる”

  • まりりん

    この度は光の速さでリクエストに答えていただきありがとうございました。

    使える小技まで載せていただき感謝です。

    無理せず更新の方頑張ってください。

まりりん へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)