Akamai Diversity

Akamai Japan ブログ

低遅延ライブ動画配信の実現

近年さまざまな動画コンテンツがインターネット上でライブ配信されていますが、映像の時間が実際の時間より遅れていたり、誰かがSNSに投稿したコメントを見て、結果を先に知ってしまったりして、配信に遅延が発生していることを感じたことはありませんでしょうか?

今回はインターネットのライブ動画配信で遅延が起こる理由と、遅延を短くするためのアカマイの取り組みを紹介します。

どのくらいの遅延が発生している?

まずは現状のライブ配信の遅延についての一例を紹介します。

先日私がとあるサッカーの試合をスタジアムで観戦していたところ、自宅で同じ試合のインターネット中継を観戦していた友人からSNSのチャットメッセージが届き、右図のようなやりとりがありました。

会話の内容をご覧いただくとわかりますが、インターネット中継で観戦している方とお互いに時間を確認したところ、ほぼ1分の遅延が発生していたようです。

スポーツ観戦において1分の遅延は結構長い時間ですので、スタジアムでつぶやいた情報は、遅延時間よりも早く伝わってしまいます。中継を観ている方にとっては未来に起こってしまう情報がわかってしまうので、できるだけ知りたくないと思うでしょう。

私もこの点を意識して、こちらから先に情報を送らないよう気を使いましたが、遅延がある中でのコミュニケーションの難しさを実感した出来事でした。ちなみに、幸か不幸か、この試合は応援しているチームが1点も取れず敗れてしまいましたので、私からつぶやく機会はほとんどありませんでした・・・。

LineSS_edit.PNG

遅延はなぜ発生する?

このように遅延が発生しているのは、下図のように各種処理や転送に時間を要しており、そのオーバーヘッドが蓄積されているからなのですが、その中でも最も時間を要しているのはクライアントのプレイヤーが動画をバッファにためる時間です。HLSの場合、3セグメント分がクライアントに届くまで再生が開始されませんので、1セグメントあたり10秒で配信する場合、少なくとも30秒は遅延が発生することになります。

従来のライブ配信.png

ということは、シンプルに考えれば、「セグメントの時間をもっと短くすれば良いのでは?」というアイディアが浮かぶと思います。しかしながら、話はそう簡単ではなく、セグメントの時間を短くすると、クライアントの動画再生中にセグメントを届けるまでの処理が追いつかず、クライアントバッファが足りなくなり、読み込み(リバッファリング)が発生して再生が止まってしまうリスクが高まります。つまり、セグメントの時間を短くするためには、少ないバッファでも再生が途切れないような安定かつ高速な配信環境が必要不可欠になります。

アカマイのソリューションは?

アカマイのライブ動画配信プロダクトの最新バージョンMedia Services Live 4.0 (MSL4) は、セグメントの時間を2秒まで短くすることが可能になりました。

MSL4は短い時間のセグメントを高速に配信できるよう、エンコーダからアカマイサーバーへのストリーム送信にはUDPを利用したIngest Acceleration、アカマイサーバーからクライアントのプレイヤーへの動画配信もUDPを利用したMedia Accelerationという機能を採用しています。(ちなみに、Media Accelerationについては以前のBlog記事で詳しく紹介しています。)また、配信設定もAdaptive Media Deliveryの設定項目を利用できるようになり、お客様自身で配信設定を最適化できる範囲が格段に増えました。

低遅延ライブ配信.png

上図のようにセグメントの時間を2秒に縮めると、遅延は10秒程度にまで抑えることが可能になります。また、将来的にはセグメントの時間を縮める等さらなる最適化で遅延を5秒以下に抑えることも視野に入れています。(具体的なリリース時期は未定ですので、現時点では「ご期待ください!」というレベルです。ご了承ください・・・)

なお、MSL4をご利用いただくにあたっては、お客様にご用意いただくエンコーダも性能の高いものが必要となります。検証済みのエンコーダ製品につきましては徐々に増えておりますので、最新情報はAkamai CommunityサイトのQualified Encodersページをご参照ください。

最後に

低遅延のライブ動画配信は、配信元の現場と視聴者間におけるインタラクティブなコミュニケーションを実現する可能性を高めることができると思います。スポーツ中継に限らず、様々な用途で低遅延を活用した配信サービスをご検討いただけますと幸いです。

Leave a comment