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

MPEG-DASHによるリニア型配信 / Linear broadcasting by MPEG-DASH on AbemaTV

MPEG-DASHによるリニア型配信 / Linear broadcasting by MPEG-DASH on AbemaTV

2017/10/22 AbemaTV Developer Conference 2017
http://developer.abema.io/2017/

・MPEG-DASHの基礎
・AbemaTVのリニア型配信
・配信品質の管理

1. MPEG-DASHによるリニア型配信 AbemaTV Developer Conference 2017 Yusei YAMANAKA
2. 自己紹介
3. 山中勇成 @toriimiyukki 株式会社サイバーエージェント 2017年新卒 株式会社AbemaTV サーバサイドエンジニア 配信チーム (負荷対策チーム)
4. 「中3で初めて生放送サービスを作った」AbemaTVで働く最年少エンジニアとは? https://www.wantedly.com/companies/abema/post_articles/64961
5. 本日のアジェンダ ・MPEG-DASHの基礎 ・AbemaTVのリニア型配信 ・配信品質の管理
6. AbemaTVの動画配信を支えるサーバーサイドシステム https://www.slideshare.net/yuichironakazawa2/abematv インターネットにおける動画配信の仕組み https://www.slideshare.net/RyosukeKubo/ss-67208093
7. 1周年を迎えたAbemaTVの動画配信の裏側 https://speakerdeck.com/miyukki/the-background-of-video-distribution-in-abematv-during-one-year
8. MPEG-DASHの基礎
9. HLSとは Appleが提唱した、HTTPでストリーミングを行う規格 →当初、ライブストリーミングはRTMPや独自の規格で行うことが主流で あり、HLSの登場により実装するプレーヤーが増え、サポートするサービスも 増えた メディアに関する情報は、m3u8のプレイリストに記述する マスタープレイリスト →ビットレート別、冗長構成のメディアプレイリストのパスを記述する メディアプレイリスト →実際のメディアに関する情報やパスを記述する
10. MPEG-DASHとは 国際標準化機関ISO/IECが規格化した、HTTPでストリーミン グを行う規格 →AppleのHLSやMicrosoftのSS、AdobeのHDSなど規格に互換性 がなく、統一するために作られた Dynamic Adaptive Streaming over HTTP ABR, マルチストリーム, 字幕(CC), ライブ, ダイナミック広告, DRMなどの多くの機能が仕様として定められている →しかし、すべてをサポートするプレーヤーは存在しない…
11. MPDとは MPEG-DASHで定義されているメディアに関する情報を記述す るXMLファイル →言い換えればMPEG-DASHは、このMPDの仕様を定めたもの ここからは、実際のAbemaTVで配信しているMPEG-DASHの MPDファイルを参考に要素別に解説 Media Presentation Description
12. MPD解説 - MPDの一番ルートとなる要素 マニフェストのタイプ(dynamic | static) プレーヤーがバッファすべき最小値 プレーヤーがマニフェストを更新すべき最小値 マニフェストのプロファイル(後述) →MPDには必ず必要
13. MPEG-DASHのプロファイル Full Profile MPEG-2 TS main MPEG-2 TS simple ISO Base media file format On Demand ISO Base media file main ISO Base media file format Live ISO BMFF(MP4) ISO BMFF On Demand ISO BMFF Live
14. プロファイルがなぜ必要か MPEG-DASHでは、メディアファイルとしてTSやMP4、ライブス トリーミング、サラウンドなど様々な仕様がある プロファイルでは、対応しているメディア形式などを決めていて、 プレイヤーはプロファイルを元に実装することで、プレイヤーがサポー トする機能を限定することができる →しかし、機能が多すぎるため対応しきれない
15. MPD解説 - コンテンツの区切りの単位 このIDによりプレーヤーが現在再生するコンテンツを識別する →複数書くことにより解像度や字幕の種類が異なるコンテンツを順番に 再生することができる 本編Period CMPeriod 本編Period 次に再生 次に再生
16. MPD解説 - メディアの種類を記述する →プレーヤーはコンテンツの音声や映像、字幕などを選択する AdaptationSetのMIME(映像なのか、音声なのか、字幕なのか) 複数のRepresentation(ビットレート)が定義しているとき、 セグメント同士が連続しているか →言語別の音声や字幕などを選択することも可能
17. MPD解説 - セグメントのパスやテンプレートを記述する →SegmentBase, SegmentTemplate, SegmentListなどいくつか の記述方法がある timeやdurationなどのタイムスケール セグメントのテンプレートパス セグメントのタイムライン 357357 90000/ = 3.9706 ※durationの計算
18. MPD解説 - セグメントの形式を記述する このIDをテンプレートの値として使用する 帯域 コーデック →端末は自分の環境(通信環境やサポートコーデック)により、適切な Representationを選択する
19. MPDの構造 ⋮ ⋮ 番組本編のPeriod 映像のAdaptationSet セグメントテンプレート セグメントのタイムライン ビットレート、解像度別の情報(1080p) ビットレート、解像度別の情報(720p) 音声のAdaptationSet CMのPeriod
20. MPEG-DASHのマニフェスト構造 プロファイル指定 メディアパスのテンプレート タイムライン ビットレート、解像度別の定義 映像、音声、字幕の定義(言語別の音声など) コンテンツごとの単位(時間で分割、広告など) リクエストの一例 1. mp4ce/BSnr3JKqCoqq3H/P4AMzXhX8xh/360p.1/74011529.m4s 2. mp4ce/BSnr3JKqCoqq3H/P4AMzXhX8xh/720p.1/74011529.m4s 3. mp4ce/BSnr3JKqCoqq3H/P4AMzXhX8xh/720p.1/74332041.m4s (74011529+320512)
21. M4Sとは フラグメント(セグメント)化されたMP4ファイルのこと (ここではfMP4と呼ぶ) →MPEG-DASHのISOBMFFでは、MP4をメディアファイルとする必要が ある fMP4は通常のMP4とは異なり、メディアの基本情報が記述さ れた、Initialization SegmentとMedia Segmentの2種類 がある
22. TSの構造 1.ts PAT PMT Video Data #1 Audio Data #1 Video Data #2 Audio Data #2 Video Data #3 Audio Data #3 188byte区切り …
23. MP4とfMP4の構造 MP4 media.mp4 moov mvhd trak ftyp mdat Video Data fMP4 init.m4s 1.m4s moof mdat Video Data mfhd traf moov mvhd trak ftyp
24. HLSとMPEG-DASHのファイル取得 HLS MPEG-DASH m3u8 Master Playlist Media Playlistm3u8 ts Segment #1 ts Segment #2 Media Playlistm3u8 ts Segment #3 mpd Manifest Manifestmpd m4s Segment #1 Segment #1 m4s Segment #2 Segment #2 m4s Segment #3 Segment #3 Initial Segmentm4s Video Audio Initial Segment
25. まとめ
26. MPEG-DASHとHLSの違い HLS MPEG-DASH 規格 Apple ISO国際標準規格 楽実装 めんどくさい 少ない機能 多い
27. AbemaTVのリニア型配信
28. リニア型配信とは… 24時間365日、予め編成された番組表に従って行う配信
29. AbemaTVのリニア型配信 番組表に従って収録済みの映像、生放送、CM、フィラーなど あらゆるコンテンツを配信 配信システム ユーザー 収録映像 生放送 CM フィラー ※フィラー 番組表に放送枠がないときや、 生放送の映像が取得できない時に流れる代替映像
30. 収録映像のリニア型配信 映像 ソース Transcoder Storage Streaming Server CDN Client 配信システム ユーザートランスコードシステム
31. 生放送のリニア型配信 映像 ソース Wirecast Wowza Collector Storage Streaming Server CDN Client 配信システム ユーザー制作現場
32. MPEG-DASH対応
33. MPEG-DASH対応 DRM技術に対応したコンテンツの配信を行う必要があった →AbemaTVでは、通常の配信でも暗号化されているが、CP(コンテン ツプロバイダー)によっては、認められているDRM技術への対応が必要 →DRMはデバイスごとの対応が異なり、DRMによって必要な配信形式も 異なる
34. DRMと配信方式の対応 Microsoft PlayReady Apple FairPlay Google Widevine HLS MPEG-DASH △ ○ ほぼ ✕ ○ ○ ○ AbemaTVではこの4方式に対応
35. トランスコードシステム 収録映像のリニア型配信 映像 ソース Transcoder Storage Streaming Server CDN Client 配信システム ユーザー MPDを生成 tsを生成 fMP4を生成
36. なぜfMP4とMPDを別に生成するか AbemaTVでは、番組表に従ってコンテンツを再生するため、 動的にマニフェストファイルを生成する必要がある →セグメントの情報はファイルやデータベースに保存されており、それらを参 照してMPDを動的に生成している
37. 生放送のリニア型配信 映像 ソース Wirecast Wowza Collector Storage Streaming Server CDN Client 配信システム ユーザー制作現場 fMP4を生成 MPDを生成tsを生成
38. 生放送でfMP4を生成する 予め区切られたTSファイルをMP4に変換し、Initial Segment とMedia Segmentに分ける ts mp4 init.m4s media.m4s時間情報 →生配信ではいつCMを挿入するかがわからないため、毎セグメントごとに Initial Segmentを生成している →放送枠の時間が動的に変化するため、fMP4の時刻情報をあとから 書き換える
39. まとめ 生放送の番組では、リアルタイムにTSからfMP4へのトランスコー ドをしてMPDを生成している また、MPEG-DASHのMulti-Periodの構成で本編コンテンツ やCMを区切っている 収録映像の番組では、予め生成したfMP4とセグメント情報か ら動的にMPDを生成している
40. 配信品質の管理
41. 配信品質 AbemaTVでは、テレビ品質の配信を目指している
42. トラブルが起こる箇所 本来放送されるべきコンテンツが配信されないトラブルは、 様々な要因で発生する オペレーションミスオペレーションミス 映像 ソース Wirecast Wowza Collector Storage Streaming Server CDN Client 配信システム ユーザー制作現場 オペレーションミス回線トラブル オペレーションミスインフラトラブル オペレーショ バグ
43. 配信品質の監視 制作現場では、マスタールームとよばれる所で、送出する生放送 の映像を常に監視している AbemaTVは他の配信サービスに比べ、映像ソースの種類が複 数あり、複数のチャンネルを24時間配信している → しかし、エンジニアが張り付いて監視するには限界がある
44. 監視ツール →ライブストリーミングを監視できる製品でも、AbemaTVの多チャンネル、 24時間の配信をサポートしている製品はなく、AbemaTV独自の規格に 対応できてない 作るしか無い…! 映像の品質をチェックするアプライアンスはいくつかあるが、映像 業界で利用されているケースが多く、インターネットのライブストリー ミングの監視をする製品はまだ少ない →HTTPのステータスコードの監視は入れているが、ストリーミングとしての 監視には役立たない
45. 監視ツール AbemaTVの全チャンネルのHLSプレイリスト、MPEG-DASHの マニフェストを取得し、時間通りに進んでいるか、セグメントの順 序が正しいかをチェックする セグメントファイルを取得しメタデータやビットレートをチェックする 配信システムが正常に動作しているかを外形から監視することが 可能に
46. PR
47. AbemaTV開発局の構成 QA エンジニア E2Eテスト, 映像の品質基準など Android, iOS, Web, サーバサイド, インフラなど ディレクター 開発のディレクションなど デザイナー アプリケーションのデザイン, ロゴデザインなど
48. AbemaTVエンジニアの構成 Web サーバサイド フロント, 管理画面, Chromecastなど コア, API, 配信など Android Android, Fire TVなど iOS iOS, tvOSなど インフラ GCP, チューニング, 負荷試験など
49. We’re hiring! https://recruit.abematv.co.jp https://www.wantedly.com/companies/abema

Yusei Yamanaka

October 24, 2017
Tweet

More Decks by Yusei Yamanaka

Other Decks in Programming

Transcript

  1. MPEG-DASHによるリニア型配信
    AbemaTV Developer Conference 2017
    Yusei YAMANAKA

    View full-size slide

  2. 自己紹介

    View full-size slide

  3. 山中勇成 @toriimiyukki
    株式会社サイバーエージェント 2017年新卒
    株式会社AbemaTV サーバサイドエンジニア
    配信チーム
    (負荷対策チーム)

    View full-size slide

  4. 「中3で初めて生放送サービスを作った」AbemaTVで働く最年少エンジニアとは?
    IUUQTXXXXBOUFEMZDPNDPNQBOJFTBCFNBQPTU@BSUJDMFT

    View full-size slide

  5. 本日のアジェンダ
    ・MPEG-DASHの基礎
    ・AbemaTVのリニア型配信
    ・配信品質の管理

    View full-size slide

  6. AbemaTVの動画配信を支えるサーバーサイドシステム
    IUUQTXXXTMJEFTIBSFOFUZVJDIJSPOBLB[BXBBCFNBUW
    インターネットにおける動画配信の仕組み
    IUUQTXXXTMJEFTIBSFOFU3ZPTVLF,VCPTT

    View full-size slide

  7. 1周年を迎えたAbemaTVの動画配信の裏側
    IUUQTTQFBLFSEFDLDPNNJZVLLJUIFCBDLHSPVOEPGWJEFPEJTUSJCVUJPOJOBCFNBUWEVSJOHPOFZFBS

    View full-size slide

  8. MPEG-DASHの基礎

    View full-size slide

  9. HLSとは
    Appleが提唱した、HTTPでストリーミングを行う規格
    →当初、ライブストリーミングはRTMPや独自の規格で行うことが主流で
    あり、HLSの登場により実装するプレーヤーが増え、サポートするサービスも
    増えた
    メディアに関する情報は、m3u8のプレイリストに記述する
    マスタープレイリスト
    →ビットレート別、冗長構成のメディアプレイリストのパスを記述する
    メディアプレイリスト
    →実際のメディアに関する情報やパスを記述する

    View full-size slide

  10. MPEG-DASHとは
    国際標準化機関ISO/IECが規格化した、HTTPでストリーミン
    グを行う規格
    →AppleのHLSやMicrosoftのSS、AdobeのHDSなど規格に互換性
    がなく、統一するために作られた
    Dynamic Adaptive Streaming over HTTP
    ABR, マルチストリーム, 字幕(CC), ライブ, ダイナミック広告,
    DRMなどの多くの機能が仕様として定められている
    →しかし、すべてをサポートするプレーヤーは存在しない…

    View full-size slide

  11. MPDとは
    MPEG-DASHで定義されているメディアに関する情報を記述す
    るXMLファイル
    →言い換えればMPEG-DASHは、このMPDの仕様を定めたもの
    ここからは、実際のAbemaTVで配信しているMPEG-DASHの
    MPDファイルを参考に要素別に解説
    Media Presentation Description

    View full-size slide

  12. MPD解説 -
    MPDの一番ルートとなる要素
    マニフェストのタイプ(dynamic | static)
    プレーヤーがバッファすべき最小値
    プレーヤーがマニフェストを更新すべき最小値
    マニフェストのプロファイル(後述)
    →MPDには必ず必要

    View full-size slide

  13. MPEG-DASHのプロファイル
    'VMM1SPpMF
    .1&(
    54
    NBJO
    .1&(54
    TJNQMF
    *40#BTF
    NFEJBpMF
    GPSNBU0O
    %FNBOE
    *40#BTFNFEJBpMFNBJO
    *40#BTF
    NFEJBpMF
    GPSNBU
    -JWF
    *40#.'' .1

    *40#.''0O%FNBOE *40#.''-JWF

    View full-size slide

  14. プロファイルがなぜ必要か
    MPEG-DASHでは、メディアファイルとしてTSやMP4、ライブス
    トリーミング、サラウンドなど様々な仕様がある
    プロファイルでは、対応しているメディア形式などを決めていて、
    プレイヤーはプロファイルを元に実装することで、プレイヤーがサポー
    トする機能を限定することができる
    →しかし、機能が多すぎるため対応しきれない

    View full-size slide

  15. MPD解説 -
    コンテンツの区切りの単位
    このIDによりプレーヤーが現在再生するコンテンツを識別する
    →複数書くことにより解像度や字幕の種類が異なるコンテンツを順番に
    再生することができる
    ຊฤ1FSJPE
    $.1FSJPE
    ຊฤ1FSJPE
    ࣍ʹ࠶ੜ
    ࣍ʹ࠶ੜ

    View full-size slide

  16. MPD解説 -
    メディアの種類を記述する
    →プレーヤーはコンテンツの音声や映像、字幕などを選択する
    AdaptationSetのMIME(映像なのか、音声なのか、字幕なのか)
    複数のRepresentation(ビットレート)が定義しているとき、
    セグメント同士が連続しているか
    →言語別の音声や字幕などを選択することも可能

    View full-size slide

  17. MPD解説 -
    セグメントのパスやテンプレートを記述する
    →SegmentBase, SegmentTemplate, SegmentListなどいくつか
    の記述方法がある
    timeやdurationなどのタイムスケール
    セグメントのテンプレートパス
    セグメントのタイムライン


    ˞EVSBUJPOͷܭࢉ

    View full-size slide

  18. MPD解説 -
    セグメントの形式を記述する
    このIDをテンプレートの値として使用する
    帯域
    コーデック
    →端末は自分の環境(通信環境やサポートコーデック)により、適切な
    Representationを選択する

    View full-size slide

  19. MPDの構造
    1FSJPE
    "EBQUBUJPO4FU
    4FHNFOU5FNQMBUF
    .1%
    3FQSFTFOUBUJPO
    4FHNFOU5JNFMJOF
    3FQSFTFOUBUJPO
    "EBQUBUJPO4FU
    1FSJPE


    番組本編のPeriod
    映像のAdaptationSet
    セグメントテンプレート
    セグメントのタイムライン
    ビットレート、解像度別の情報(1080p)
    ビットレート、解像度別の情報(720p)
    音声のAdaptationSet
    CMのPeriod

    View full-size slide

  20. MPEG-DASHのマニフェスト構造
    プロファイル指定
    メディアパスのテンプレート
    タイムライン
    ビットレート、解像度別の定義
    映像、音声、字幕の定義(言語別の音声など)
    コンテンツごとの単位(時間で分割、広告など)
    リクエストの一例
    1. mp4ce/BSnr3JKqCoqq3H/P4AMzXhX8xh/360p.1/74011529.m4s
    2. mp4ce/BSnr3JKqCoqq3H/P4AMzXhX8xh/720p.1/74011529.m4s
    3. mp4ce/BSnr3JKqCoqq3H/P4AMzXhX8xh/720p.1/74332041.m4s
    (74011529+320512)

    View full-size slide

  21. M4Sとは
    フラグメント(セグメント)化されたMP4ファイルのこと
    (ここではfMP4と呼ぶ)
    →MPEG-DASHのISOBMFFでは、MP4をメディアファイルとする必要が
    ある
    fMP4は通常のMP4とは異なり、メディアの基本情報が記述さ
    れた、Initialization SegmentとMedia Segmentの2種類
    がある

    View full-size slide

  22. TSの構造
    UT
    1"5
    1.5
    7JEFP%BUB
    "VEJP%BUB
    7JEFP%BUB
    "VEJP%BUB
    7JEFP%BUB
    "VEJP%BUB
    CZUF۠੾Γ
    ʜ

    View full-size slide

  23. MP4とfMP4の構造
    .1
    NFEJBNQ
    NPPW
    NWIE
    USBL
    GUZQ
    NEBU
    7JEFP%BUB
    G.1
    JOJUNT
    NT
    NPPG
    NEBU
    7JEFP%BUB
    NGIE
    USBG
    NPPW
    NWIE
    USBL
    GUZQ

    View full-size slide

  24. HLSとMPEG-DASHのファイル取得
    )-4 .1&(%"4)
    NV .BTUFS1MBZMJTU
    .FEJB1MBZMJTU
    NV
    UT 4FHNFOU
    UT 4FHNFOU
    .FEJB1MBZMJTU
    NV
    UT 4FHNFOU
    NQE .BOJGFTU
    .BOJGFTU
    NQE
    NT 4FHNFOU 4FHNFOU
    NT 4FHNFOU 4FHNFOU
    NT 4FHNFOU 4FHNFOU
    *OJUJBM4FHNFOU
    NT
    7JEFP "VEJP
    *OJUJBM4FHNFOU

    View full-size slide

  25. MPEG-DASHとHLSの違い
    )-4 .1&(%"4)
    ن֨ "QQMF *40ࠃࡍඪ४ن֨
    ָ
    ࣮૷ ΊΜͲ͍͘͞
    গͳ͍
    ػೳ ଟ͍

    View full-size slide

  26. AbemaTVのリニア型配信

    View full-size slide

  27. リニア型配信とは…
    24時間365日、予め編成された番組表に従って行う配信

    View full-size slide

  28. AbemaTVのリニア型配信
    番組表に従って収録済みの映像、生放送、CM、フィラーなど
    あらゆるコンテンツを配信
    ഑৴γεςϜ Ϣʔβʔ
    ऩ࿥ө૾
    ੜ์ૹ
    $.
    ϑΟϥʔ
    ※フィラー
    番組表に放送枠がないときや、
    生放送の映像が取得できない時に流れる代替映像

    View full-size slide

  29. 収録映像のリニア型配信
    映像
    ソース Transcoder Storage Streaming
    Server CDN Client
    ഑৴γεςϜ Ϣʔβʔ
    τϥϯείʔυγεςϜ

    View full-size slide

  30. 生放送のリニア型配信
    映像
    ソース Wirecast Wowza Collector Storage Streaming
    Server CDN Client
    ഑৴γεςϜ Ϣʔβʔ
    ੍࡞ݱ৔

    View full-size slide

  31. MPEG-DASH対応

    View full-size slide

  32. MPEG-DASH対応
    DRM技術に対応したコンテンツの配信を行う必要があった
    →AbemaTVでは、通常の配信でも暗号化されているが、CP(コンテン
    ツプロバイダー)によっては、認められているDRM技術への対応が必要
    →DRMはデバイスごとの対応が異なり、DRMによって必要な配信形式も
    異なる

    View full-size slide

  33. DRMと配信方式の対応
    .JDSPTPGU
    1MBZ3FBEZ
    "QQMF
    'BJS1MBZ
    (PPHMF
    8JEFWJOF
    )-4
    .1&(%"4)
    ˚ ˓
    ΄΅
    ✕ ˓ ˓
    ˓
    AbemaTVではこの4方式に対応

    View full-size slide

  34. τϥϯείʔυγεςϜ
    収録映像のリニア型配信
    映像
    ソース Transcoder Storage Streaming
    Server CDN Client
    ഑৴γεςϜ Ϣʔβʔ
    .1%Λੜ੒
    UTΛੜ੒
    G.1Λੜ੒

    View full-size slide

  35. なぜfMP4と
    MPDを
    別に生成するか
    AbemaTVでは、番組表に従ってコンテンツを再生するため、
    動的にマニフェストファイルを生成する必要がある
    →セグメントの情報はファイルやデータベースに保存されており、それらを参
    照してMPDを動的に生成している

    View full-size slide

  36. 生放送のリニア型配信
    映像
    ソース Wirecast Wowza Collector Storage Streaming
    Server CDN Client
    ഑৴γεςϜ Ϣʔβʔ
    ੍࡞ݱ৔
    G.1Λੜ੒ .1%Λੜ੒
    UTΛੜ੒

    View full-size slide

  37. 生放送で
    fMP4を
    生成する
    予め区切られたTSファイルをMP4に変換し、Initial Segment
    とMedia Segmentに分ける
    UT NQ JOJUNT
    NFEJBNT
    ࣌ؒ৘ใ
    →生配信ではいつCMを挿入するかがわからないため、毎セグメントごとに
    Initial Segmentを生成している
    →放送枠の時間が動的に変化するため、fMP4の時刻情報をあとから
    書き換える

    View full-size slide

  38. まとめ
    生放送の番組では、リアルタイムにTSからfMP4へのトランスコー
    ドをしてMPDを生成している
    また、MPEG-DASHのMulti-Periodの構成で本編コンテンツ
    やCMを区切っている
    収録映像の番組では、予め生成したfMP4とセグメント情報か
    ら動的にMPDを生成している

    View full-size slide

  39. 配信品質の管理

    View full-size slide

  40. 配信品質
    AbemaTVでは、テレビ品質の配信を目指している

    View full-size slide

  41. トラブルが起こる箇所
    本来放送されるべきコンテンツが配信されないトラブルは、
    様々な要因で発生する
    ΦϖϨʔγϣϯϛε
    ΦϖϨʔγϣϯϛε
    映像
    ソース Wirecast Wowza Collector Storage Streaming
    Server CDN Client
    ഑৴γεςϜ Ϣʔβʔ
    ੍࡞ݱ৔
    ΦϖϨʔγϣϯϛε
    ճઢτϥϒϧ
    ΦϖϨʔγϣϯϛε
    Πϯϑϥτϥϒϧ
    ΦϖϨʔγϣ
    όά

    View full-size slide

  42. 配信品質の監視
    制作現場では、マスタールームとよばれる所で、送出する生放送
    の映像を常に監視している
    AbemaTVは他の配信サービスに比べ、映像ソースの種類が複
    数あり、複数のチャンネルを24時間配信している
    → しかし、エンジニアが張り付いて監視するには限界がある

    View full-size slide

  43. 監視ツール
    →ライブストリーミングを監視できる製品でも、AbemaTVの多チャンネル、
    24時間の配信をサポートしている製品はなく、AbemaTV独自の規格に
    対応できてない
    作るしか無い…!
    映像の品質をチェックするアプライアンスはいくつかあるが、映像
    業界で利用されているケースが多く、インターネットのライブストリー
    ミングの監視をする製品はまだ少ない
    →HTTPのステータスコードの監視は入れているが、ストリーミングとしての
    監視には役立たない

    View full-size slide

  44. 監視ツール
    AbemaTVの全チャンネルのHLSプレイリスト、MPEG-DASHの
    マニフェストを取得し、時間通りに進んでいるか、セグメントの順
    序が正しいかをチェックする
    セグメントファイルを取得しメタデータやビットレートをチェックする
    配信システムが正常に動作しているかを外形から監視することが
    可能に

    View full-size slide

  45. AbemaTV開発局の構成
    QA
    エンジニア
    E2Eテスト, 映像の品質基準など
    Android, iOS, Web, サーバサイド, インフラなど
    ディレクター 開発のディレクションなど
    デザイナー アプリケーションのデザイン, ロゴデザインなど

    View full-size slide

  46. AbemaTVエンジニアの構成
    Web
    サーバサイド
    フロント, 管理画面, Chromecastなど
    コア, API, 配信など
    Android Android, Fire TVなど
    iOS iOS, tvOSなど
    インフラ GCP, チューニング, 負荷試験など

    View full-size slide

  47. We’re hiring!
    https://recruit.abematv.co.jp
    https://www.wantedly.com/companies/abema

    View full-size slide