YouTube Live 超低遅延モードがどれだけ超低遅延なのかをニンテンドークラシックミニ スーパーファミコンで試す


カイです。イカも一段落して今はマリオ待ちです。

リリースから1ヶ月ほど経ちますが、YouTube Liveが新たに「超低遅延モード」という機能を実装しました。これまで提供していた「低遅延モード」のさらに上位となる機能で、遅延が数秒程度まで短縮できるため、ライブ配信の視聴者とのコミュニケーションもとりやすくなるとしています。

機能の詳細はニュースサイトなどをご覧いただきつつ。

YouTubeライブ配信が「超低遅延」対応。iPhone簡単配信、チャット管理の新機能も – AV Watch
http://av.watch.impress.co.jp/docs/news/1079847.html

超低遅延モードがどれくらいの遅延なのか、Cerevoのライブ配信機器を活用して実際に試してみました。以下の動画は最近発売された「ニンテンドークラシック ミニ スーパーファミコン」の映像をLiveShell Xで配信し、そのライブを表示しているPCの映像とミニスーパーファミコンの映像をLiveWedgeで合成、さらに別のLiveShell Xで配信しています。

配信時の構成図をLiveShellシリーズのエンジニアが描いてくれたのでこちらもご参照ください。ミニスーパーファミコンのコネクタ部分が非常に細かい仕上がりになっています。

totalsystem

配信時は下記の通り、LiveWedgeのPinP機能を利用して2つの画面を並べています。大きい画面が「ニンテンドークラシック ミニ スーパーファミコンから直接出力した映像、右下の小さい画面がインターネット経由で配信されているYouTubeをPCで再生している映像です。ゲーム画面の邪魔にならないサイズにした結果右下の画面がかなり小さくなっていて、YouTubeのメニューが表示されていると画面に気がつかない可能性がありますのでご注意ください。

右下がYouTubeのストリーミング画面
右下がYouTubeのストリーミング画面

なお、動画に関してはNintendo Creators Programの関係上、個人のYouTubeアカウントを利用しています。また、動画はすでに上記プログラムに申請済みで、配信の許諾を得たものです。

まずは一番メインの「超低遅延モード」から。いずれの動画も電源オフの状態から電源を投入、メニュー画面を一通り見てから「スーパーマリオワールド」をプレイする、という流れになっています。

 

電源を入れてからの遅延は3秒程度と、公約通りのスピード。完全なるリアルタイムではありませんが、これくらいの遅延なら配信中に寄せられたコメントにその場で答えても大きなタイムラグはなさそうです。

続いて元々搭載されていた「低遅延モード」。

超低遅延モードと比べると遅延は大きいものの、それでも7秒程度の遅延で済んでいます。このくらいの遅延ならギリギリ許容範囲という人もいるかもしれません。

最後に遅延を設定しない通常モード。

こちらの遅延は顕著で、20秒以上の遅延が発生しました。あまりリアルタイムを気にしない配信であれば問題ありませんが、コメントやソーシャルの反応に対してフィードバックするタイプのライブ配信ではやや使いにくそうです。

ちなみにこの超低遅延モードについて、弊社エンジニアに簡単ながら説明してもらいました。

HLSの配信はこういう仕組みになっています。

サーバー側
1. 2秒間とか10秒間とかの短い動画ファイルを時間順に作って公開
2. 作った動画ファイルをプレイリストに追記して公開
3. 1と2の繰り返し

プレーヤー側
1. プレイリストを取得して動画ファイルのURLを知る
2. 再生したい時刻の動画ファイルを取得する
3. 取得した動画を再生する

だいたいこんな感じで、動画ファイルを作って、プレイリストに入れて、視聴者にダウンロードしてもらう。ダウンロードは本当に普通のダウンロードなので、回線が速いと2秒の動画も一瞬でダウンロードされてしまいます。なので2秒の動画が完成してからでなければ公開することはできません。2秒分の動画を完成させるには、RTMPでリアルタイムに流れてくる動画を2秒間溜めこむ必要があります。この溜めこむ処理がHLSの遅延です

というわけで、このYouTube Liveの超低遅延モードはGoogleの豊富なサーバー力をフル活用して各種解像度の映像を作りつつ、「HLSのセグメントを2秒にして次々に送り出す」という仕組みで実現されていると考えられます。1080/60pのフルHD動画でもこの超低遅延モードは利用できるので、ゲーム実況など画質やフレームが気になる映像の配信にも便利そうです。

なお、超低遅延モードは利用上の制限として、DVRやフルHDを超えるライブ配信(1440p、4K)での配信が利用できない排他仕様となっています。遅延にこだわる場合は超低遅延、DVRや高解像度配信も組み合わせたいときは多少遅延が大きい低遅延、遅延が一切気にならない配信なら通常、という使い分けがよいでしょう。