[ffmpeg] 動画に透かし画像を入れるには

ここで言う「透かし画像」とは、動画の定位置に常に表示されている固定画像のこと。報道ビデオには通信社のロゴが合成されていることがあるけど、あれが「透かし画像」。英語では、動画に透かし画像を入れることをwatermark、単に画像を合成することをoverlayと言う。

ffmpegを使って透かし画像を入れる方法

例えば、動画の右下隅から水平方向と垂直方向それぞれに40ピクセルのマージンを取って透かし画像を入れたい場合には、以下のようにオプションを指定してffmpegを実行する。

-vf オプションは動画にフィルタ処理を施す指定で、続けてフィルタの内容を二重引用符で括って追加する。二重引用符内の指定は以下の通り。

movie= は透かし画像のファイル名。

overlay= は透かし画像の表示位置。動画の左上を原点とし、動画上の水平方向と垂直方向の位置をコロンでつないで記述する。定数パラメータとして、main_w (動画の幅)、main_h (動画の高さ)、overlay_w (透かし画像の幅)、overlay_h (透かし画像の高さ) が使える。例えば、overlay=10:10 は動画の左上隅から縦横10ピクセルずつ右下の位置を示し、overlay=main_w-overlay_w-10:main_h-overlay_h-10 は動画の右下隅から縦横10ピクセルずつ左上の位置を示す。

参考サイト

How to watermark a video using FFmpeg | iDude.net
http://www.idude.net/index.php/how-to-watermark-a-video-using-ffmpeg/