透過のテキストはできるが透過の動画は overlay フィルタだけを使って動画を重ねても透過にならないので、blend フィルタを応用して透過したオーバーレイ動画を作る方法。コツは透過する画像の周りを背景となる映像と同じ映像をオーバーレイして blend の average で同じ映像同士の平均は同じというのを利用する。透過する映像の位置は overlay フィルタで指定する。前回記事の「ffmpeg で差分動画を作る」と同じように「:c0_opacity=.5」と等とすることで透過具合を変更することもできる。

追記 2015/01/15
識別子の c が表示されていなかったので c0 に変更した。

関連記事

コマンドサンプル

  • 左上に縦横半分にした透過映像を配置(背景の動画をフルカラーに)
    ffplay -f lavfi "movie=left,scale=iw/2:ih/2[a];movie=right,split[b][c0];[b][a]overlay[ba];[c0][ba]blend=c0_mode=average"
    ffmpeg -i left -i right -filter_complex "[0:0]scale=iw/2:ih/2[a];[1:0]split[b][c0];[b][a]overlay[ba];[c0][ba]blend=c0_mode=average" -acodec copy

    背景の動画をフルカラー@結城結奈は勇者である
  • 左上に縦横半分にした透過映像を配置(透過する動画をフルカラーに)
    ffplay -f lavfi "movie=left,scale=iw/2:ih/2[a];movie=right,split[b][c0];[b][a]overlay[ba];[ba][c0]blend=c0_mode=average"
    ffmpeg -i left -i right -filter_complex "[0:0]scale=iw/2:ih/2[a];[1:0]split[b][c0];[b][a]overlay[ba];[ba][c0]blend=c0_mode=average" -acodec copy

    透過する動画をフルカラー@結城結奈は勇者である
  • right の音声を使う場合(既定値は最初に入力した left)
    ffplay -f lavfi "movie=left,scale=iw/2:ih/2[a];movie=right,split[b][c0];[b][a]overlay[ba];[ba][c0]blend=c0_mode=average[out0];amovie=left[out1]"
    ffmpeg -i left -i right -filter_complex "[0:0]scale=iw/2:ih/2[a];[1:0]split[b][c0];[b][a]overlay[ba];[ba][c0]blend=c0_mode=average" -map 1:1 -acodec copy
  • 音声を左右に割り振る場合(フィルタに取り入れるので音声のコピーはできない)
    ffplay -f lavfi "movie=left,scale=iw/2:ih/2[a];movie=right,split[b][c0];[b][a]overlay[ba];[ba][c0]blend=c0_mode=average[out0];amovie=left,pan=stereo|c0=c0+c1[a];amovie=right,pan=stereo|c1=c0+c1[b];[a][b]amix[out1]"
    ffmpeg -i left -i right -filter_complex "[0:0]scale=iw/2:ih/2[a];[1:0]split[b][c0];[b][a]overlay[ba];[ba][c0]blend=c0_mode=average;[0:1]pan=stereo|c0=c0+c1[a];[1:1]pan=stereo|c1=c0+c1[b];[a][b]amix"

One thought on “ffmpeg を使って透過したオーバーレイ動画を作る”

  • まりりん

    どうも、いつも参考になる記事をありがとうございます。

    動画にロゴを挿入して挿入したロゴだけを透過させるということは可能でしょうか?

    イメージ的にはAvidmuxのフィルタ機能、ロゴを追加のような感じです。

    ググってもたどりつけなかったので、もしよろしければ記事にしていただけたらと思います。

    誠に身勝手ではありますがよろしくお願いいたします。

コメントを残す

メールアドレスが公開されることはありません。

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