超会議、技術交流会のスライドを見て改めて考えるニコニコ再エンコのこと。

超会議、技術交流会のスライドを見て改めて考えるニコニコ再エンコのこと。

超会議の方で話したことらしいのですが、スライドがタイムラインに流れてきたのでまとめてみるのと、自分なりのコメントを添えてみようかなと。
スライドの閲覧は超クリエイターズLab.のタイムシフト2時間半ごろから。

なぜ再エンコードが必要になったのか

ここらへんは再三言われてきたことですが、「HTML5移行のため」「クロスプラットフォームにするため」です。
Flashがいよいよなくなるようになり、再生するときにつかうデコーダなどがよりブラウザや端末に依存するようになりました。そのためちゃんとしたエンコードをサーバー側でやってあげないと再生できないデバイスが多発します。

エンコードの基本


こちらも運営のスライドそのままなのですが、「元の動画のまま投稿すること」です。
変に設定をいじると、その部分を修正するために劣化が発生します。
エンコードは元ソースから何回もしない。中間エンコを挟まない。
エンコードをする際にはなるべく可逆圧縮。
色空間、解像度、カラーレンジ等々はなるべくいじらない。(アプコンはしない)
これが基本だと思っています。
エンコード屋というとめっちゃ変換しまくってるイメージですが、いかに変換しないか頑張っている人たちです。

映像について

ここからはスライドを見つつ、動画品質を上げるためにどうするかを考えていこうかと。
基本的に100MB貼り付きじゃなくていいのですが、Zenza等旧サーバーにアクセスできるクライアントがあるため旧形式でエンコードをしたほうがいいパターンを考える。
下に行くほどマニアックで普通の人にはいらなくなるであろう情報。

旧形式でエンコードしたほうがいいパターン

旧サーバーのメリットは、100MB以下なら投稿したものを無劣化で投げつけてくる点。
このメリットを活かして、「短時間 高ビットレート」の動画には非常に効果がある。
1080p60での分岐点は2分ぐらい(ちょうどデレステやミリシタのMV)だと思う。
また、音質のビットレート上限が192k以上になるためAAC320kで音質の良い音楽動画を作りたいときにもいいかと。
ただ、旧サーバーが廃止された後どうかと言われると、あとで書くFLACで投げつけるほうが将来的にはいいかなと思う。

旧形式の寿命について

放送内で少し触れられていたのでメモがてら書いておく。
そう遠くない未来になくなる予定らしい。
もともと、新配信サーバーに不具合が起きたときのバックアップの役目だったが、新配信サーバーも安定してきたためとのこと。

映像解像度について


ニコニコ側でエンコードに使われているのは1080p、720p、540p、480p、360pだと言われている。
変換しない原則で元ソースの解像度のまま編集を行い同じ解像度で出力するのがベスト。
720pでキャプチャしたものを1080pに上げたからといってキレイにはならない。
またそれを縮小して720pにしたものがキレイかというと元ソースのまま上げたものより汚くなってい。
ニコニコ側では1080pが上限です。4K以上のものは容量節約のために投稿用エンコード時にダウンコンバートしておきましょう。

コーデックについて

基本的なコーデック(MPEG2やらAVCやら)には対応しているっぽい。
一覧で対応コーデックでも書いてもらえればありがたいのですが、AVC以外は必要ないのかなと。
わからなければH.264/AVCで投稿しておけば良い。
H.265には確か非対応で弾かれるはず。

コンテナについて

運営的にはMP4コンテナを推奨っぽい。
試したところ、MKVコンテナにも対応しているようですがオプションが多すぎて弾かれることも多いのでわかっている人以外は非推奨で。

フレームレートについて


絶対に固定フレームレート(CFR)で。音ズレやコマ落ちなどが起こりやすくなる。
できればキャプチャ時もDropのないよう固定フレームレートで行うことを推奨。
1080iや480iでキャプチャした場合はインタレ解除も必須。
24fpsは非推奨とされているが、テレシネされたソース(アニメ、映画)は逆テレシネで24fps投稿を推奨。
それを編集した場合、60pや30pとの混合ソースでない場合も変換しない原則に沿い24fpsで投稿を推奨。
MMDやゲーム実況などであえて24にする必要は全く無い。
(余談)60fps以上はコマ数を落とされるようですが、ドロップフレーム(29.97とか59.94)に関しては調整が入らないので、キャプチャしたときのまま投稿を推奨。

ビットレートについて


とりあえず出せるだけ出しておけば大丈夫。
理想はQPエンコード20ぐらい。
これで上限を超えるようなら、3GBマックスまで2パスエンコードで。
最後にエンコード設定見本をつけておきます。

色空間、カラーレンジについて

公式推奨はBT.709 Limitedレンジ。
これは再エンコードをかけられた時意図しない色が出ることがあるため、これに沿った動画を作っておくといいと思う。
基本的にはこれに沿った出力を動画編集ソフト側が行っているはず。
Fullレンジ動画を100MB以下で作って投げておくと、旧サーバーにアクセスした時、PC上で伸長を行わないためちょっと発色がよくなるかな。

音声について

こちらはよりシビアで感覚的でわかりにくい話にはなるのですが、書いていきます。

コーデックについて


音声はAAC-LC推奨らしいです。ただ、個人的にはFLACに対応しているのでFLACで投げておきたい気はする。
FLACは可逆圧縮なのでサーバーエンコを行う際にデコードしたとき、無劣化でサーバー上で再現される。

ビットレートについて

運営のスライドでは192k推奨となっているが、これは高ければ高いほうがいい。
何故かと言うと、192kで投稿しようが320kで投稿しようが変換は行われるから。
ならば最初からサーバー側で一旦デコードしたときにキレイな音になってるほうが絶対に良い。
まあ一番は非可逆圧縮使う方法なんですけど。

カットオフとノーマライズについて

サーバー側ではこれらは一切行われていないらしい。
なので、マスタリングするときに配慮して聞きやすい音量まで引き上げておく必要がある。
こだわりたいときにはボカロPやら音声関係のエンジニアに相談してみよう。
カットオフはサーバー側では行われていないが、エンコーダーのオプションとして初期プリセットでついている場合がある。
この点はエンコーダーの設定を注意して見ておいたほうが良い。
まあ一番は非可逆(以下略)

サンプリング周波数について


運営は48kを推奨。
これはPCやスマホでは96や192など基本的に48の倍数で再生を行うため。
ハイレゾ音源も48の倍数なのでぶん投げても良いと思うけど、そもそも可逆圧縮の時点でハイレゾではないしちゃんと48kにリサンプリングした上で投稿を。
ただし、CD音源をメインに使う場合は変換しない原則に沿い44.1kでの投稿を推奨。
ニコニコ側では44.1kで投稿した場合、ニコニコ側でのリサンプリングは行われない。
PC上でのリサンプリングになるが、たとえばD/AコンバータにPCM出力するような変態がいた場合に44.1kネイティブで再生できるためリサンプリングしたものをアップロードするより綺麗に聞こえる。
整数倍でないリサンプリングを行うと、理論的には劣化する。

ニコニコ超会議の生放送を見て

ちょっと細々した部分に突っ込もうかなと。


地デジでは1920iは送れないは間違い。
画質を維持するためにほとんどの地上波局が自主的に1440iにしているだけで、サンテレビやKBS京都をはじめいくつかの局では1920×1080iで送出を行っている。

TS特有の誤り補正などを含めても同等の画質を実現できているかと言われればわからない部分もある。
個人的には1080p60のH.264エンコードのビットレートは10Mbps程度から視聴に耐えるものになるという考え。
その他にも今のテレビには強力な画質補正がついているため、PCやスマホで見る動画サイトと比べるのは少し違うと思う。

ニコニコの4K対応、H.265はまだ不要だと考えている。
放送内でもあったように、4Kに対応する回線がないこと、H.265をまともにデコードできるデコーダがないこと。
まともにっていうのは、CPUに負担をかけないHWデコーダが普及していないことなどがあげられる。
スマホは4K液晶じゃんって言われるけど、その4K液晶でFHD動画と4K動画の見分けがつきますか?って聞きたい。

公式のエンコードツールを作ってくれに対する回答に関してはそのとおりだよなあと。
なるべく「中間エンコを挟まない」ことが大事。

とりあえず、運営各位においては再エンコードのプリセットをもうちょっと良いものにしてほしい。
それだけです。

個人的にオススメなエンコード設定

まずはこの設定でエンコード。

3GBを超えるようならこの設定で。