背景を透過した動画ファイルの考察

ブログ コンピュータ
ブログ

ゆっくりMovieMaker4(以降YMM4)で動画を作っていて、素材となる動画ファイルをAnimeEffectsで作成しています。AnimeEffectsはキーフレームアニメーションを作成するソフトウェアで、静止画を動画として動かすことが出来ます。

動画を書き出す方法としていくつか方法がありますが背景を透過してくれてYMM4で読み込めるフォーマットはAVIでコーディクが「Ut Video Codec」だけでした。(調べればもっと色々あるかもしれません。)こちらのフォーマットはアルファチャンネル扱えるだけでなく可逆圧縮方式のため、圧縮による劣化が無くYMM4用の中間素材として大変都合が良いフォーマットです。ただ難点なのは作成される動画ファイルが巨大である点です。クオリティのために仕方がないことではありますが、パソコンのストレージはいつも不足気味になります。

一定期間で1本の動画をしあげて次の動画を作成するような使い方であれば、動画のプロジェクトファイル群として作業スペースを確保し、動画完成とともにバックアップの上、作業スペースを解放することが出来ます。当方では同じ動画を少しずつバージョンアップするような使い方をしており、常時作業スペースを占有している状態になっております。

また、動画素材として考えた場合、ライブラリとしていつでも呼び出せる状態にしておきたいので、ストレージの容量は沢山欲しいところです。SSDも一頃と比べて大容量なモデルがそこそこの値段で入手することが出来るようになりましたが、データの増加量に対してSSDの増設が追い付かない状況になりました。

少し考えてみたところWebMという動画ファイルを使うと、背景を透過することが出来るようようなので試してみました。AnimeEffectsでWebM形式の動画ファイルの書き出しには成功しましたが、YMM4で読み込んだところ背景が透過されていませんでした。色々とオプションを試してみましたがいずれもNGでした。

透過のWebMファイルの書き出しに失敗しているのか、透過のWebMがYMM4に対応していないのか不明ですがいずれにしてもこの方法は使えませんでした。ファイルサイズはAVIファイルと比べて桁違いに小さくなるので、透過をしてくれれば即採用したいところです。

何か別な方法は無いかと考えてみたところYMM4のフィルターにクロマキーがあります。とある色を透明として扱う方法で、一般的に緑色の布を背景(グリーンバック)にすることで背景を差し替える方法になります。
試しに、透過させたい部分を緑色になるようにAnimeEffectsで動画を作成し、YMM4でクロマキーフィルターで緑色を透過するようにしたところ、疑似的ではありますが背景を透過することが出来ました。

問題点としては緑色とそれに近い色が透明になるため、そのような色を動画で使うことが出来ない点があります。そちらを上手く回避することが出来れば圧縮率の高い動画フォーマットで背景を透過させることが出来るので、既存のストレージ環境でも多量の動画素材が作成することが出来るようになりました。

そのまた昔、記憶メディアの容量が少なく、容量内にデータをいかにして収めるか試行錯誤していましたが、内臓ストレージがTBクラスが普通に入手できる令和の時代でも、容量不足で四苦八苦している自分に気づき、コンピュータは時代とともに進化しても、利用者である自分はたいして変化していないことに面白味を覚えました。

追記:20250520
連番のPNGファイルの出力する機能があります。PNGファイルは透過(アルファチャンネル)を保持した状態に出来ます。
その連番PNGファイルをffmpegでWebpに変換することで透過する動画ファイルを作ることが出来ます。
webpは静止画のフォーマットですが、アニメーションGIFの様な動画形式としても使えるようです。
また、PNGの様に可逆圧縮にも対応しますので、劣化することなく透過状態を維持した動画素材として使えることが確認できました。
ゆっくりムービーメーカー4のタイムラインに登録して動画を書き出した所透過状態が維持されることが確認できました。
fpsの設定など不明な部分も多く、変換も手間ですが、AVIファイルと比べてファイルサイズが同じか小さくなる感じですので、今後はこちらを試して行きたいと考えています。

追記:20250522
確認したらPNGの連番ファイルをそのまま読み込む機能がありました。webpは動作がが重いのでこちらを試したいと思います。

追記:20250523
AnimeEffectsでPNG連番で出力する機能があるので、出力したPNGファイルを、ゆっくりムービーメーカー4で読み込んでみたところ、きちんと背景が透過された動画になりました。タイムラインのプレビュー表示の反応もよく、トータルファイルサイズもaviファイルよりは小さいのでこちらの方法を採用したいと思います。

ただ、素材動画単位にフォルダと60fpsで2秒程度の動画で120枚ほどのpngファイルが作成されるなど、管理するファイルやフォルダが増えるのは好ましく無いですが、得られるメリット(レスポンス・ファイルサイズ)を考えるとトレードオフとして悪く無いと思います。

コメント