ライブストリーミングを改善するための7つのヒント
物事が上手く進んでいるときは誰も気付かないものですが、問題が生じると人々の注目が集まります。これはライブ配信に関して特に当てはまります。ストリーミングの中断、ジッタ、認証問題などはライブストリーミング配信で発生する悪夢のような出来事です。
Fastly ではローカルニュースから非常に大きなスポーツイベントまで、さまざまな世界をリードする放送局やコンテンツ所有者によるライブイベントの配信をサポートしています。そしてこの活動を通じていくつかの学びを得ました。ここでは、ライブストリーミング配信成功のための7つのコツを紹介します。
可観測性の強化
リアルタイムの可観測性は、何か起きた場合の対応に不可欠です。ネットワークトラフィックを可視化し、ストリーミングで成功する可能性を最大限高めるためには、CDN を始めとするベンダーと連携し、スタック全体でログファイルにすぐアクセスできるようにします。ライブストリーミングにおいてやり直しは効きません。できる限り迅速に問題に対応し解決するため、重要な指標をリアルタイムで確認できるようにする必要があります。
また、可観測性のもう1つの重要要素はノイズの排除です。豊富なデータがあるので、どのようなデータを見てどう行動をしたいのかを事前に決定する必要があります。異なるデータポイントは異なる種類のインサイトに繋がります。経験を積むにつれて優先する指標の判断が簡単になりますが、それまでは違いを説明できるベンダーと連携することをお勧めします。たとえば、皆さんにとって重視すべきポイントは、最初の1バイトが到着するまでの時間 (TTFB)、再バッファイベント、エラー数、そしてレイテンシのどれですか?重視するポイントを明確にした後は、ある値に達し たら通知を受け取れるよう簡単にしきい値を設定することができます。リスクの高い業務上重要なイベントに関しては、サードパーティーを利用してストリーム全体の問題を監視するサポートをしてもらうことをお勧めします。
単一障害点の排除
ライブストリーミング配信において強化は何ら目新しいことではありませんし、機器の故障も機器が開発されてからずっと存在しているものです。ライブストリーミングの場合、冗長性が成功のカギになります複数の CDN を組み合せてマルチ CDN アーキテクチャを構築することで、より大規模で強力かつさらに回復力のあるネットワーク経由で視聴者にコンテンツを配信しながら、停止による影響を最小限に抑えることができます。
簡単に切り換えられるバックアップネットワークがあるだけでなく、この方法ではトラフィックを複数の CDN に分散し、混み合っているポイント周辺のトラフィックを再ルーティングすることができます。ただし、覚えておかなければならないのは、配信はライブ放送の一部分にすぎないということです。単一障害点の排除は、エンコーダーを介したデバイスの読み取りからプレイヤーへと拡張し、包括的な計画には、できる限り近い場所に冗長性が組み込まれている必要があります。オリジンも例外ではありません。ストリーミングサーバーの構築において、コンテンツ所有者はキャプチャしたストリームを2つ以上のオリジンサーバーへ送信するよう選択することができます。このセットアップを利用すると、一方のサーバーに過剰な負荷がかかった場合やハードウェア障害が発生した場合に、もう一方のサーバーがすぐに代替として機能することや障害をカバーすることができます。
管理の強化
簡単に世界中のオーディエンスにリーチできることが IP 配信の数あるメリットのひとつです。しかし、コンテンツの配信を制限する理由もいくつかあります。たとえば、ライセンス付与によって特定の国や地域にあるコンテンツの配信ができない場合があります。配信戦略を作る場合、認証、paywall、著作権管理といった機能ができる限り視聴者に近いところですぐに設定および実行できることを確認してください。上位層で制限を解決しようとするとオリジンのインフラストラクチャの過負荷に繋がる恐れがある一方、プレイヤーレベルで実装をするとコンテンツハイジャックを招く恐れがあります。
正確なトラフィック予測
オーディエンスへのストリーミングサイズを予測するこ とは不可能に思えますが、可能な限り予測する必要があります。視聴予測をすることでライブイベント中のトラフィック分配計画がわかります。
マルチ CDN アプローチを採用している場合、CDN 内のトラフィック再分配に備えていますか?できる限り最適なユーザー体験の質を維持するため、シングルベンダーのエッジ配信戦略にもクライアントリクエストの再ルーティングプロセスを含める必要があります。これは DNS、CDN、およびエニーキャストレイヤーで実装できます。ただし、変更する前にデータフィードからプレイヤーへのリアルタイムデータが必要です。これが可観測性の準備に結びついています。動画ワークフローの全コンポーネントが必ずこのレベルの可視性となるようにしてください。
視聴率に基づく同時実行リクエスト数は、配信の契約コストや動画ワークフローへの冗長性有無などさまざまな関わりがあります。同時実行リクエストの推測が大きすぎると過剰消費や不要な複雑性の増加に繋がる恐れがあります。少なすぎると契約範囲を超える高額な超過料金が課される恐れがあり、言うまでもありませんが、視聴者のストリーミング体験が最適なものでなくなく可能性が生じます。
一方、放送局は従来のケーブルTVや地上波放送を利用する視聴者と OTT を利用する視聴者の比率に従い、視聴者数の変化に取り組む必要があります。幸い、このタスクは過去のイベントの視聴率や基本となる数字に関連する増減予想がわか る完全なデジタル再生では簡単になります。予想全体視聴率を取得し、この数字を OTT と従来放送の比率で掛けておくことをおすすめします。これは決して確実なものではありません。数字を予測する完璧な方法はないからです。しかし、こういった予測を行うことで精度の改善には役立ちます。
テストとスタックの強化
ライブイベントの前にできる限りの準備が必要であることは言うまでもありません。動画配信スタック全体をテストおよび強化して当日のサプライズを回避する必要があります。これには負荷テストや全ベンダーへの即時設定変更の実装が含まれます。可能であれば、事前に小規模なイベントで試しておくといいでしょう。たとえば、プロスポーツリーグの多くは地域戦やプレイオフゲームがありますが、これはワークフロー、設定、およびプロセスの実行を試してみる良い機会です。収集したデータは大きな試合前の細やかな配信調整に役立つでしょう。
運用危機管理計画の作成
運用危機管理計画がない場合は、優先して作成してください。ライブイベント中に対応しようとするよりも、決められたプロセスで実行および対応する方がはるかに簡単です。事後分析を待ってはいけません。「事前分析」のブレインストーミングを行って潜在的な問題を特定することを検討してください。
効果的に 利用するため、文書化した危機管理計画は、1回以上入念に確認、展開、および実行するようにしてください。CDN 全体のロードバランシングリクエストに対するプロセスはどうなっていますか?リアルタイムデータのモニタリングや迅速な問題の特定、原因の判断、および解決方法はどうでしょうか? また、サードパーティを含めたインスタントメッセージチャンネルを作成することも重要です。こうすれば簡単に応答することができ、運用チームが最適な意思決定をするために必要なインサイトを得ることができます。
実行可能なインサイトで計画を実行
上記の手順は単なる提案です。個々のライブイベントはすべて異なります。毎週行われるスポーツイベントでさえ、予測視聴者数や観覧者のいる場所、そしてファン層の観点が大きく異なることがあります。必要に応じて簡単に拡張できるようインフラストラクチャを設計するだけでなく、ほぼリアルタイムでストリームの状況をモニタリングするデータポイントのコンスタントなフローを確立してください。また、コストのかかるオリジンリクエストを最小化する方法を探すことやバックアップ計画がライブストリームの主要アーキテクチャと同等に信頼できるかどうかを確認することもお勧めします。