Potewoのブログ

電子工作が好きな学生の書く技術系のブログです。

Macで透過HEVCに変換する方法

potewo.hatenablog.jp

前回、WebMに変換することでChromeFirefoxでは透過動画を再生することができるようになった。
ChromeFirefox用には単にffmpegを使うだけで済んだので良かったのですが、Safari用に変換しようとしたら午後が全部潰れたので同じようなことになる人がいないようにメモしておきます。 (Macが必要でした。)

Safariで使えそうな透過動画形式

とりあえず今の処、WebMは無理。
Apple ProRes 444はSafariドラッグアンドドロップしたら再生できたので使えるかもしれませんが、3秒程度の動画で175MBとかなり大きくなってしまったのでWeb用としては現実的ではないかもしれないです。
2019年にHEVC with alphaという形式ができたらしく、後々うまくいった後にファイルサイズを見たら同じ動画で6.1MBだったのでだいぶファイルが小さいです。画質は若干劣化してる気がします。
まぁ容量が小さくなったのとトレードオフなのかもしれません。

変換の仕方

Blenderで動画を書き出したときは、RGBAのPNGをmp4にしたファイル形式でした。
上の記事ではその動画をffmpegでWebMにすることができました。
HEVC with alphaにするためには、一旦ffmpegでProResに変換してから、Mac上でHEVCに変換することが必要でした。(他にいい方法があるはずだと思うのですがコレ以外の方法が見つかりませんでした。)

mp4(PNG) →ProRes

ffmpeg -i ~/blender/videos/input.mp4 -c:v prores_ks -pix_fmt yuva444p10 -profile:v 4 -b:v 400M out.mov

このようなコマンドで変換しました。 webmに変換したときは400Mbpsにしないと荒かったので同様にこちらも400Mbpsにしました。

blog.goo.ne.jp

こちらのサイトを参考にしました。

ProRes→HEVC with alpha

Macで作業していなかったらMacに上のProResのファイルを転送します。
Finderでそのファイル(が含まれるフォルダ)を開いたら、右クリック→「サービス」→「選択したビデオファイルをエンコード」と進みます。
その後若干待たされた後、書き出し用のポップアップが現れます。
そしてそこでHEVC 1080pを選び(HEVCでは1080pか2160pしか選べないみたいです)、「透明度を保持」にチェックを入れ、「続ける」ボタンを押します。
これで同じフォルダに新しい動画ファイルが作られているはずです。動画の長さや解像度によって時間がかかります。 (メニューバーに歯車マークが周っていてそれで進捗が見れます。)
内部ではavconverterというコマンドを使っているようなので、コマンドからやってもいいかもしれません。(疲れたので試してはいません)

参考

kitcross.net