Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ライブコンテンツの高品質化を実現するクラウド動画配信システム / Cloud Video Streaming System for High Quality Live Events

ライブコンテンツの高品質化を実現するクラウド動画配信システム / Cloud Video Streaming System for High Quality Live Events

FIFA ワールドカップ カタール 2022 ではライブ配信における AWS Media Services の導入やデュアルリージョン、デュアル CDN など ABEMA では初の試みがいくつもありました。その動画配信のクラウドがどのような形で作られたのかを解説します。

https://developer.abema.io/2023/sessions/fHFuwjhNIO/?utm_medium=social&utm_source=speakerdeck

CyberAgent
PRO

April 19, 2023
Tweet

More Decks by CyberAgent

Other Decks in Technology

Transcript

  1. View Slide

  2. 発表者紹介
    久保亮介
    2012年株式会社サイバーエージェント入社。
    2016年から現在までABEMAの動画配信サーバー開発に従事。
    FIFA ワールドカップ カタール 2022では、動画配信のクラウド全般を担
    当。
    (株)AbemaTV 開発本部 コンテンツ配信チーム・エンジニア

    View Slide

  3. お伝えする内容
    FIFA ワールドカップ カタール 2022 から運用を開始した
    ライブ配信のクラウド構成を解説します。

    View Slide

  4. 従来のABEMAの生配信と課題

    View Slide

  5. 従来の ABEMA の生配信
    ドラマ
    生放送
    アニメ
    18:00
    20:00
    22:00
    TV 型チャンネル PPV チャンネル
    空き
    スロット
    PPV
    生放送
    空き
    スロット
    18:00
    20:00
    22:00
    2016 年、当時珍しかった
    TV 型番組制御の完全クラウド化を実現した。
    2020 年、包括的な機能を素早く提供するために
    同じシステムをペイパービューの配信にも利用した。
    シンプルなライブ配信でも
    24/7 チャンネルの一部として管理されている。

    View Slide

  6. 従来の ABEMA の生配信
    ドラマ
    生放送
    アニメ
    18:00
    20:00
    22:00
    TV 型チャンネル PPV チャンネル
    空き
    スロット
    PPV
    生放送
    空き
    スロット
    18:00
    20:00
    22:00
    2016 年、当時珍しかった
    TV 型番組制御の完全クラウド化を実現した。
    2020 年、包括的な機能を素早く提供するために
    同じシステムをペイパービューの配信にも利用した。
    シンプルなライブ配信でも
    24/7 チャンネルの一部として管理されている。

    View Slide

  7. 従来の ABEMA の生配信
    ドラマ
    生放送
    アニメ
    18:00
    20:00
    22:00
    TV 型チャンネル PPV チャンネル
    空き
    スロット
    PPV
    生放送
    空き
    スロット
    18:00
    20:00
    22:00
    2016 年、当時珍しかった
    TV 型番組制御の完全クラウド化を実現した。
    2020 年、包括的な機能を素早く提供するために
    同じシステムをペイパービューの配信にも利用した。
    シンプルなライブ配信でも
    24/7 チャンネルの一部として管理されている。

    View Slide

  8. 従来の ABEMA の生配信
    ドラマ
    生放送
    アニメ
    18:00
    20:00
    22:00
    TV 型チャンネル PPV チャンネル
    空き
    スロット
    PPV
    生放送
    空き
    スロット
    18:00
    20:00
    22:00
    2016 年、当時珍しかった
    TV 型番組制御の完全クラウド化を実現した。
    2020 年、包括的な機能を素早く提供するために
    同じシステムをペイパービューの配信にも利用した。
    シンプルなライブ配信でも
    24/7 チャンネルの一部として管理されている。

    View Slide

  9. 従来の ABEMA のシステムにあった課題
    番組運用のしづらさ 放送時間の延長や短縮などに制約が多い。
    構成変更のしづらさ
    チャンネル単位の管理が前提になっていて、
    番組毎に解像度や画質、 DRM を変えにくい。
    開発コスト
    自社開発の領域が広すぎる。
    今ではマネージドサービスに置き換えられる部分も増えた。

    View Slide

  10. 新しいライブ配信の枠組み

    View Slide

  11. コンテキストの境界と概念の整理
    プレイアウトコンテキスト
    ライブイベント
    開始時刻
    マルチアングル構成
    番組編成コンテキスト
    チャンネルグループ
    タグ
    開始時刻
    プロファイル
    配信プロファイル
    チャンネル構成
    チャンネル
    チャンネル
    チャンネル
    タイトル
    上流
    下流
    動画配信基盤とアプリケーションの概念を異なるコンテキストに分離して整理した。
    動画配信の詳細は下流では抽象化され、機能固有の概念を上流に侵食させない。

    View Slide

  12. コンテキストの境界と概念の整理
    プレイアウトコンテキスト
    ライブイベント
    開始時刻
    マルチアングル構成
    番組編成コンテキスト
    チャンネルグループ
    タグ
    開始時刻
    プロファイル
    配信プロファイル
    チャンネル構成
    チャンネル
    チャンネル
    チャンネル
    タイトル
    動画配信基盤とアプリケーションの概念を異なるコンテキストに分離して整理した。
    動画配信の詳細は下流では抽象化され、機能固有の概念を上流に侵食させない。
    上流
    下流

    View Slide

  13. コンテキストの境界と概念の整理
    プレイアウトコンテキスト
    ライブイベント
    開始時刻
    マルチアングル構成
    番組編成コンテキスト
    チャンネルグループ
    タグ
    開始時刻
    プロファイル
    配信プロファイル
    チャンネル構成
    チャンネル
    チャンネル
    チャンネル
    タイトル
    上流
    下流
    動画配信基盤とアプリケーションの概念を異なるコンテキストに分離して整理した。
    動画配信の詳細は下流では抽象化され、機能固有の概念を上流に侵食させない。

    View Slide

  14. コンテキストの境界と概念の整理
    プレイアウトコンテキスト
    ライブイベント
    開始時刻
    マルチアングル構成
    番組編成コンテキスト
    チャンネルグループ
    タグ
    開始時刻
    プロファイル
    配信プロファイル
    チャンネル構成
    チャンネル
    チャンネル
    チャンネル
    タイトル
    上流
    下流
    動画配信基盤とアプリケーションの概念を異なるコンテキストに分離して整理した。
    動画配信の詳細は下流では抽象化され、機能固有の概念を上流に侵食させない。

    View Slide

  15. 配信プロファイル
    【番組編成担当者】
    プロファイル選択
    【クラウド環境】
    立ち上げからアーカイブまで自動化
    FIFA ワールドカップ カタール 2022 プロファイル
    エンコーディングパラメーター
    30p CBR / 60p QVBR
    冗長レベル
    デュアル AZ + 一部デュアルリージョン
    DRM
    FairPlay / Widevine など
    パッケージング方式
    HLS + MPEG2-TS / MPEG-DASH + ISO BMFF
    利用可能環境
    本番環境 / 開発環境

    View Slide

  16. エンコーディングパラメーター
    Defender
    FrameRate : 30000/1001 fps
    RateControl : CBR
    Height : 240 〜 1080
    Midfielder
    FrameRate : 30000/1001 fps
    RateControl : QVBR/CBR
    Height : 240 〜 1080
    Striker
    FrameRate : 60000/1001 fps
    RateControl : QVBR/CBR
    Height : 240 〜 1080
    FIFA ワールドカップ カタール 2022
    プロファイル
    スタンダードプロファイル
    エンコーディングの戦略に対して
    サッカーにちなんだコードネーム
    を付けた。
    プロファイルには複数の戦略を割り当てることができ、各クライアントが
    デバイスに合ったものを選択
    する。

    View Slide

  17. エンコーディングパラメーター
    Defender
    FrameRate : 30000/1001 fps
    RateControl : CBR
    Height : 240 〜 1080
    Midfielder
    FrameRate : 30000/1001 fps
    RateControl : QVBR/CBR
    Height : 240 〜 1080
    Striker
    FrameRate : 60000/1001 fps
    RateControl : QVBR/CBR
    Height : 240 〜 1080
    FIFA ワールドカップ カタール 2022
    プロファイル
    スタンダードプロファイル
    エンコーディングの戦略に対して
    サッカーにちなんだコードネーム
    を付けた。
    プロファイルには複数の戦略を割り当てることができ、各クライアントが
    デバイスに合ったものを選択
    する。

    View Slide

  18. エンコーディングパラメーター
    Defender
    FrameRate : 30000/1001 fps
    RateControl : CBR
    Height : 240 〜 1080
    Midfielder
    FrameRate : 30000/1001 fps
    RateControl : QVBR/CBR
    Height : 240 〜 1080
    Striker
    FrameRate : 60000/1001 fps
    RateControl : QVBR/CBR
    Height : 240 〜 1080
    FIFA ワールドカップ カタール 2022
    プロファイル
    スタンダードプロファイル
    エンコーディングの戦略に対して
    サッカーにちなんだコードネーム
    を付けた。
    プロファイルには複数の戦略を割り当てることができ、各クライアントが
    デバイスに合ったものを選択
    する。

    View Slide

  19. エンコーディングパラメーター
    Defender
    FrameRate : 30000/1001 fps
    RateControl : CBR
    Height : 240 〜 1080
    Midfielder
    FrameRate : 30000/1001 fps
    RateControl : QVBR/CBR
    Height : 240 〜 1080
    Striker
    FrameRate : 60000/1001 fps
    RateControl : QVBR/CBR
    Height : 240 〜 1080
    FIFA ワールドカップ カタール 2022
    プロファイル
    スタンダードプロファイル
    エンコーディングの戦略に対して
    サッカーにちなんだコードネーム
    を付けた。
    プロファイルには複数の戦略を割り当てることができ、各クライアントが
    デバイスに合ったものを選択
    する。

    View Slide

  20. エンコーディングパラメーター
    Defender
    FrameRate : 30000/1001 fps
    RateControl : CBR
    Height : 240 〜 1080
    Midfielder
    FrameRate : 30000/1001 fps
    RateControl : QVBR/CBR
    Height : 240 〜 1080
    Striker
    FrameRate : 60000/1001 fps
    RateControl : QVBR/CBR
    Height : 240 〜 1080
    FIFA ワールドカップ カタール 2022
    プロファイル
    スタンダードプロファイル
    エンコーディングの戦略に対して
    サッカーにちなんだコードネーム
    を付けた。
    プロファイルには複数の戦略を割り当てることができ、各クライアントが
    デバイスに合ったものを選択
    する。

    View Slide

  21. 配信経路の構成
    AWS
    Elemental
    MediaLive
    Channel
    AWS
    Elemental
    MediaPackage
    Channel
    Manipulator
    (EKS)
    Akamai
    Amazon
    CloudFront
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaLive
    Input
    Zixi Feeder
    Primary
    (on-prem)
    Zixi Feeder
    Secondary
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    Ad Server
    SPEKE Proxy
    (Lambda)
    NEXTSCAPE
    License Proxy
    (GKE)
    カメラアングル毎に自動構築
    アングル毎に
    2 台設置
    Cue 信号等
    Live Mgmt. Tool
    「ATLAS」
    国内中継拠点

    View Slide

  22. 配信経路の構成
    AWS
    Elemental
    MediaLive
    Channel
    AWS
    Elemental
    MediaPackage
    Channel
    Manipulator
    (EKS)
    Akamai
    Amazon
    CloudFront
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaLive
    Input
    Zixi Feeder
    Primary
    (on-prem)
    Zixi Feeder
    Secondary
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    Ad Server
    SPEKE Proxy
    (Lambda)
    NEXTSCAPE
    License Proxy
    (GKE)
    カメラアングル毎に自動構築
    アングル毎に
    2 台設置
    Cue 信号等
    Live Mgmt. Tool
    「ATLAS」
    国内中継拠点

    View Slide

  23. 配信経路の構成
    AWS
    Elemental
    MediaLive
    Channel
    AWS
    Elemental
    MediaPackage
    Channel
    Manipulator
    (EKS)
    Akamai
    Amazon
    CloudFront
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaLive
    Input
    Zixi Feeder
    Primary
    (on-prem)
    Zixi Feeder
    Secondary
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    Ad Server
    SPEKE Proxy
    (Lambda)
    NEXTSCAPE
    License Proxy
    (GKE)
    カメラアングル毎に自動構築
    アングル毎に
    2 台設置
    Cue 信号等
    Live Mgmt. Tool
    「ATLAS」
    国内中継拠点

    View Slide

  24. 配信経路の構成
    AWS
    Elemental
    MediaLive
    Channel
    AWS
    Elemental
    MediaPackage
    Channel
    Manipulator
    (EKS)
    Akamai
    Amazon
    CloudFront
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaLive
    Input
    Zixi Feeder
    Primary
    (on-prem)
    Zixi Feeder
    Secondary
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    Ad Server
    SPEKE Proxy
    (Lambda)
    NEXTSCAPE
    License Proxy
    (GKE)
    カメラアングル毎に自動構築
    アングル毎に
    2 台設置
    Cue 信号等
    Live Mgmt. Tool
    「ATLAS」
    国内中継拠点

    View Slide

  25. 配信経路の構成
    AWS
    Elemental
    MediaLive
    Channel
    AWS
    Elemental
    MediaPackage
    Channel
    Manipulator
    (EKS)
    Akamai
    Amazon
    CloudFront
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaLive
    Input
    Zixi Feeder
    Primary
    (on-prem)
    Zixi Feeder
    Secondary
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    Ad Server
    SPEKE Proxy
    (Lambda)
    NEXTSCAPE
    License Proxy
    (GKE)
    カメラアングル毎に自動構築
    アングル毎に
    2 台設置
    Cue 信号等
    Live Mgmt. Tool
    「ATLAS」
    国内中継拠点

    View Slide

  26. 配信経路の構成
    AWS
    Elemental
    MediaLive
    Channel
    AWS
    Elemental
    MediaPackage
    Channel
    Manipulator
    (EKS)
    Akamai
    Amazon
    CloudFront
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaLive
    Input
    Zixi Feeder
    Primary
    (on-prem)
    Zixi Feeder
    Secondary
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    Ad Server
    SPEKE Proxy
    (Lambda)
    NEXTSCAPE
    License Proxy
    (GKE)
    カメラアングル毎に自動構築
    アングル毎に
    2 台設置
    Cue 信号等
    Live Mgmt. Tool
    「ATLAS」
    国内中継拠点

    View Slide

  27. デュアルリージョン & デュアルCDN

    View Slide

  28. AWS ソウル
    AWS 東京
    アングルとアベイラビリティゾーン、リージョン
    全アングルが2つのアベイラビリティゾーン
    AWS MediaConnect Flow x2
    AWS MediaLive Standard Pipeline
    +
    メインカメラは更にデュアルリージョン
    AWS 東京リージョン / AWS ソウルリージョン
    メインカメラ
    (2 AZ)
    ペア
    メインカメラ
    (2 AZ)
    日本カメラ1
    (2 AZ)
    日本カメラ2
    (2 AZ)
    クロアチアカメラ
    (2 AZ)
    4分割カメラ1
    (2 AZ)
    全体カメラ
    (2 AZ)
    グループ管理
    (EKS)
    作成
    チャンネル管理
    (EKS)
    チャンネル管理
    (EKS)
    登録
    登録
    作成

    View Slide

  29. AWS ソウル
    AWS 東京
    アングルとアベイラビリティゾーン、リージョン
    全アングルが2つのアベイラビリティゾーン
    AWS MediaConnect Flow x2
    AWS MediaLive Standard Pipeline
    +
    メインカメラは更にデュアルリージョン
    AWS 東京リージョン / AWS ソウルリージョン
    メインカメラ
    (2 AZ)
    ペア
    メインカメラ
    (2 AZ)
    日本カメラ1
    (2 AZ)
    日本カメラ2
    (2 AZ)
    クロアチアカメラ
    (2 AZ)
    4分割カメラ1
    (2 AZ)
    全体カメラ
    (2 AZ)
    グループ管理
    (EKS)
    作成
    チャンネル管理
    (EKS)
    チャンネル管理
    (EKS)
    登録
    登録
    作成

    View Slide

  30. AWS ソウル
    AWS 東京
    アングルとアベイラビリティゾーン、リージョン
    全アングルが2つのアベイラビリティゾーン
    AWS MediaConnect Flow x2
    AWS MediaLive Standard Pipeline
    +
    メインカメラは更にデュアルリージョン
    AWS 東京リージョン / AWS ソウルリージョン
    メインカメラ
    (2 AZ)
    ペア
    メインカメラ
    (2 AZ)
    日本カメラ1
    (2 AZ)
    日本カメラ2
    (2 AZ)
    クロアチアカメラ
    (2 AZ)
    4分割カメラ1
    (2 AZ)
    全体カメラ
    (2 AZ)
    グループ管理
    (EKS)
    作成
    チャンネル管理
    (EKS)
    チャンネル管理
    (EKS)
    登録
    登録
    作成

    View Slide

  31. AWS ソウル
    AWS 東京
    アングルとアベイラビリティゾーン、リージョン
    全アングルが2つのアベイラビリティゾーン
    AWS MediaConnect Flow x2
    AWS MediaLive Standard Pipeline
    +
    メインカメラは更にデュアルリージョン
    AWS 東京リージョン / AWS ソウルリージョン
    メインカメラ
    (2 AZ)
    ペア
    メインカメラ
    (2 AZ)
    日本カメラ1
    (2 AZ)
    日本カメラ2
    (2 AZ)
    クロアチアカメラ
    (2 AZ)
    4分割カメラ1
    (2 AZ)
    全体カメラ
    (2 AZ)
    グループ管理
    (EKS)
    作成
    チャンネル管理
    (EKS)
    チャンネル管理
    (EKS)
    登録
    登録
    作成

    View Slide

  32. 同時に使用した主な Media 系リソース(12月1日深夜の例)
    ※各試合のメインアングルのみ 2 リージョンに作成する。
    ※MediaLive はアングル毎にユーザー配信用と検査用の 2 Channels がある。
    ※MediaPackage はアングル毎に 30p と 60p の 2 Channels がある。
    ※MediaConnect はアングル毎に Primary と Secondary、検査用 A、検査用 B の 4 Flows がある。
    1日 23:15 放送開始
    カナダ vs モロッコ
    1日 23:15 放送開始
    クロアチア vs ベルギー
    2日 03:00 放送開始
    日本 vs スペイン
    2日 03:00 放送開始
    コスタリカ vs ドイツ
    5 アングル
    5 アングル
    6 アングル
    5 アングル
    MediaConnect 24 Flows
    MediaLive 12 Channels
    MediaPackage 12 Channels
    MediaConnect 24 Flows
    MediaLive 12 Channels
    MediaPackage 12 Channels
    MediaConnect 28 Flows
    MediaLive 14 Channels
    MediaPackage 14 Channels
    MediaConnect 24 Flows
    MediaLive 12 Channels
    MediaPackage 12 Channels
    MediaConnect 100 Flows
    MediaLive 50 Channels
    MediaPackage 50 Channels

    View Slide

  33. デュアル CDN
    従来から動画配信に利用していた Akamai に加えて Amazon CloudFront を採用
    耐障害性
    キャパシティ
    大手 CDN ベンダーでもトラブルのリスクはゼロではない。
    複数のベンダーによる配信体制でリスクを低減する。
    より多くの帯域を確実に確保する。
    知見の獲得
    CDN バランサー運用の知見を得る。
    戦略の異なる製品で同じストリームを配信することにより、
    QoE やオリジンリクエストなどを多角的に分析する。

    View Slide

  34. 初回再生時のストリーム選択とフェイルオーバー
    AWS 東京
    AWS ソウル
    Amazon
    CloudFront
    メインアングル
    Akamai
    Amazon
    CloudFront
    Akamai
    AWS 東京
    Amazon
    CloudFront
    Akamai
    サブアングル
    ● 再生セッション開始時に選択
    ● 初回の選択でできるだけ均等に分散
    ● 再生エラー時にローテート

    View Slide

  35.  
    冗長構成が活きた事例
    AWS
    Elemental
    MediaLive
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaConnect
    Zixi Feeder
    Primary
    (on-prem)
    Zixi Feeder
    Secondary
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    AWS
    Elemental Live
    (on-prem)
    AWS
    Elemental
    MediaPackage
    Manipulator
    (EKS)
    Akamai
    AWS
    Elemental
    MediaLive
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaConnect
    AWS
    Elemental
    MediaPackage
    Manipulator
    (EKS)
    AWS 東京
    AWS ソウル
    「韓国 vs ガーナ」メインアングルで東京の MediaLive が数分間ダウン。
    ソウルリージョンによって配信を継続
    することができた。
    Amazon
    CloudFront
    Akamai
    Amazon
    CloudFront

    View Slide

  36. 広告挿入とDRM

    View Slide

  37. 広告挿入の手段
    方法 Pros Cons
    On-prem
    不連続点がなく再生が安定しやすい。
    低遅延配信をしやすい。
    新たに物理的な設備が必要。
    高精度のトラッキングがしづらい。
    出し分けができない。
    Server Side (SSAI)
    ABEMA での実績がある。
    ある程度の出し分けが可能。
    不連続点で再生が不安定になりやすい。
    ライセンスリクエストの負荷対策が必要。
    SSAI + Personalized Ad
    ABEMA での実績がある。
    セッションごとの出し分けが可能。
    不連続点で再生が不安定になりやすい。
    同時接続数に対する負荷が大きい。
    Server Guided (SGAI)
    ライブでの自然な広告挿入と
    最大限の出し分けを同時に実現する。
    各デバイスごとに開発コストがかかる。
    特殊な実装が必要。
    Ad Server の負荷対策が必要。
    Client Side (CSAI) 最大限の出し分けが可能。
    各デバイスごとに開発コストがかかる。
    ライブで自然に見せるのが難しい。
    Ad Server の負荷対策が必要。
    ※FIFA ワールドカップ カタール 2022 では広告の出し分けの要件はありませんでした。

    View Slide

  38. 広告挿入の手段
    方法 Pros Cons
    On-prem
    不連続点がなく再生が安定しやすい。
    低遅延配信をしやすい。
    新たに物理的な設備が必要。
    高精度のトラッキングがしづらい。
    出し分けができない。
    Server Side (SSAI)
    ABEMA での実績がある。
    ある程度の出し分けが可能。
    不連続点で再生が不安定になりやすい。
    ライセンスリクエストの負荷対策が必要。
    SSAI + Personalized Ad
    ABEMA での実績がある。
    セッションごとの出し分けが可能。
    不連続点で再生が不安定になりやすい。
    同時接続数に対する負荷が大きい。
    Server Guided (SGAI)
    ライブでの自然な広告挿入と
    最大限の出し分けを同時に実現する。
    各デバイスごとに開発コストがかかる。
    特殊な実装が必要。
    Ad Server の負荷対策が必要。
    Client Side (CSAI) 最大限の出し分けが可能。
    各デバイスごとに開発コストがかかる。
    ライブで自然に見せるのが難しい。
    Ad Server の負荷対策が必要。
    ※FIFA ワールドカップ カタール 2022 では広告の出し分けの要件はありませんでした。

    View Slide

  39. 広告挿入の手段
    方法 Pros Cons
    On-prem
    不連続点がなく再生が安定しやすい。
    低遅延配信をしやすい。
    新たに物理的な設備が必要。
    高精度のトラッキングがしづらい。
    出し分けができない。
    Server Side (SSAI)
    ABEMA での実績がある。
    ある程度の出し分けが可能。
    不連続点で再生が不安定になりやすい。
    ライセンスリクエストの負荷対策が必要。
    SSAI + Personalized Ad
    ABEMA での実績がある。
    セッションごとの出し分けが可能。
    不連続点で再生が不安定になりやすい。
    同時接続数に対する負荷が大きい。
    Server Guided (SGAI)
    ライブでの自然な広告挿入と
    最大限の出し分けを同時に実現する。
    各デバイスごとに開発コストがかかる。
    特殊な実装が必要。
    Ad Server の負荷対策が必要。
    Client Side (CSAI) 最大限の出し分けが可能。
    各デバイスごとに開発コストがかかる。
    ライブで自然に見せるのが難しい。
    Ad Server の負荷対策が必要。
    ※FIFA ワールドカップ カタール 2022 では広告の出し分けの要件はありませんでした。

    View Slide

  40. SSAI (Server Side Ad Insertion)
    SCTE time_signal AWS
    Elemental
    MediaLive
    Channel
    AWS
    Elemental
    MediaPackage
    Channel
    Manipulator
    (EKS)
    AWS
    Elemental Live
    (on-prem)
    Ad Server
    GCS
    HLS
    MPEG-DASH
    VAST M3U8/MPD
    TS/MP4
    API
    USB
    S3
    Slate
    HLS
    Live Mgmt. Tool
    「ATLAS」
    キーフレーム挿入
    Slate 挿入 (Blanking)
    広告プリフェッチ
    広告挿入
    ID3 挿入
    CDN
    CM ボタン
    オンプレミスでの SCTE 信号挿入は ABEMA News チャンネルだけで、それ以外は API 経由でクラウド挿入だった。
    新しい構成では、 VANC インサータを備えていないスタジオでもオンプレミスでの挿入ができるようになった。

    View Slide

  41. ライセンスリクエストの負荷対策
    オープニング (DRM) 広告 前半戦 (DRM) 広告 後半戦 (DRM)
    全デバイスが一斉にリクエスト
    【対策1】
    広告前から再生を継続していれば冗長な再リクエストを減らすように改修
    【対策2】
    秒単位で発生する最大リクエストを推定しサーバー台数を事前に調整
    広告 エンディング (DRM)
    【問題点】
    プレイヤーのデフォルト動作だと、広告から本編への遷移時に一斉にリクエストが発生する。
    秒レベルで瞬間的に跳ね上がるため、メトリクスベースの自動スケールでは対応できない。
    ある程度分散させる対策はしていたが、今回の規模では十分ではない。

    View Slide

  42. 監視

    View Slide

  43. AWS
    CloudWatch
    Logs Insights
    主なモニタリングの流れ
    ※Antares (https://github.com/abema/antares) は自作の HLS/MPEG-DASH 検査ツール。 Procyon はその ABEMA 用のラッパー。
    Slack
    PagerDuty
    Grafana
    Procyon
    Web UI
    Akamai
    Control Center
    電話通知
    Google
    Kubernetes Engine
    AWS EKS
    AWS
    CloudWatch
    Procyon/Antares
    Bugsnag
    Dashboard
    Bugsnag
    Amazon CloudFront
    AWS Media Services
    Prometheus
    定期確認・分析
    分析
    定期確認・分析
    通知
    分析
    定期確認・分析
    Akamai

    View Slide

  44. Slack 通知の例

    View Slide

  45. Slack 通知の例
    先述の「韓国 vs ガーナ」で東京のストリームが停止したことを検知した際の通知

    View Slide

  46. 今後について

    View Slide

  47. 今後の主な改善点と展望
    広告挿入
    パーソナライズやその他の先進技術を導入する。
    トランスコードシステムを刷新する。
    低遅延化 遅延の低減が求められるスポーツ配信等に適したストリームを提供する。
    高圧縮率・高画質化 ビットレートをおさえつつ高画質を配信する。
    旧システムの刷新 旧来のシステムのうち、非効率な箇所をマネージドサービスへ移行する。

    View Slide

  48. まとめ

    View Slide

  49. まとめ
    FIFA ワールドカップ カタール 2022 から導入した動画配信システムを紹介
    初めて AWS MediaConnect / MediaLive / MediaPackage を本格導入
    複数のリージョン・複数の CDN を活用
    生配信の枠組みを刷新
    今後の様々な配信イベントを実現する土台

    View Slide

  50. View Slide