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

公式ドキュメント:FFmpeg Filters Documentation : alphamerge

コメントを残す

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

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