自分で作る4K動画。MMDのムービーをYouTubeに投稿するテスト

自分で作る4K動画。MMDのムービーをYouTubeに投稿するテスト

Youtubeが6/27に60fpsへの近日対応を表明しました。でも未だに適用される気配は無いですね。そこで再生はされないけれど、4K画質/60fpsの高精細動画をMMDで作ってアップロードしてみました。

MMDで4K出力

MMDはVer9.10(64bit)を使用。

.pmmファイルを開いた後、出力サイズを“3840×2160”に設定。この解像度は高度なエンコード設定 – YouTube ヘルプに従っています。使用するディスプレイが4K対応でなくても問題ありません(自分も2560×1600なので足りてない)

「AVIファイルに出力」の設定は以下のとおり。 20130830-01

ただしこのままいつも通りにエンコードを開始したところ、数十フレーム出力した所でMMDがフリーズ。重そうなエフェクトなどを外してみても効果なし。結果的に、GeForceの3D設定を大分軽量化することで最後まで出力する事ができました。

成功時3D設定

項目パラメータ
グラフィックカードPalit GTX 670 (2048MB GDDR5)
アンチエイリアシング-設定2x
アンチエイリアシング-ガンマ修正OFF
テクスチャフィルタリング-トリリニア最適化ON
テクスチャフィルタリング-異方性サンプル最適化OFF
トリプルバッファリングOFF
垂直同期OFF
異方性フィルタリング4x

ただ、これでも確実に出力できる訳ではなく、画面描画に負荷がかかり止まる事もあります。試した限りでは、まず出力画面が出たらすぐにウィンドウをドラッグして画面の外(デスクトップの表示領域外)に持っていく事。これと合わせてパワーマネジメントとスクリーンセーバーをOFFにする事で最後まで出力する事ができました。

出来上がったファイルは以下の形式になりました。

項目
再生時間3:36
エンコーダUtvideo YUV422
ファイルサイズ33.1GB
解像度3840×2160
ビットレート1255Mbps
フレームレート60fps

MMDの出力(レンダリング)には6時間くらいかかった様です。
今回のPCスペックは下記の通り。

再エンコード

33.1GBではYouTubeにアップができない為、AviUtl+拡張x264出力Exプラグイン(rigayaの日記兼メモ帳)を使ってH.264コーデックに再エンコードします。

設定はほとんどがデフォルトで調整したのは

  • 出力モード:上限確認付き 品質基準VBR(可変レート)
  • 上限ファイルビットレート:45000kbps
  • 品質:5
  • プリセット[速度]:veryslow
  • プリセット[プロファイル]:high10

あたり。この時のエンコードログが以下。

------------------------------------------------------------------------------------------------------------------------------
[E:\AAA.mp4] (1 / 2 pass)
------------------------------------------------------------------------------------------------------------------------------
auo [warning]: 目標ビットレートを 44774 kbpsに設定します。
auo [info]: converting YUY2 -> nv12p, using SSE2 AVX
auo [info]: x264 version: 0.142.2431kMod ac76440 --bit-depth=8 --chroma-format=all
auo [info]: x264 options...
 --preset veryslow --tune ssim --profile high10 --bitrate 44774 --pass 1 --stats
"E:\AAA.stats" --rc-lookahead 40 --aq-mode 1 --psy-rd 1:0 --bframes 3
--b-adapt 1 --partitions p8x8,b8x8,i8x8,i4x4 --me hex --subme 7 --merange 16 --direct spatial --ref 3 --trellis 1 --frames
13002 --input-res 3840x2160 --input-csp nv12 --fps 2000000/33333 -o "nul" "-"
raw [info]: 3840x2160p 0:0 @ 2000000/33333 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA4 FMA3 LZCNT BMI1
x264 [info]: profile Main, level 5.2
x264 [info]: cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0 me=dia subme=2 psy=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=0
             8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=12 lookahead_threads=4 sliced_threads=0
             nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 fgo=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0
             direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40
             rc=abr mbtree=1 bitrate=44774 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
             frames     fps     kb/s    elapsed   remain     size    est.size

x264 [info]: frame I:94    Avg QP:12.16  size:396035
x264 [info]: frame P:5987  Avg QP:15.17  size:126956
x264 [info]: frame B:6921  Avg QP:18.37  size: 59684
x264 [info]: consecutive B-frames: 18.4% 29.1%  8.4% 44.1%
x264 [info]: mb I  I16..4: 44.0%  0.0% 56.0%
x264 [info]: mb P  I16..4: 18.6%  0.0%  0.0%  P16..4: 37.0%  0.0%  0.0%  0.0%  0.0%    skip:44.4%
x264 [info]: mb B  I16..4:  3.0%  0.0%  0.0%  B16..8: 21.7%  0.0%  0.0%  direct: 5.8%  skip:69.5%  L0:38.3% L1:43.2% BI:18.5%
x264 [info]: final ratefactor: 14.46
x264 [info]: coded y,uvDC,uvAC intra: 30.1% 48.2% 16.2% inter: 9.0% 10.8% 1.3%
x264 [info]: i16 v,h,dc,p: 37% 28% 17% 19%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 25% 13%  7%  9%  6%  6%  5%  4%
x264 [info]: i8c dc,h,v,p: 53% 18% 19%  9%
x264 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x264 [info]: kb/s:44684.75

encoded 13002 frames, 10.18 fps, 44684.75 kb/s, duration 0:21:17.69
auo [info]: x264エンコード時間 : 0時間21分18.3秒


------------------------------------------------------------------------------------------------------------------------------
[E:\AAA.mp4] (2 / 2 pass)
------------------------------------------------------------------------------------------------------------------------------
auo [info]: converting YUY2 -> nv12p, using SSE2 AVX
auo [info]: x264 version: 0.142.2431kMod ac76440 --bit-depth=8 --chroma-format=all
auo [info]: x264 options...
 --preset veryslow --tune ssim --profile high10 --bitrate 44774 --pass 3 --stats
"E:\AAA.stats" --rc-lookahead 40 --aq-mode 1 --psy-rd 1:0 --bframes 3
--b-adapt 1 --partitions p8x8,b8x8,i8x8,i4x4 --me hex --subme 7 --merange 16 --direct spatial --ref 3 --trellis 1 --frames
13002 --input-res 3840x2160 --input-csp nv12 --fps 2000000/33333 -o
"E:\AAA.mp4" "-"
raw [info]: 3840x2160p 0:0 @ 2000000/33333 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA4 FMA3 LZCNT BMI1
x264 [info]: profile High, level 5.2
x264 [info]: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=1
             8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=12 lookahead_threads=2 sliced_threads=0
             nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 fgo=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0
             direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40
             rc=2pass mbtree=1 bitrate=44774 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 cplxblur=20.0 qblur=0.5
             ip_ratio=1.40 aq=1:1.00
             frames     fps     kb/s    elapsed   remain     size    est.size

x264 [info]: frame I:94    Avg QP:11.91  size:370587
x264 [info]: frame P:5987  Avg QP:14.77  size:125065
x264 [info]: frame B:6921  Avg QP:17.97  size: 62326
x264 [info]: consecutive B-frames: 18.4% 29.1%  8.4% 44.1%
x264 [info]: mb I  I16..4: 20.2% 49.8% 30.0%
x264 [info]: mb P  I16..4:  7.6% 13.3%  2.9%  P16..4: 27.1%  8.6%  2.2%  0.0%  0.0%    skip:38.3%
x264 [info]: mb B  I16..4:  1.2%  2.3%  0.7%  B16..8: 25.3%  5.2%  0.9%  direct: 1.2%  skip:63.2%  L0:43.2% L1:50.0% BI: 6.8%
x264 [info]: 8x8 transform intra:55.2% inter:78.9%
x264 [info]: coded y,uvDC,uvAC intra: 46.1% 57.4% 19.8% inter: 8.7% 7.4% 0.9%
x264 [info]: i16 v,h,dc,p: 18% 19%  8% 55%
x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 19% 16%  6%  8%  8%  8%  7%  6%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 19% 16%  6% 10%  8%  7%  5%  4%
x264 [info]: i8c dc,h,v,p: 47% 18% 20% 15%
x264 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x264 [info]: ref P L0: 74.0%  4.8% 15.0%  6.2%  0.0%
x264 [info]: ref B L0: 90.9%  7.7%  1.4%
x264 [info]: ref B L1: 97.2%  2.8%
x264 [info]: kb/s:44853.49

encoded 13002 frames, 6.17 fps, 44853.52 kb/s, duration 0:35:07.77
auo [info]: x264エンコード時間 : 0時間35分 9.0秒
auo [info]: L-SMASH remuxer でmuxを行います。映像: on, 音声: on, tc:off, chap:off, 拡張モード:なし
auo [info]: 出力ファイルサイズ 1161.92 MB, ファイルビットレート 44979.09 kbps
auo [info]: 指定された上限を下回っていることを確認しました。
auo [info]: 総エンコード時間   : 1時間11分40.9秒

2014年X月X日 17時05分 エンコード終了
-------------------------------------------------------------------------------------

ビットレートを45000kbpsにしたのは解像度と同じく、Youtubeのファイル形式ガイドラインの上限に合わせた結果。
こうして出来上がったデータは

項目
再生時間3:36
エンコーダAviUtl x264 プラグイン
ファイルサイズ1.18GB
解像度3840×2160
ビットレート44900kbps
フレームレート60fps

となりました。

Youtubeへアップロード

あとは普通にアップしただけです。今は1.2GBのファイルでも1時間かからずにアップできるとは・・・

埋め込みでは高解像度出力できないのでYoutubeのページに飛んで御覧ください。
ちゃんと右下のギアマークから「2160p4K」が選べる様になっていました。

20130830-02統計情報を見ているとビットレートは90Mbps~10Mbps(average 32Mbps)の間を上下していました。フレームレートはやっぱり30fpsに固定されています。

ただ企業(有料?)アカウントではオフィシャルで60fps再生できる動画がアップされています。

統計情報を見ていると自分のPCではフルスクリーンでも40fps前後、ウィンドウ表示では30fpsまで落ちてしまい、60fpsでは表示ができていませんでした(残りのフレームはすべてドロップしている)。4k60fps再生にはYoutubeだけではなく自分の再生環境も対応を進めなくてはならないようです。

以上、今扱える最大解像度・最大量のデータを作成、Youtubeにアップするテストでした。
今のところは「誰が見ても最高画質」意外の意義はありません。そのうち一般人にも(サーバが整い次第)ぬるっと提供開始されたりするのでしょう。その時はまだ来ないかと日々この動画をチェックして楽しみにしている所です。

コメントを残す