【イベントレポート】「ABEMA」のCTOが語る、「FIFA ワールドカップ カタール 2022」配信における5つの技術的挑戦

技術・デザイン

新しい未来のテレビ「ABEMA」は、同プロダクトの技術者による「ABEMA Developer Conference 2023」を2023年4月19日(水)に開催いたしました。当日は、「FIFA ワールドカップ カタール 2022」の全64試合無料生中継を実施する過程で取り組んだ様々な挑戦について、同カンファレンスでしか聞けないセッションの数々をライブ配信しました。
こちらでは、「ABEMA」のCTO 西尾による基調講演「FIFA ワールドカップ 2022における、ABEMAの技術的挑戦」の内容をもとに一部編集し、お届けします。

Profile

  • 西尾亮太
    2011年株式会社サイバーエージェントに入社。「Ameba」スマートフォンプラットフォーム基盤、ゲーム向けリアルタイム通信基盤の開発を経て、2016年に「ABEMA」の立ち上げに参画。2018年より株式会社AbemaTV CTOに就任し、現在に至る。

インターネットで大規模ライブ配信を行う際の基本的な構成と考慮事項

本セッションでは「FIFA ワールドカップ 2022における、ABEMAの技術的挑戦」と題し、全64試合無料生中継を完遂したABEMAの技術組織が、準備段階から何を考え、どのように向き合ってきたのか、お話しします。

「FIFAワールドカップ カタール 2022」(以下、W杯)は2022年11月21日~12月19日までの約1カ月間にわたって開催されました。「ABEMA」では全64試合をインターネット配信し、日本対クロアチア戦における入場制限を除けば、概ね大きなトラブルもなく安定した高画質な視聴体験をユーザーに提供できたと考えています。

さて、世界的なスポーツイベントであるW杯において、「ABEMA」が技術をどのように駆使し、対応していったのか理解を深めるため、はじめにインターネットで大規模なライブを配信する場合の基本的な構成と考慮事項について説明します。

インターネットを通して様々なデバイスでライブ視聴を楽しんでもらう場合、主に2つの機能の構成について考える必要があります。映像データ自体をユーザーにどう届けるかというライブストリーミング機能と、デバイス上でその映像データの視聴に至るまでのUIやユーザー認証、視聴以外の付加価値を提供するサービス機能についてです。
 

ライブストリーミング機能は大きく分けて2つのフェーズを通して提供されます。1つは、ユーザーに提供する映像ソースを集約後、制作を通して、視聴者に提供する映像ストリームを組み上げるContributionフェーズ。もう1つが、生み出された映像ストリームの内容自体は変更せずに、様々なデバイスやネットワーク環境を想定した変換処理を実行し、視聴者のデバイスへと映像ストリームを配信していくDistributionフェーズです。

「ABEMA」のContributionの構成を概念レベルで説明すると、まず配信対象となるイベントが行われる会場から始まり、そこから得られる複数の映像ソースを制作拠点まで伝送します。その後、それらを最終的な映像ストリームとして構築し、これらをメインの処理環境であるクラウドまで伝送するところまでがContributionにあたります。Contributionでの考慮事項は、視聴者に至るまでに発生する変換処理を考慮した上で十分な映像品質でデータを取り回すだけでなく、構成上発生しうる障害を考慮した冗長化を施すことです。施設内における機器故障はもちろんのこと、ディザスタリカバリを想定した地理的冗長化も検討する必要があります。

続いて「ABEMA」のDistributionの構成ですが、クラウド上で受けた映像ストリームに対し、まずアダプティブビットレート(ABR)と呼ばれる方式で、トランスコード処理を行います。次に、これらを再生プレイヤーにとって解釈可能な形式にパッケージングするのですが、「ABEMA」が利用しているフォーマットで言うとHLSまたはDASHに変換することを言います。

その後暗号化処理を経て、最終的な調整を行う独自のマニフェストマニピュレーターを通すことで、再生プレイヤーに向けた最終的なデータが完成します。クラウドで行う処理はこれで完了ですが、このデータをCDN及び視聴者のネットワーク環境を経由し、アプリケーション上のプレイヤーまで配信するところまでがDistributionにあたります。

Distributionでの考慮事項は、映像ストリームを変換処理する際に、特定のコンポーネントやロケーションでのトラブルを十分に想定した冗長化を施し、それらが遅延なく継続するだけの安定性を確保することです。また、変換処理が完了した後の配信では、同時に視聴するユーザー及びそのネットワーク的分布を考慮した上で、インターネットを経由して十分に安定した配信ができるだけのキャパシティを確保することも重要です。
 

ハーフタイムやゴール…サッカーならではの行動変化のタイミングに、システムが十分に対応可能か

もう1つの観点であるサービス機能は、言ってしまえばWebサービスを提供する上でのライブストリーミング機能以外の全ての機能のことです。例えば、サービスを提供する上で大前提となるようなWebサイトや認証、コンテンツカタログの他、ライブコンテンツの視聴体験を豊かにするマルチアングル、コメント機能、スタッツといったものです。また、プラットフォーム上のユーザーの行動を計測し、分析するためのログの受信API及びデータ基盤なども該当しますが、「ABEMA」ではこれらのほぼ全てがパブリッククラウド上に展開されています。

サービス機能では、変動するユーザーアクセスに応じたスケール性の担保や、クラウド上での冗長化、キャパシティプランニングなどが当然必要ですが、特に大規模ライブ配信においては大きく3つの考慮事項があります。視聴における前提機能の最適化、スパイクアクセスの制御、そしてライブ視聴ユーザーの行動予測です。

1つめの視聴における前提機能の最適化についてですが、ライブ配信において、サービス上でユーザーが視聴を開始するまでには、いくつかのステップがあります。ユーザーはアプリケーションを起動し、表示されたコンテンツカタログから対象のイベントを選択、その後視聴開始アクションを実行します。この単純な過程の中でも、実際のアプリケーションでは、内部的に多くのAPIを直列、または並列に呼び出すことで実現されています。これらのアプリケーション上でのAPIの呼び出しの中で、本当に必要なもののみをシーケンス上で直列、かつ失敗した場合には、アプリケーション上での重大なエラーとして処理します。また、必ずしも必要でないものが高負荷や障害により応答不可になったり、またはフィーチャーフラグ上で停止された場合でも、視聴開始に影響が出ないよう、統制していくことが重要です。
加えて、この「本当に必要なもの」に該当する機能は、想定される負荷に対して愚直に処理できるキャパシティを確実に確保する必要があります。さらに、想定されるあらゆるトラブルに対して可能な限りの耐障害性、そして復旧時間の短縮が求められます。
 

2つめのスパイクアクセスの制御についてですが、決められた時間に配信されるライブコンテンツでは、配信開始タイミングやSNS上での拡散をきっかけに、瞬間的に非常に大きなアクセスが発生することがあります。昨今パブリッククラウドの規模が拡大し、必要な時に必要なだけのコンピューティングリソースを使用する、水平スケール可能なシステムを構築することは難しくない時代になりました。

しかしながら、こういった急激なスパイクアクセスでは、水平スケール処理が間に合わなかったり、動的なスケール処理を諦めてフルキャパシティで構えることで、非常に大きなコストがかかったりします。スパイクアクセスによるトラブルは、バックエンドに深刻な負荷を発生させ、またそれらが連鎖することでトラブルがより重大な規模に発展することさえあります。そのため、スパイクアクセスを許容する限界を予め決定しておき、それらを制御する仕組みを実装しておくことが重要です。

具体的には単純なレート制限機構を、サイト訪問や起動処理に適用したり、仮想待機室のような待ち受け処理を施すことで、これらの問題に対処することができます。ライブ配信が始まるタイミングにユーザーは視聴開始行動を起こし、CMタイミングなどで離脱したり、他のコンテンツに回遊したりしますが、非常に難しい問題として、これらの行動変化はコンテンツの内容によって生み出されるものです。サッカーで言えば、キックオフやハーフタイムなどの競技上の予め定められたタイミングや、ゴールなどの試合展開によって行動変化が発生します。これら行動変化のタイミングと行動内容を事前に予測し、それらの行動変化にシステムが十分に対応可能か、検証しておくことが重要です。

以上がインターネットで大規模なライブを配信する場合の基本的な構成と考慮事項です。次にW杯に向けてどのように準備してきたのか説明したいと思います。
 

「FIFA ワールドカップ カタール 2022」配信における “5つの挑戦”

「ABEMA」ではW杯の配信にあたり、5つの挑戦をコンセプトにしていました。地上波レベルの高画質配信、サッカー観戦に最適化したUI/UX、マルチデバイス、ハイライトの最速配信、そして、サービスを落とさない、です。

我々が地上波レベルの高画質配信を目指した背景には、あるライブイベントがきっかけにありました。2022年6月に開催され「ABEMA PPV ONLINE LIVE」でライブ配信を担当した、「THE MATCH 2022」です。同大会を視聴するチケット券売数は50万枚を突破し、ライブ配信中のピークトラフィックは4.5Tbpsを記録しました。

「ABEMA」では普段から「ABEMA PPV ONLINE LIVE」以外にもリニア配信やVOD配信を提供しています。これらの定常的なコンテンツに比べ「THE MATCH 2022」では、テレビなどの大画面デバイスが視聴デバイスとして多く選択され、それに伴って高い解像度を取得する傾向がより強くなることが分かりました。これらの結果から、競技は異なるもののW杯における視聴デバイスや解像度分布も近しいものになるのではと考え、求められる映像品質の高さが、通常よりも大きくなると想定しました。

また、今回のW杯では全64試合を生中継するのが「ABEMA」だけであることから、従来地上波放送を選択する視聴者が、地上波放送で視聴できない試合において「ABEMA」を利用することが考えられます。その際、基本的な映像品質でがっかりしないよう、地上デジタルテレビ放送・BSデジタルハイビジョン(2K)放送同等以上の映像品質を提供したいと考えました。

地上波レベルの高画質配信の実現においては、映像品質を、制作・伝送・配信・再生のトータルフローの最適化によって実現するための職能横断型専門部隊「MAQS (Media Asset Quality Strategists)」が担当しました。この専門部隊によって、ユーザーが視聴する端末上で、目的の品質で再生するための伝送及び変換条件、そしてそれを再生可能なデバイスのカバレッジを試行錯誤しながら設計しました。
 

最終的に我々は、品質を重視した映像ストリーム仕様「STRIKER」と、「STRIKER」の仕様に対してデコードや再生の安定性が追いつかないデバイスに向けた映像ストリーム仕様「DEFENDER」を作成しました。そしてこの2つの映像ストリームを、「ABEMA」が対応するデバイスにどのように割り当てるか、注意深く検証していきました。

従来の「ABEMA」のリニア配信機能はマニフェスト上でコンテンツを切り替えることによって、ライブコンテンツ、VODコンテンツをリニア編成型のチャンネルで提供する機能です。「ABEMA PPV ONLINE LIVE」の配信機能は、これをイベントごとに専用のチャンネルとして活用する形で応用し、生み出されました。これらの機能はこれまでの「ABEMA」を支えてきた中核となる機能でしたが、特定のライブイベントを最高品質かつ大規模のユーザーに提供する観点では、いくつか解決することが難しい課題を抱えていました。具体的には、ライブコンテンツごとの最適化を行うために、エンコーダーを変更・調整したり、特定コンテンツのみでストリームの安定性をさらに向上させるなど、コンテンツに特化した対応を施すことが仕組み上難しかったのです。

そのためW杯及び、今後のライブ配信での活用を見据え、ライブイベント配信機能として周辺機能ごと新規に作成することにしました。ライブイベント配信機能では、前述の「地上波レベルの高画質」を実現する新しい配信システムを中心に、それらを複数活用する形でマルチアングル機能を構成しました。周辺機能として、従来のコメント機能をより効率的な処理に組み替え、試合情報としてスタッツ機能を新たに追加しました。

しかしながらこれまでの実績をはるかに上回る負荷が想定されるライブ配信に対して、新規に構築された機能をぶっつけ本番で安定稼働させることは現実的ではありません。そこで我々は、稼働実績とデータを収集するためにW杯前に「ABEMA」で生配信していた「プレミアリーグ」に注目しました。「プレミアリーグ」は最高峰のサッカーコンテンツであり、映像はもちろんのことサッカー視聴におけるユーザー行動の類似性が高く、ありとあらゆる面でW杯に使用するシステムのデータを得るには適したコンテンツでした。新システムによるプレミアリーグの配信にはトラブルの発生の可能性もあったため、従来の番組はそのままに、高機能βといった形で新システムで構成された番組を並行して展開する形でテストを実施しました。

これらの検証では 画質がリアルタイムで狙った通りの品質で表現されているか、そして様々なデバイスで 滞りなく再生されるか、スタッツなどの機能が意図した形で表現されているかなどを重点的にチェックしました。また、配信期間中に起こるイベントに対して ユーザーがどのような行動をとるかをチェックし、想定している負荷シナリオが実際のトラフィックに近いか、その負荷が十分に効率的に実装された結果であるかを確認していきました。「プレミアリーグ」での検証はW杯の開幕直前まで継続し、それまでの配信データの分析と改善によって、準備段階で考慮可能な範囲での信頼性を確保することができました。

さて、マルチデバイスというキーワードが「ABEMA」のコンセプトに存在しますが、そもそも我々は各種ブラウザやAndroidデバイス、iPhone / iPad、テレビ型デバイス、ゲーム機など様々なデバイスにサービスを提供しています。ではなぜW杯においてマルチデバイスがキーワードになったのか。これは、前述の通りほとんどの機能を新規で構築したことと、過去最高品質の画質を提供するために新しい映像ストリームを作成したことに起因します。新規の機能を従来のサポートデバイス全てに対して短期間で展開することは非常に挑戦的な取り組みです。また、新しい映像ストリームを各デバイスで安定して再生可能できるか検証することにも多くの時間を必要とします。「ABEMA」ではマルチデバイスに継続的な機能開発を実施するための共通化や効率化がいくつか存在しますが、正直な話W杯では開幕タイミングでいくつかのデバイスへの対応が間に合いませんでした。最終的に「Nintendo Switch」への提供が11月22日、「AppleTV」への提供が11月27日となりました。

続いて試合のハイライトの最速配信についてですが、我々がライブ配信の他に重要視していたことは、ライブで視聴できなかったユーザーや試合全体を見る時間がないユーザーに対してハイライトをいかに迅速に提供するかという点です。
今回の配信時間帯の多くが深夜から早朝に該当していることもハイライトを重視した要因の1つです。
 

非常に難易度が高かった、ピークトラフィックの算出方式

試合ハイライトをいち早く提供するために重要なことは、ハイライト対象となるシーンが発生してから、ユーザーに提供するまでに発生する映像制作フローを高速化することです。これらの高速化には、「ABEMA」のサービス開始以降、クラウド上に構築し、柔軟な運用を目指してきた「Media Asset Management システム」が大きく寄与しました。現在の「Media Asset Management システム」は従来のマスタリング、QCのみならず、素材管理として、即座に様々な拠点にメディアファイルを展開可能です。

加えて、オンライン編集環境を実現しました。W杯におけるハイライト配信ではこれらのシステムを最大限活用しながら、各種フローの見直し、合理化を進めた結果、最終的にイベント発生から30分以内で品質制御されたコンテンツを配信することができました。そのためにまず必要なのは、配信キャパシティの見積もりです。配信キャパシティの設計では、ざっくり言うと1人あたりのビットレートとピーク同時接続数を掛け合わせたピークトラフィックを予測する必要があります。
 

1人あたりのビットレートは、「THE MATCH 2022」における配信実績データ、つまりは現在の出力仕様と実際の解像度取得分布から、ユーザーの視聴環境におけるネットワークパフォーマンスがどれくらい期待できるかで算出します。そのネットワークパフォーマンスに対してW杯における出力仕様から配信時にどのように解像度が分布するか、計算しました。

ピーク時の同時接続数の算出は非常に難しい課題でしたが、過去のW杯の地上波放送時の視聴率データから、対戦カードごとにどれくらいの注目度があるか、そして配信時間帯によってどれくらい変化するかを計算しました。そこから、仮に地上波で放送された場合の視聴率予測を算出しました。これに対し、地上波と「ABEMA」の同時配信時、または「ABEMA」単独配信時における地上波とインターネットでの視聴数比率を算出し、「ABEMA」におけるライブ同時接続数がどうなるかを予測しました。この各試合のピーク時の同時接続数に対し、前述の1人あたりのビットレートを掛け合わせ、定常的に発生する、普段のトラフィックを足し上げることでピークトラフィックを算出しました。

こうして予測されたピークトラフィックに対し、負荷に対する備えとして、機能の優先順位を整理し、コンポーネントごとの負荷係数を割り出しました。さらに、全体のキャパシティを設計するとともに、大規模な負荷試験を実施し、有事の際の流入速度の制限機構やトラフィック消費の制限機構を実装しました。

障害対策では、優先機能の稼働率目標を見直し、不足領域において、クラウド上のリージョンの冗長化やマルチCDNのバランシング・切り替え機構の開発、そして問題発生時の復旧速度の向上を目指しました。攻撃対策においては、エンドポイントが外部に公開されるサブシステムの脆弱性を全面的に精査しなおし、単純なDoS攻撃に対する防御機構の再設定、発生時のオペレーションの構築を行いました。

結果論からすると、これらの対策は開幕タイミングでの完成度は80%程度で、期間中に様々なデータの分析と改善を実施しました。各試合の配信を行いながら、システムの負荷を入念にチェックし、アクセスログを解析し、これまでの準備に用いた計算上の想定から、どれくらい乖離があるかを判断しました。さらにクライアント、サーバー両方の実装上の効率化ポイントを探り、適宜アプリケーションをリリースしていきました。我々にとって幸運だったことは、期間中徐々に視聴ユーザーが増加し、段階的なデータの計測と、改善が成立可能な流れになったことでした。
 

遅延と同期、画質と配信キャパシティ…
今後「ABEMA」が向き合う課題

最後に、今後のライブ配信の展望についてお話ししたいと思います。

今回のW杯では、従来のライブ配信機能を刷新するライブイベントという新機能を構築することで、新たな映像品質の提供とインターネットライブ配信ならではの視聴体験を実現することができました。今後このライブイベントの機能をスポーツライブを中心に、既存のリニア配信でのライブや「ABEMA PPV ONLINE LIVE」に逆展開することで、全てのライブコンテンツを同品質で提供できるようにしていきたいと考えています。

さらに、ライブイベント機能を展開することで、コンテンツごとの映像品質の最適化を図ることができます。今回提供した映像ストリームの「STRIKER」や「DEFENDER」はサッカー会場のカメラワークを想定したものです。しかし今後は、野球や格闘技、音楽ライブなどの会場の演出やカメラワーク、背景に合わせて最も効果的な映像品質で出力できるように新たな映像ストリームを構築していきたいと考えています。単純な映像品質だけでなく、W杯の配信ではマルチアングルでの複数同時視聴や、セカンドディスプレイとしての視聴、試合情報を公開するスタッツ機能も好評でした。今後もインターネットライブ配信だからこそできるライブ観戦の新しい視聴体験を設計し、提供していければと思います。

一方で、今回のW杯の配信を通じて感じた技術的課題が2つあります。1つは遅延と同期の課題です。今回我々は画質を見直した映像ストリームだけでなく、低遅延を目指したストリームの準備を進めていました。しかし、配信要件を満たした形で様々なデバイスで安定して再生可能なストリームの配信を、期間内に実現することができませんでした。昨今複数のメディア媒体から同一のライブコンテンツが提供されたり、1人のユーザーが複数のデバイスを駆使してマルチアングルで視聴することや、複数人でインターネット越しに同一のライブコンテンツを視聴することは珍しくありません。こういった中でデバイス間の遅延の大きさや同期のズレは、視聴体験を著しく損なう要素になりかねないため、今後取り組んでいければと考えています。

2つめが、画質と配信キャパシティに関する課題です。画質を向上することは、基本的には1人あたりに必要なビットレートを増加させることにあたります。また、現在のインターネットライブ配信に標準的に用いられる配信方式は、視聴者の増加に比例して配信キャパシティを消費します。その結果、大規模なインターネットライブ配信では、インターネット自体に大きな負荷をかけることになります。今回我々は、全ての試合において視聴者のQoEデータを監視していましたが、一部の試合においては、特定のインターネットサービスプロバイダーでの、顕著な再生品質の低下が観測されました。極論を言ってしまえば、現在の技術スタックで今回以上の規模のインターネットライブ配信を実施していけば、インターネット自体に問題を起こす可能性も少なくないと考えています。今後「ABEMA」では、コーデックや配信方式、キャッシュ構造の見直し、トラフィック制御の仕組みを改善していくことで、これらの課題の解決に向き合っていきたいと思います。
 

ABEMA Developer Conference 2023

「ABEMA Developer Conference 2023」のアーカイブ及び登壇資料を公式サイトで公開しておりますので、ぜひご覧ください。

この記事をシェア

オフィシャルブログを見る

記事ランキング

「10年以上蒔いた種が、ようやく花を咲かせてきた」主席エンジニアが語る、セキュリティ対策のあるべき姿

技術・デザイン

2022年より導入した「主席認定制度」において、10年以上当社のセキュリティ強化に真摯に向き合い続けている野渡が、主席エンジニアの1人に選出されました。

経営層、各開発責任者が絶大な信頼を寄せる野渡ですが、主席エンジニア就任時の思いを「10年以上にわたるチームの取り組みを、改めて評価してもらえたようで嬉しい」と語ります。長年セキュリティ領域に携わってきて感じる最近のセキュリティインシデントの傾向や、サイバーエージェントならではのセキュリティ対策のあるべき姿について話を聞きました。

なお、野渡が統括するシステムセキュリティ推進グループについて、詳しくは「『免疫』のようなセキュリティチームを作りたい~主席エンジニアたちが向き合う情報セキュリティ対策~」をご覧ください。

Page Top