前置き
意味はないけど、配信のシーンチェンジをカスタマイズして、個性を出したい!という衝動で動画を作ったはいいものの…
参照 → 配信のシーンチェンジで個性を主張しようぜ!
動画、重すぎない?(音声無し、FHD、60FPS、120フレームの動画)
どうやらUt Video Codecなるものがあるらしい。
Aviの可逆圧縮コーデックで、RGBAに対応。
結果としては9割圧縮に成功。
…それでも大きいような。
というわけで透過情報を持たせることのできる動画についていろいろ調べると、WebMがあるとの情報。
AviUtlには透過情報を持ったWebMを直接出力できるプラグイン的なのが無かったっぽいので、他の方法を模索。
結果としては、連番bmpからffmpegを使って動画化しました。
気になる容量は…。

未圧縮に比べて0.004%…(計算ミスってそう)
かなりの軽量化に成功しました。
長々とした前置きはここまでにして具体的な方法を以下より示します。
連番bmpで出力
- プラグイン出力 → 拡張編集ABI/BMP出力(RGBA)

- 末尾に0埋めでフレーム番号つけてくれるっぽいのでそれを踏まえた名前にするといいかも
- Win10標準の画像ビューアで見ると、透過情報がなさそうなのですがクリスタを使うとしっかり透過されていました。

- (クリスタの設定を変更しているため透明色がちょっと見づらい)
ffmpegから出力
環境はWSL(Ubuntu)から
$ ffmpeg -r 60 -i hoge%04d.bmp -auto-alt-ref 0 fuga.webm
# オプション
# -r : フレームレート
# -i : データ (%04dは0埋め4桁の連番)
# -auto-alt-ref : よく知らんけど参考サイトにあった。alternate reference frames(2-pass only)。0=無効、1=有効
- VP8で出力するとなんか色が劣化するのでVP9で(つまりデフォルトでOK)
- 今回は使用ソフト(OBS)がVP9に対応していたためVP9で出力。
- VP8で出力したい場合は、オプションに
-c:v libvpxを足せばできるらしいです。
完成
わーい!
余談
- 音声をつけたいときは、AviUtlで音声をWAV出力して合わせればいいのかなぁ~なんて思っています。
- この方法を行った約1週間後、どうやらこの作業が不要になったらしい…?
https://twitter.com/Mr_Ojii/status/1439631180756779011
偉大なる参考記事
nakamura001 様
強火で進め - 透過付きの動画ファイル(WebM)の作成方法
