Character Motion Studio
TRANSPARENT VIDEO / MP4 / WEBM / ALPHA

透過動画はなぜMP4で透明にならない?|WebM・PNG連番・GIFのアルファの違い

編集画面では背景が透明なのに、MP4へ書き出すと黒や単色の背景になる。これは背景透過が壊れたのではなく、最終形式がアルファを保持できないために起きる場合があります。透明度を持つフレームが、動画形式へ変換されるときに何が残り、何が失われるのかを分けて見ます。

公開:2026年10月5日テーマ:透過動画 / MP4 / WebM / Alpha現行Export実装に対応

先に結論:透明が消えるのは背景透過の失敗とは限らない

Character Motion Studioでは、編集中のフレームをRGBA画像としてレンダリングできます。PNG連番やWebMなら、その透明度を次の形式へ引き継げます。

一方、現行のMP4書き出しはH.264 / yuv420pです。この経路ではアルファ平面を持たないため、透明度を動画へ残せません。

WHERE ALPHA GOES 編集フレーム:RGBA\n ↓\nPNG連番:RGBAを保持\nWebM:Alphaを保持\nGIF:透明/不透明へ近似\nMP4:RGBへ合成してAlphaを破棄

つまり、「元フレームが透明か」と「最終ファイルが透明を保存できるか」は別の問題です。

透明動画に必要なのはRGBに加えてAlpha

通常の色はR・G・Bの3成分で表せます。そこへ「どの程度見えるか」を持たせるのがAlphaです。

情報役割
R / G / B画素の色
Alpha = 255完全に見える
Alpha = 128前後半透明
Alpha = 0完全に透明

キャラクターの輪郭には、完全透明と完全不透明だけでなく半透明の画素が多く含まれます。アンチエイリアスされた輪郭、ぼかし、影、薄いエフェクトなどです。

そのため「背景を消せるか」だけでなく、半透明のAlphaまで最終形式へ持ち越せるかが透過動画では重要になります。

現行MP4はH.264 / yuv420pなのでAlphaを持たない

Character Motion StudioのMP4書き出しは、FFmpegのlibx264を使い、ピクセル形式をyuv420pにしています。

この実装では、RGBAのAをそのままMP4へ入れるのではなく、動画化の前にRGBへ変換します。そのため、透明だった領域にも最終的には何らかの色が必要になります。

ここで重要なのは「MP4という拡張子」だけではない

動画ファイルはコンテナ、コーデック、ピクセル形式の組み合わせで性質が決まります。Character Motion Studioの現行MP4経路はH.264 / yuv420pで、Alphaを保持しない構成です。

したがって、「MP4にしたら透明が消えた」という症状だけで、背景除去やPNG素材が壊れたとは判断できません。書き出し形式側でAlphaを落としている可能性を先に確認します。

透明MP4が黒背景になる理由

Alphaを捨てるとき、透明画素をどのRGBへ変換するかを曖昧にすると、半透明エッジで色が不安定になりやすくなります。

Character Motion Studioでは、透明または半透明を含むフレームをMP4へ送る前に、RGBA画像を黒い不透明マットへ合成し、その結果をRGBへ変換してからエンコードします。

CURRENT MP4 PATH RGBAフレーム\n ↓\n黒 (0,0,0,255) のマットを作る\n ↓\nAlpha Composite\n ↓\nRGBへ変換\n ↓\nH.264 / yuv420p

このため、透明背景のままMP4を選ぶと、現行実装では黒背景として見えます。

白背景のMP4が欲しい場合

「白背景(透過)」は確認表示なので、MP4へ白を焼き込む設定ではありません。背景モードを「背景あり」にし、背景色を白へ設定してからMP4を書き出します。

WebMではVP9 / yuva420pでAlphaを保持する

現行のWebM経路はlibvpx-vp9とyuva420pを使用します。ここではピクセル形式にAlphaを含められるため、RGBAフレームの透明度を動画へ引き継げます。

キャラクターだけを透明背景で書き出し、Web上で別背景へ重ねる、あるいは透過を理解する別工程へ渡す場合は、現行の4形式ではWebMが「動画としてAlphaを保持する」選択肢です。

ただし、透明を保持できることと、すべての投稿先・編集アプリがそのファイルを受け付けることは別です。最終配信先がMP4を要求する場合は、透過WebMやPNG連番を中間素材として残し、最終工程で背景を合成してMP4へ変換する方が戻りやすくなります。

PNG連番は各フレームのAlphaをそのまま残す

PNG連番ZIPは動画コーデックへ変換せず、各レンダリングフレームをPNGとしてまとめます。元フレームが透明なら、そのAlphaをフレーム単位で維持できます。

そのため、透過品質を優先したい、あとで1コマずつ修正したい、別ソフト側で動画化したい場合に強い形式です。

一方でPNG連番は、単体で「一本の動画」として再生する形式ではありません。ファイル数も増えるため、完成配信用というより編集可能な中間素材として考えると役割が明確です。

連番素材のキャンバスや基準位置は「PNG連番の作り方|サイズ・透明余白・基準点を揃える」で整理しています。

GIFの透明は1bitで半透明とは別物

GIFも透明を扱えますが、PNGやWebMと同じAlphaではありません。現行Character Motion Studioでは、透明専用のパレットインデックスを1つ予約し、各画素を最終的に透明か不透明へ割り当てます。

半透明エッジを単純なしきい値だけで切ると輪郭が欠けやすいため、実装では固定の4×4ディザパターンを使って、8bit Alphaを空間的な透明/不透明の分布へ変換しています。

形式Alphaの扱い半透明エッジ
WebMAlphaを動画へ保持保持できる
PNG連番PNGのAlphaを保持保持できる
GIF1つの透明インデックスディザで近似
MP4現行経路では保持しない背景へ合成される

GIFで輪郭が少しザラついて見える場合、それは元の透過PNGが壊れているのではなく、最終形式の透明表現へ変換した結果である可能性があります。

白背景・黒背景(透過)は確認用の表示

Character Motion Studioには「透明」「白背景(透過)」「黒背景(透過)」「背景あり」の4つの背景モードがあります。

このうち白背景(透過)と黒背景(透過)は、輪郭の白フチ・黒フチ・細線を確認するためのプレビューです。レンダリング時は透明として扱われます。

モード画面での見え方実際の背景
透明市松模様透明
白背景(透過)白透明
黒背景(透過)黒透明
背景あり指定色指定色を合成

この仕組みがあるため、白で確認したから白背景として書き出される、という意味ではありません。

輪郭の白フチとAlphaについては「透過PNGの白フチ・位置ズレはなぜ起きる?」へ続けて確認できます。

透過を残すか、完成背景を焼き込むか

書き出しで迷ったら、最終用途を2つに分けます。

TWO EXPORT GOALS あとで背景を変える\n→ Alphaを残す\n→ WebM / PNG連番\n\nこの見た目で完成\n→ 背景を合成してよい\n→ MP4 / GIF など用途に合わせる

SNSへ投稿する完成映像なら、背景を決めてMP4へ焼き込む方が扱いやすい場面が多くあります。一方、同じキャラクターを複数背景へ使う、編集素材として配布する、別ソフトへ渡す場合はAlphaを保持した中間素材を残した方が再利用しやすくなります。

EXPORT WORKFLOW

完成動画と透過素材を同じものとして扱わない。

公開用のMP4と、再編集用のWebMまたはPNG連番を役割で分けると、背景を変えたくなったときに最初から作り直す必要が減ります。

症状から原因を切り分ける

症状まず確認すること考えられる原因
MP4だけ黒背景になる元フレームをPNG/WebMでも確認現行MP4経路でAlphaを黒マットへ合成
白背景(透過)なのにMP4が白くない背景モードが「背景あり」か白背景(透過)は表示だけ
WebMでは透明、MP4では不透明正常な形式差かを確認WebMはAlpha保持、MP4はAlphaなし
GIFだけ輪郭がザラつくPNG/WebMのエッジと比較1bit透明+ディザ近似
どの形式でも白フチが出る黒背景(透過)で素材自体を確認元PNGの半透明エッジRGBやマット色
PNG連番で位置が跳ねる全フレームのキャンバスと余白Alphaではなく座標条件の不一致

まとめ

透過動画で重要なのは、元画像が透明かどうかだけではありません。最終形式がAlphaを保持できるか、変換時にAlphaをどのように処理するかまで見る必要があります。

現行Character Motion Studioでは、WebMはVP9 / yuva420pでAlphaを保持し、PNG連番は各PNGのAlphaを残します。GIFは1bit透明へ近似し、MP4はH.264 / yuv420pへ変換する前に透明部分を黒マットへ合成します。

したがって、MP4で透明が消えたときは、背景透過の失敗と決めつけず、素材のAlpha・背景モード・書き出し形式の3段階を分けて確認すると原因を特定しやすくなります。

次に読む