alphamerge
フィルタは2入力目のグレースケール(グレースケールでなければ変換される)の白黒具合に応じて1入力目に透過情報を加える。透過具合については黒が透過し、白に近いほど透過しなくなり、出力はYUVAまたはARGB、RGBAになる。アルファチャンネルを含む映像になるのでそれに対応したコーデックで出力しないとアルファチャンネルが消えてしまうのに注意。YUVAならffv1。RGBAならutvideoまたはffv1で出力する。同じ機能のフィルタにmergeplanes
フィルタがあるがこちらの方が負荷が少し軽く、アルファチャンネルを追加するmaskedmerge
フィルタと負荷は変わらない。
各映像チャンネルを結合する mergeplanes
マスクして2入力を合わせる maskedmerge
基本コマンド
YUVA出力の場合はffv1またはprores。
ffmpeg -i yuv -i gray -filter_complex alphamerge -c:v ffv1 output.mkv
ffmpeg -i yuv -i gray -filter_complex alphamerge -c:v prores -pix_fmt yuva444p10le logo.mov
ffmpeg – Convert Transparent PNGs to a Transparent Video – Stack Overflow
RGBA出力の場合はutvideoまたはffv1。
ffmpeg -i rgb -i gray -filter_complex alphamerge -c:v utvideo output.mkv
mergeplanes
フィルタを使う例。
ffmpeg -i yuv -i gray -filter_complex mergeplanes=0x00010210:yuva420p -c:v ffv1 output.mkv