VRMとか4090とffmpegのエンコードの話

PC
この記事は約6分で読めます。

かわよ

MMDみたいなやつ

最近MMDみたいな動画を作ってます
(作っていると言うのか問題はあるけど)

VRMがあればVRM Live ViewerでMMDのような踊りをしてくれるのでものすごくお手軽にできます
(まぁモデル構造が違うので関節周りは微妙な結果になりますが、そこら辺は考えないとします)

VRM Live Viewerにはプリセット機能があるので一応すぐ読み出すことはできますが、その都度開くのもめんどいし、モデル構造によっては尻尾や髪の毛、スカートが変な方向に行ったりするので同じ物が見れるとは限りません

ということで良い感じにできたら録画をしてます

(カワヨ過ぎでしょ)

OBS

OBSのポータブル版を4K120Hz仕様にして、録画開始ボタンを押してすぐVRM Live Viwerを再生、終わったら録画停止な感じです

液晶が4K 144Hzなのでほぼ同じぐらいで撮りたかっただけっていう

録画設定は4090を搭載しているので適当に設定しています

エンコーダーNVENC AV1
レート制限CBR
ビットレート40000
プリセットP5 (Slow)
マルチパス2パス(1/4解像度)

高負荷系はソフトウェアエンコードはとても耐えられないのでハードウェアエンコードです

とりま良い感じに録画できれば良いやぐらいで設定しているので、もっと余裕のある設定はできると思います
(でもこれで満足してる)

4K解像度であるのと、MMDのようにカメラが結構動くのでビットレートは高め

ffmpeg

さて、録画してこのマシンで見る分には良いのですが、まだ扱いが悪いです

大体1曲数分ぐらいですがファイルサイズは1GBです

あと素のWindows環境ではAV1も再生できません(例えばVRChatの動画プレイヤー)

どの環境でも大体はH264は見れるので、H264と自分が見る用にAV1で再エンコードしています

現在 ffmpeg 6.0ではAV1のハードウェアエンコードに公式が対応しているので、全部入りバイナリをDLして動かすだけです
(CUDAとかは必要かも)

修正しながらやったのでいらないやつが多いかもしれませんが、FFMPEGのパスと保存先のディレクトリを指定してあげれば動くかも?
(←めんどいのでツール類をOneDriveに置いている人)

備忘録がてらFFMPEGのオプションをまとめとく

-hwaccel cuda
ハードウェアを使うか(-i前なのでデコード)cudaはNVIDIA
qsvはIntel
なぜか今回QSVは使えんかった
-i入力するファイルデコード設定とかはこれより前に指定
-vcodec h264_nvencエンコーダーのコーデック設定***_nvencはNVIDIA
***_qsvはIntel
-b:v 15MVBRで動画の平均ビットレート15Mは15000 Kbps
4KぐらいなのでこれだけどFHDなら5Mでも多いぐらい
足りないとがびがびになる
-maxrate 20M最大ビットレートこれ以下になるようになる
-bufsize 30Mバッファサイズ前フレーム+今のフレーム
つまり平均ビットレートx2ぐらい
-map_metadata -1
-map_chapters -1
メタデータやチャプターデータを消す元々無いが使わないので明示したかっただけ
-movflags +faststart
動画情報を先頭に持って行く動画サイズとかエンコード情報を動画の先頭に持ってくる(デフォは末尾)
Web用オプション、これがあれば動画をDLし終える前に再生開始できる
-pass nnパスエンコード目何パス目かを指定
2パスなら2回エンコする必要がある
-passlogfile

2passcheck
nパスエンコードの識別ファイル名残るのがじゃまだったので消すため、明示している
-an音声データなし2パスエンコードの1パス目は音声いらないため
-f null –ファイル名をnull、標準出力つまり出力しない
2パスエンコードの1パス目は動画ファイルにしなくていいので
-g 60キーフレーム数1秒あたりの数字
「-g 1にすれば良いぜ」的な記事を見たが、動かなかった
-hide_banner
バナー非表示バージョンとかビルドオプションを非表示にする
-stats
動画の情報表示入出力のエンコードとか

あとはエンコーダー固有の物がちらほら

H264_NVENCなら

-rc 1品質/VBR/CBRエンコードモード
-preset p5プリセットp5はslow(高品質)
-tune 2チューニング2は低遅延

H264_QSVなら

-async_depth 8
同時処理数?デフォ値は4
-preset 3
プリセットslow

エンコード結果とか

動画単体は大体が長くて4分だけどこんな感じ

オリジナル

曲名時間サイズ(MB)
疑心暗鬼0:02:51818.399
被害妄想携帯女子(笑)0:03:521110.13
シンデレラ(Giga First Night Remix)0:02:20671.904
FREELY TOMORROW0:04:001149.29
Nostalogic0:04:011150.90
フォニィ0:03:08900.535
どりーみんチュチュ0:03:591143.09

4K 120Hz AV1 2pass

曲名時間サイズ(MB)時間倍率サイズ倍率
疑心暗鬼0:08:44339.5393.070.41
被害妄想携帯女子(笑)0:11:51454.8803.060.41
シンデレラ(Giga First Night Remix)0:07:10262.2133.070.39
FREELY TOMORROW0:12:08473.6743.030.41
Nostalogic0:12:16463.3143.050.40
フォニィ0:09:41338.1053.090.38
どりーみんチュチュ0:12:08444.8083.050.39

FHD 120Hz AV1 2pass

曲名時間サイズ(MB)時間倍率サイズ倍率
疑心暗鬼0:08:46113.8643.080.14
被害妄想携帯女子(笑)0:10:07153.6112.620.14
シンデレラ(Giga First Night Remix)06:19.192.38772.710.14
FREELY TOMORROW11:03.9159.1602.770.14
Nostalogic11:21.1159.0482.830.14
フォニィ08:19.1124.8012.650.14
どりーみんチュチュ11:08.3159.7462.800.14

4K 120Hz H264 NVENC 2pass

曲名時間サイズ(MB)時間倍率サイズ倍率
疑心暗鬼0:07:04276.5812.480.34
被害妄想携帯女子(笑)0:09:37373.0902.490.34
シンデレラ(Giga First Night Remix)05:46.8223.0332.480.33
FREELY TOMORROW09:54.7388.8312.480.34
Nostalogic09:58.8385.9262.480.34
フォニィ09:30.8303.6013.040.34
どりーみんチュチュ10:00.8388.1262.510.34

大体エンコード時間は2パスなら3倍程度、サイズは4Kなら3,4割、FHDなら2割程度かな

コメント