![見出し画像](https://assets.st-note.com/production/uploads/images/104032673/rectangle_large_type_2_0f6ff285247e9269b23d4c79af9f2496.png?width=1200)
黒背景の動画素材を半透明な背景透過素材に変える方法
イントロダクション
After Effects、photoshopなどのような大抵の画像、動画編集ソフトにはレイヤーに「合成モード」というものが存在する。通常、乗算、オーバーレイ、etc…といろいろあるね。この合成モードをいじることでいろいろな表現ができる。
![](https://assets.st-note.com/img/1682418022116-DAI5beMQni.png)
その合成モードの応用でなかなか使用頻度の高いモードはいくつかあるけど、その中でもかなり頻度が高いのは、黒背景の動画素材の背景を透明にして、かつ素材の透明度も表現できる加算モードだと思う。
![](https://assets.st-note.com/img/1682418418553-VYInwT4f0v.png?width=1200)
左上と右下のフレアは、下の画像みたいな黒背景の素材を合成モードを加算に変えて使っている。こうすれば画像の透明度も生かせられるし、黒背景を透明にできる。
![](https://assets.st-note.com/img/1682418644186-qObLEkEtOi.png)
このように合成モードは表現の幅が大きく広がるすごく便利な機能なんだけど、これがないソフトもたまにある。例えばScratchとか、JavascriptのCanvasとか。
こういうソフトに高度な編集を求めるのは間違いだとは思うけど、やっぱり黒背景の透過みたいな機能は欲しい。ということで、この記事では黒背景の動画素材を透過素材に変える方法を紹介するよ。
![](https://assets.st-note.com/production/uploads/images/103927766/picture_pc_0d123120fdc2e6af9d17e5a7d9d57850.gif?width=1200)
必要なソフト等
OS - Windows 11
AviUtl 1.10(拡張編集)
Ut Video Codec Suite (Aviutlでのレンダリング用、なくてもいいけどあったほうがいい)
FFmpeg(Windows)
無料ソフトでできるようにしてある。インストール方法は割愛。それと透過した動画は、実際には動画ではなく、PNG画像の連番という形になるよ。
手順
1. 動画をAviUtlにインポート
Rootではなく、シーンにインポートね。あと単色化のエフェクトもつけておこう。後で必要になる。
![](https://assets.st-note.com/img/1682421042378-o5Kbdxtk9Y.png?width=1200)
![](https://assets.st-note.com/img/1682435335808-xKT98Hu4Cg.png?width=1200)
そしたらRootに戻って、図形を追加して、下の図形のオプションから背景を選ぶ。
![](https://assets.st-note.com/img/1682421145329-Fsa2QJJPHl.png)
次に、この背景にマスクを追加!そしてマスクの種類を(シーンから選択)に変更して、さっき素材をインポートしたシーンを選択すればいい。サイズは動画の解像度に合わせて。
![](https://assets.st-note.com/img/1682421212173-cXPG7eamTx.png?width=1200)
一見何も変わってないように見えるけど変わっている。試しにこの背景の下に図形を置いてみると違いが分かる。単純な黒背景の素材ではなく、透明度が追加されている。
![](https://assets.st-note.com/img/1682421454403-xv1d41Rp20.png)
やさしいAviUtlなどを読んだらわかると思うが、マスク機能は単純に表示する、隠すの二つではない。明るさを変えることでどれぐらい隠すかの制御ができる。黒は完全に不透明のまま、グレーは半透明、白は透明。詳しいことはググるか下の記事でも見て。
AviUtl、マスクの使い方 – FLAPPER (seguimiii.com)
背景にマスク機能を追加しているだけあって、背景の色を変えたらちゃんと色が変わる。
![](https://assets.st-note.com/img/1682435270484-PkbDjMdejo.png?width=1200)
元動画で色調補正なりなんなりすれば透明度の調整ができる。
![](https://assets.st-note.com/img/1682435438090-2rCMXAcRIP.png?width=1200)
2. エクスポート
そのままエクスポートしても、普通に出力したらせっかく作った透明度の情報が消えてしまう。だからいつもとは違う方法を使わないといけない。ちゃんと透明度を記録する形式でエクスポートしないとね。
ファイル→プラグイン出力→拡張編集AVI/BMP出力(RGBA)。RGBAはRed,Green,Blue,Alphaの略。Alphaはこの透明度のこと。そしたらダイアログが出てくると思うから、そのダイアログにある"ビデオ圧縮"を選択そうするとこんなダイアログが出てくると思うから、Utvideo RGBA VCMを選ぼう。
![](https://assets.st-note.com/img/1682446221478-NbaDmj13WX.png)
そしたら保存を押して出力しよう。ファイルの種類はAviにしておこう。
ダメじゃないか!!!!!
早速レンダリング結果を見てみよう!でも、Media playerはこんなエラーを吐いた。
![](https://assets.st-note.com/img/1682446414218-IWYX2UL79M.png)
うん。Windowsのメディアプレイヤーは透明度を読み込むことが出来ない。でも大丈夫。ちゃんとファイルには透明度が記録されている。試しにAviutlにこれを読み込んでアルファチャンネルを読み込むにチェックを入れると、ちゃんと読み込んでくれる。AviUtlだけではない。FFplayのようなアルファチャンネル対応のメディアプレイヤーを使えばちゃんと記録されている。
試しに下のコードをコマンドプロンプトで実行してみな。
cd <ディレクトリ>
ffplay ファイル名.avi
3. 読み込みやすい形にしよう
FFplayとかで読み込めるのはわかった。でも透明度をしっかり読み込めるメディアプレイヤーは少数。もともと合成モードがないような機能が充実していないソフト上で使えるようにするためにやってるんだから扱いやすい形に変えないと意味がない。ここで使うのはPng形式。Pngは、透明度を扱うことのできる効率の良い画像形式として有名。PNG形式に変えてしまったら動画じゃなくなってしまうけど、パラパラ漫画のように表示していけばいい。
ここで使うのがFFmpeg。このコマンドを実行しよう。大量にファイルが作成されるから、専用のフォルダを作っておこう。
cd <ディレクトリ>
ffmpeg -i ファイル名.avi shockwave_%03d.png
![](https://assets.st-note.com/img/1682519141544-b7u9VeyXZF.png?width=1200)
これならどんなソフトでも簡単に読み込めるね。
この記事が気に入ったらサポートをしてみませんか?