新配信サーバーに所有アカウントが対応していたので仕様を確認しました。
従来のオンプレからAWSへ移行
これまでの配信はDMCというドワンゴが開発した(サイバー攻撃の影響をモロに受けた)オンプレ(自前でサーバーを用意する環境)で動いていました。
Dwango Media Clusterについて
サイバー攻撃以後、ニコニコはシステム全体をAWSに移行すると説明していましたが、生放送の配信基盤のみ従来のもの(DMC)を使用していました。
今回の移行により配信基盤もAWSに置き換え、オンプレ運用を辞める狙いがあると考えられます。

従来との変更部分
AWSに完全に移行
新配信サーバーでは配信キーごと変更されており、URLは「rtmp://liveorigin.dlive.nicovideo.jp/live/input」に変更されています。
ストリームキーも変更されているので注意しましょう。

このドメインを調べるとAWSの東京リージョンだと分かります。
生放送は低遅延で行う必要があるため、配信者との距離が物理的に近い日本に設定しているのだと推測しています。

配信の詳細
CMAFを使用
ニコニコ生放送はHLSを使用して配信しており、これまでは「.ts」や「fmp4」を使ってました。
新配信サーバーでは音声と映像をそれぞれ受信し、より低遅延を実現できるCMAFと呼ばれるフォーマットになっています。
CMAFについて

これはニコニコ動画でも同じ仕様なので、意図的に合わせていると考えれます。
データが届くまでの流れ
視聴ページを開くとhttps://livedelivery.dlive.nicovideo.jp/から「variant.m3u8」というプレイリストが送られます。
ドメインを調べるとAWSを使用していること、従来と異なりipv6に対応していることが分かります。

話を戻し、先ほど受信したvariant.m3u8には以下の情報が入っています。
(※視聴画質を自動にしている場合)
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-INDEPENDENT-SEGMENTS
# オーディオストリーム
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-192Kbps",NAME="Main Audio",DEFAULT=YES,URI="(URL省略)"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-96Kbps",NAME="Main Audio",DEFAULT=YES,URI="(URL省略)"
# ビデオストリーム
# 720p, 3Mbps
#EXT-X-STREAM-INF:BANDWIDTH=3280800,AVERAGE-BANDWIDTH=3000000,RESOLUTION=1280x720,FRAME-RATE=30.000,AUDIO="audio-192Kbps"
(URL省略)
# 450p, 2Mbps
#EXT-X-STREAM-INF:BANDWIDTH=2180800,AVERAGE-BANDWIDTH=2000000,RESOLUTION=800x450,FRAME-RATE=30.000,AUDIO="audio-192Kbps"
(URL省略)
# 450p, 1Mbps
#EXT-X-STREAM-INF:BANDWIDTH=1080800,AVERAGE-BANDWIDTH=1000000,RESOLUTION=800x450,FRAME-RATE=30.000,AUDIO="audio-192Kbps"
(URL省略)
# 288p, 384Kbps
#EXT-X-STREAM-INF:BANDWIDTH=412800,AVERAGE-BANDWIDTH=384000,RESOLUTION=512x288,FRAME-RATE=30.000,AUDIO="audio-96Kbps"
(URL省略)
# 288p, 192Kbps
#EXT-X-STREAM-INF:BANDWIDTH=201600,AVERAGE-BANDWIDTH=192000,RESOLUTION=512x288,FRAME-RATE=30.000,AUDIO="audio-96Kbps"
(URL省略)
この中から視聴者の環境(回線速度、スペック、アカウントの種類)によって視聴する画質と音質が決まります。
種類が決まると、それぞれの音声と映像を受信する為のプレイリストが送られてきます。
この場合は「main-video-384~」が映像、「main-audio-96~」が音声になります。

その後、映像と音声を交互に受信していきます。

先ほど説明したcmafが使用されており、.cmfvが映像 .cmfaが音声です。
また、視聴環境は時間と共に変わるので、安定していると画質や音質が上がります。
上記の画像だと音質を96kbpsから192kbpsに上げるために再度プレイリストを習得していることが分かります。
タイムシフトの場合
タイムシフトも上記と同じシステムですが、放送終了後に変換されるのか配信されるサーバーが違います。
ライブの場合はhttps://livedelivery.dlive.nicovideo.jp/から配信されますが、タイムシフトはhttps://assetdelivery.dlive.nicovideo.jpに変更されます。

この配信は現在のニコニコ動画の方式に近く、シークが早くなるなどのメリットがあるそうです。
メディアの暗号化
これはニコニコ動画でも同様でしたが、これまでとは違いAESを用いた暗号化が為されています。
このため、従来のダウンロードツールなどは制作者が対応しないと使えなくなるので注意が必要です。
今後どうなるか
新配信サーバーに切り替わると何が変わるのか、先行して変更されたニコニコ動画を参考に考えます。
全放送の1080p対応
実は現在もチャンネル生放送は1080pに対応しているのですが、これがユーザー生放送まで広がると考えています。
これはAWSに切り替わることにより、従来のような機材更新が必要なく金さえ払えば何とかなるからです。
また、720pまでの配信は時代遅れの側面が強く、1080p対応への要望もかなり上がっていると考えれられます。
間違いなく検討はしているでしょう。
エコノミーモードの大幅緩和・廃止
これはニコニコ動画でも同様の変更が行われましたが、エコノミーモードを廃止する代わりに1080pがプレミア限定になりました。
ニコニコ生放送も同じように720pまでは誰でも、1080pはプレミアのみ、という感じになると予想しています。
追い出しの撤廃
従来の追い出しは限られた帯域(オンプレ)でやりくりする必要があった為、導入されていました。
移行により、金さえ払えば割となんとかなるようになったので、追い出しに従来ほどの必要性がなくなります。
追い出しシステム自体が既に時代遅れの産物であることを考慮しても、無くなる可能性が高いと思います。
ただ、公式配信はプレミア特典との兼ね合いで意図的に残すかもしれません。
終わりに
2月からユーザー生放送が、3月から公式、チャンネル放送が新配信サーバーに移行を開始しました。
この調子なら4月には全放送移行終わっているのではないかと思います。
ツール開発者や放送者は対応しなければいけないので大変だと思いますが、従来よりは間違いなく良くなると思うので期待しながら待ちましょう。
それでは!
コメント