ニコ動の新しい動画エンコード方式について その4

詳しい仕様についてのコメントありがとうございました。

新たにわかったのは、ニコ動の新しい動画エンコード方式はサーバー側でエンコードする際のビットレートが解像度によって一律ではなく、元のファイルのビットレートに近い値が採用されるという仕様があるらしいということ。選択される映像ビットレートは、nicowikiに非常にわかりやすくまとめられている

例えば、1280x720を15分未満で上げても、もとのファイルの映像ビットレートが1200kbpsぐらいだと720p 1200kbpsでエンコされ、もとのファイルの映像ビットレートが1000kbps以下だとなんと960x540にリサイズされたうえ1000kbpsでエンコされるのだそう。

…えええ…なんぞそれ…

同じビットレートなら同じ画質だとでも言わんばかりだけど…サーバー側のエンコードの仕様がアレなので、画質だいぶ落ちると思うのだけど…

などと、愚痴を言っていてもはじまらない。サーバーに高画質にエンコードさせるためには、アップロードするファイルの解像度と長さだけでなく、ビットレートも考慮しないといけないということになる。というわけでついかっとなってx264guiExを改造してしまった。実際うまくいくかは試せていないけど…
スポンサーサイト

ニコ動の新しい動画エンコード方式について その3

8/18から一部のユーザーに適用されたニコ動の新しい動画エンコード方式について、いろいろ調べてくださった方の検証結果をまとめてみたり、新方式対象者の方があげてくださった動画をもとに調べてきたが、

・必ずサーバー側でエンコードされる。
・動画の長さにより4段階にエンコードされる。
~15分  720p, 2Mbps
~30分  540p, 1Mbps
~60分  360p, 600kbps
それ以上 360p, 300kbps
・最大で60fps。
・音声は最大で192kbps、48kHzは44.1kHzに変換される。
・再エンコードされた動画はシーク性能重視・Main Profileという「枷」があり、高圧縮・高画質とは言えない

ことがわかってきた。

ニコ動の新しい動画エンコード方式について その1 (ビットレート分布調査)
ニコ動の新しい動画エンコード方式について その2 (サーバー側エンコード調査)

これにより

・これまで100MB以内だったら可能だったfullHDなども無理みたい
・「6分以下の短時間の動画」では従来よりビットレートが低下
・長時間動画には恩恵あり?

となる。

今回のニコ動の投稿仕様の更新によって、長時間の動画については改善されているが、一方でこれまでできていたfullHDで高画質みたいなこともできなくなり、MAD動画やMMD動画のような短時間で動きの多い動画ではこれまでより画質の残念な動画が増えていってしまうのではないかと思う。PC・携帯端末等の性能向上に伴い、動画も高解像度化・高画質化していくのが本来の姿だと思うのだが、とても残念だ。

そうはいっても変更されてしまったのは仕方ないので、これまでわかったことをもとに、この制限のなかでどうすればなるべく画質を維持できるかを考えてみた。新方式向けのエンコードのひとつの例として、x264guiExのニコ動の新方式向けプリセットを更新した。

x264guiEx 2.37v2

ついにニコ動の容量制限が緩和され、1.5GBに拡張されるらしい。ちなみにタイトルに反して、変更されるのはファイルサイズだけではないようだ。

プレミアム会員全員に一気に解放されるわけではなく、すこしづつ対象を広げていくみたい。それでも、これまでの100MB上限とか854x480/960x540推奨とかってなかなか残念な感じだったので、なかなかよい変更だと思う。さりげなく60fpsまでOKとなっているのもゲーム・CG関係ではうれしいかも。

問題は、「ご投稿いただいた動画は自動で複数の画質にエンコードされます」「変更後に投稿された動画に関しては、一般会員ユーザーでもお好きな位置から再生可能となります」というところで、常にサーバー側でエンコードしてしまうのだろうか…。このあたりなんできっちり書かないのかよくわからんのだけど、ちゃんと仕様を書いてほしいところ。これまでの画質を考えれば、サーバー側のエンコードはあまり信用できないので、なんらかの形でオリジナルを選択できるようになっていればうれしいのだが。

ひとまず、x264guiExにもそれ用の設定を適当に追加してみた。
[ ニコ動 プレミアム > ファイルサイズ上限緩和 ]

x264guiEx_2.37v2.png

要点としては、

・ベースは「ニコ動 プレミアム 短い動画(6分以下)」
上限確認付きcrf。

・上限 1500MBに。
1.5GBが、1500MBのことなのか1536MBのことなのかわからないけど、まあ、そんなの誤差みたいなもんなので、とりあえず小さいほうで上限をかけとく。

・crf値を少し引き下げ。
1500MBもあるなら、少し画質を上げても多くの場合大丈夫なはず。また、サーバーで再エンコードされる可能性があるなら画質は高いほうがいい。

・高画質版のエンコード設定をすこし軽く。
容量制限が緩和されれば、あんまり頑張って重い設定でエンコードする必要もないはず。

こんなとこでしょうか。まあ、常にサーバー側でエンコードされるのなら、もっと適当にエンコードしてしまえばいいので、もっと細かい情報が出たらまた更新しようかと。

ちなみにわたしのIDは 4551268(RC2) だそうなので、実験できるのは当分先なのかな…。(今回はID: 1400000まで)



ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。

x264guiExの導入>

x264guiEx 2.37

・チャプターをUTF-8に変換する際に、Unicode文字のcodepointでの記述も変換する機能を追加。
'U+xxxx'のように16進で指定します。ブロックは必ず 'U+ で始め、 ' で閉じてください。(シングルクウォートを使ってください。)

codepoint表はこのあたりとか?

書き方の例としては、こんな感じ。

温泉は'U+2668'です。
ハートには白黒'U+2661U+2665'があります。
トランプの絵柄は、'U+2661 U+2662 U+2664 U+2667'です。
1'U+339e'は1000m, 1mは100'U+339d'です。

実装はすこし面倒かなと思ったのだが、C++11でregexが標準装備された正規表現を使えばぜんぜん問題はなかった。どちらかというと問題は、最近自分のチャプター変換のコードを見ていなかったので、「そもそもチャプターってどこで変換してるんだったか」というところだった…。



ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。

x264guiExの導入>


x264guiEx 2.36

・--no-mixed-ref周りの動作があやしいのを修正。
※要iniファイル更新。
ご指摘いただいた問題を修正。

・そのほか動作があやしいのを修正。

簡易インストーラが動かないみたいなことをたまに聞きますが、うちでは(Nortonが原因の時以外は)何度やっても死なないので、原因はよくわかりません。普段の環境だと開発環境が入っている環境だから問題なく動くのかも…というのも考えて、あえてまっさらなWin7とかまっさらなWin8.1とかでやってもちゃんと動きました。

まあ、うちでもたまにあるのはNortonがせっかくダウンロードしたファイルを消して回るというやつですが、それはどうしようもないし、そもそもそんなに起こらないように思います。まあ、Nortonが原因ならインストールがうまくいかない原因は明確で、除外なりなんなりしてしまえばいいだけなので、「インストールがうまくいかない」みたいなことにはならないはずです。

また、たまにVC runtime 2015 再頒布パッケージのインストールは行われているようなのに"api-ms-win-xxx-xxxx.dll"がないというメッセージが出ているのをみかけますが、こちらも完全に謎です…。再頒布パッケージを入れれば必要なdllはインストールされるという認識なのですが…。

正直簡易インストーラはたいしたことをしてるわけではないし、そこで「はまる」人が出るよりは手動でやったほうが早い気がするので、簡易インストーラはもうやめたほうがよいのかもしれない…と思ったりもします。



ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。

x264guiExの導入>


x264guiEx 2.35v6

・簡易インストーラを更新。
VC2015 runtimeがインストールされていない環境で、正常に動作しない問題を修正。(VC runtimeをインストールする際に「サポートされていない16ビットのアプリケーション」うんぬんと出てしまう)

あわせてエラーメッセージの修正とUAC有効時の特権昇格の簡略化を行った。



ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。

x264guiExの導入>


x264guiEx 2.35v4

・簡易インストーラを更新。
dropboxの429Errorによりインストールできないのを解決する。



ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。

x264guiExの導入>


x264guiEx 2.35v2

・簡易インストーラでQuickTimeがダウンロードできなくなっていたのを修正。
ご指摘ありがとうございました。



ダウンロード>>
ダウンロード (ミラー) >>
Skydriveの調子がいまいちの時はミラー(dropbox)からどうぞ。同じものです。

x264guiExの導入>


x264guiEx 2.35

・色情報にBT.2020関係のものを追加。



ダウンロード>>
ダウンロード (ミラー) >>
Skydriveの調子がいまいちの時はミラー(dropbox)からどうぞ。同じものです。

x264guiExの導入>


x264guiEx 2.34

・VC++2015に移行。合わせて簡易インストーラを更新。
簡易インストーラでのアップデート時、インストールされていなければ、VC++2015 Runtimeが自動的にインストールされます。手動で更新する際には、VC++2015 Runtimeも手動でインストールしてください。

・音声タブでクリックすると音声実行ファイルを選択する画面を開いてしまうのを修正。
指摘いただいた問題を修正。



ダウンロード>>
ダウンロード (ミラー) >>
Skydriveの調子がいまいちの時はミラー(dropbox)からどうぞ。同じものです。

x264guiExの導入>


プロフィール

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先(@を半角にしてください!)
rigaya34589@live.jp

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutlプラグイン
x264guiEx 2.xx (ミラー)
- x264を使用したH264出力
- x264guiExの導入>

x265guiEx (ミラー)
- x265を使用したH.265/HEVC出力
- x265.exeはこちら>

QSVEnc + QSVEncC (ミラー)
- QuickSyncVideoによるH264出力
- QSVEncCはコマンドライン版
- QSVEncC 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC (ミラー)
- NVIDIAのNVEncによるH264出力
- NVEncCオプション一覧>

VCEEnc + VCEEncC (ミラー)
- AMDのVCEによるH.264出力

ffmpegOut (ミラー)
- ffmpeg/avconvを使用した出力

自動フィールドシフト (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: aji様

エッジレベル調整MT (ミラー)
- エッジレベル調整の並列化/高速化
- SSE2~AVX対応
- オリジナル: まじぽか太郎様

バンディング低減MT (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: まじぽか太郎様

PMD_MT (ミラー)
- SSE2~FMA3による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

○その他
x264afs (ミラー)
- x264のafs対応版

aui_indexer (ミラー使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter (ミラー)
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (ミラー, 使い方, ソース)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (ミラー使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定

○ビルドしたものとか
L-SMASH (ミラー)
x265 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR