Youtubeが6/27に60fpsへの近日対応を表明しました。でも未だに適用される気配は無いですね。そこで再生はされないけれど、4K画質/60fpsの高精細動画をMMDで作ってアップロードしてみました。
MMDで4K出力
MMDはVer9.10(64bit)を使用。
.pmmファイルを開いた後、出力サイズを“3840×2160”に設定。この解像度は高度なエンコード設定 – YouTube ヘルプに従っています。使用するディスプレイが4K対応でなくても問題ありません(自分も2560×1600なので足りてない)。
ただしこのままいつも通りにエンコードを開始したところ、数十フレーム出力した所で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スペックは下記の通り。
- CPU:AMD FX-8350:8コア(4 Piledriver Module),4.0GHz OCなし
- M/B:ASUS Sabertooth 990FX
- VGA:Palit GTX 670 (2048MB GDDR5) OCなし
- Memory:16GB
- 出力先HDD:WD5000AAKS
再エンコード
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」が選べる様になっていました。
統計情報を見ているとビットレートは90Mbps~10Mbps(average 32Mbps)の間を上下していました。フレームレートはやっぱり30fpsに固定されています。
ただ企業(有料?)アカウントではオフィシャルで60fps再生できる動画がアップされています。
統計情報を見ていると自分のPCではフルスクリーンでも40fps前後、ウィンドウ表示では30fpsまで落ちてしまい、60fpsでは表示ができていませんでした(残りのフレームはすべてドロップしている)。4k60fps再生にはYoutubeだけではなく自分の再生環境も対応を進めなくてはならないようです。
以上、今扱える最大解像度・最大量のデータを作成、Youtubeにアップするテストでした。
今のところは「誰が見ても最高画質」意外の意義はありません。そのうち一般人にも(サーバが整い次第)ぬるっと提供開始されたりするのでしょう。その時はまだ来ないかと日々この動画をチェックして楽しみにしている所です。