yposiのブログ

Web開発日記

コーデックがAV1の透過つき.webmファイルの作成方法を募集します。

業務で「コーデックがAV1の透過つき.webmファイル」がほしいのですが作れませんでした。

透過なしの.webmだったら作れるのですが、透過していないんですよね。
metadataにalpha_mode 1でもたせるところまではできました。

ちょっとだけ知見を晒すと

ffmpegで使えるエンコーダー。AV1で絞り込むとこんな感じです。

ffmpeg -codecs | grep 'AV1'

・・・省略・・・

DEV.L. av1                  Alliance for Open Media AV1 (decoders: libdav1d libaom-av1 av1 ) (encoders: libaom-av1 librav1e )

手元で使えるのは、libaom-av1 と librav1e だけ。

この2択だったら、 librav1e が圧倒的に速いのでこっちを採用したい。

sampleはこちらに記載されているが一応貼る。

ffmpeg -i input -c:v librav1e -b:v 500K -rav1e-params speed=5:low_latency=true output.mp4

これをつけてalpha_mode 1 を付与することができた。

-metadata:s:v:0 alpha_mode='1'

だけど透過ありにする場合は、

-pix_fmtyuva420p

にしないといけないが、ピクセルフォーマットに対応していないということでyuv420pに強制されてしまう。

誰かわかる方がいればコメントいただけたら幸いです。