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

動画配信の技術について/株式会社PLAY

 動画配信の技術について/株式会社PLAY

Avatar for PLAY, inc.

PLAY, inc.

July 14, 2025
Tweet

More Decks by PLAY, inc.

Other Decks in Technology

Transcript

  1. ⽬次 • 動画とは? • 動画配信の技術 • 動画配信の技術:HLSとは? • 映像コーデック •

    ⾳声コーデック • 字幕 • 暗号化‧権利保護 • 配信プロトコルの新潮流 • 打ち上げプロトコルの新潮流 2
  2. 動画とは? • 動画: コンテナ + コーデック の組み合わせ ◦ コンテナ: コーデックを多重化する⽅式のこと

    ◦ コーデック: 映像や⾳声を圧縮する⽅式のこと コーデック 映像 ⾳声 コンテナ MPEG-TS MP4 (ISOBMFF) FLV … AVC (H.264) AAC … HEVC (H.265) 多重化 4
  3. 動画とは? ─ コンテナ • コンテナ: コーデックを多重化する⽅式のこと ◦ MPEG-TS (H.222: ISO/IEC

    13818-1) ▪ エラーに強く、放送⽤途で使われます ▪ HLSで採⽤されています ◦ MP4 (ISOBMFF: ISO/IEC 14496-12) ▪ 効率的で、蓄積再⽣⽤途で使われてます ▪ CMAF(fMP4)という形でDASH/HLSで採⽤されています ◦ FLV ▪ RTMPの内部で使われています ▪ 映像と⾳声それぞれ1つだけしか⼊れられません 5
  4. 動画とは? ─ コーデック • コーデック: 映像や⾳声を圧縮する⽅式のこと ◦ 映像コーデック ▪ H.262

    (MPEG2), H.264 (AVC), H.265 (HEVC), AV1, … ▪ 新しいコーデックは圧縮率が⾼い → 低ビットレートで⾼画質に! ◦ ⾳声コーデック ▪ MP3, AAC, Opus, flac, AC-3, EC-3, … ▪ コーデックによって量⼦化ビット数や圧縮率などが変わります ◦ 動画配信では H.264/AAC がデファクトスタンダードです 6
  5. 動画とは? ─ 動画のパラメータ • 動画のパラメータ ◦ よく以下のキーワードを⾒ますよね? ▪ 解像度: HD,

    Full HD, QHD, 4K UHD, … ▪ ビットレート: 1Mbps, 4Mbps, 10Mbps, … ▪ フレームレート: 30FPS, 29.97FPS, … ▪ フレームレート種別: CFR, VFR ▪ キーフレーム間隔: 1秒, 2秒, … ◦ これらのパラメータについて、説明します 7
  6. 動画とは? ─ 解像度 • 解像度: 横画素数 × 縦画素数 のこと ◦

    ⼤きいほどシャープになりクッキリします ◦ 解像度の種類 ▪ ソース解像度: 元の動画の解像度のこと ▪ 表⽰解像度: プレイヤーの解像度のこと ◦ ソース解像度 ≠ 表⽰解像度の場合... ▪ アップスケーリング/ダウンスケーリングして合わせます ▪ ⼤体はリニア補間でスケーリングします ▪ AIでスケーリングする技術もあります (NVIDIA VSR など...) 8
  7. 動画とは? ─ ビットレート • ビットレート: 単位時間あたりのデータ量のこと ◦ 単位は bps (bit

    per second) ◦ CBR: 固定ビットレート ◦ VBR: 可変ビットレート ▪ ABR → 平均ビットレートを⼀定に保つ ▪ CQP → 量⼦化パラメータを固定 ▪ CRF → 品質を固定 ◦ 何を使うか: ⽤途によります ▪ VOD配信: 主に ABR が使われます ▪ ライブ配信: 主に CBR が好まれます 9
  8. 動画とは? ─ フレームレート • フレームレート: 単位時間あたりのフレーム数のこと ◦ 単位は FPS (Frames

    Per Sec) ◦ よく使うフレームレート ▪ 30 FPS, 60 FPS: デファクトのフレームレート ▪ 29.97 FPS, 59.94 FPS: (NTSC) ⽇本や北⽶の放送のフレームレート • 正確には 30000/1001 FPS, 60000/1001 FPS です ▪ 25 FPS, 50FPS: (PAL) 欧州のテレビのフレームレート ▪ 24 FPS: 映画系でよく使われる ▪ 23.976 FPS: 24FPS を NTSC のように変更したもの • 正確には 24000/1001 FPS です ◦ 動画配信では、だいたい 30 FPS か 29.97 FPS を利⽤します 10
  9. 動画とは? ─ フレームレート種別 • フレームレート種別 ◦ CFR: 固定フレームレート ◦ VFR:

    可変フレームレート ◦ 動画配信では CFR (固定フレームレート) を使います 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 CFR VFR 11
  10. 動画とは? ─ キーフレーム間隔 • キーフレーム ◦ シークの起点となるフレームのこと ◦ I(Intra)フレームと呼ぶことも多いです •

    キーフレーム間隔 ◦ キーフレームが挿⼊される間隔のこと ▪ シーク時の再⽣の起点、動画の分割点になります B P B P … … B P B P I I I ここから 再⽣可能 ここから 再⽣可能 ここから 再⽣可能 12
  11. • 動画配信の流れ ◦ 映像‧⾳声はOVPにより配信⽤途へ変換され、視聴者に届きます ▪ OVP (Online Video Platform): 動画配信プラットフォームのこと

    CDN 動画配信の技術 ─ 動画配信の流れ 映像 ⾳声 配信ソフト エンコード エンコード 多重化 OVP (Online Video Platform) パッケージング 打ち上げ 視聴者 配信 トランスコード 14
  12. • AWSのマネージドサービスでは... ◦ VOD配信の場合 OVP (Online Video Platform) 動画配信の技術 ─

    動画配信の流れ Amazon CloudFront Amazon S3 視聴者 配信したい動画 CDN オリジン S3 + CloudFront マネージドサービスで構成 ⼤規模配信の負荷を捌く MP4 MediaConvert ファイルをトランスコード、パッケージング 出来たファイルを S3 に配置 トランスコード‧パッケージング HLS / MPEG-DASH AWS Elemental MediaConvert 15
  13. • AWSのマネージドサービスでは... ◦ ライブ配信の場合 OVP (Online Video Platform) 動画配信の技術 ─

    動画配信の流れ AWS Elemental MediaLive Amazon CloudFront 視聴者 配信ソフト CDN Amazon S3 オリジン S3 + CloudFront マネージドサービスで構成 ⼤規模配信の負荷を捌く MediaLive ライブエンコード、パッケージング 出来たファイルを S3 に配置 RTMP トランスコード‧パッケージング HLS / MPEG-DASH 16
  14. • 動画配信の技術は階層的に構成されてます ◦ 上位レイヤーが下位レイヤーを利⽤します ▪ 配信(配信プロトコル) → 多重化(コンテナ) → 圧縮(コーデック)

    動画配信の技術 ─ 技術スタック 配信プロトコル HLS MPEG-DASH RTMP … コンテナ MPEG-TS MP4 (ISOBMFF) FLV … コーデック AVC (H.264) AAC … HEVC (H.265) 映像 ⾳声 17
  15. • 動画配信の技術は階層的に構成されてます ◦ 上位レイヤーが下位レイヤーを利⽤します ▪ 配信(配信プロトコル) → 多重化(コンテナ) → 圧縮(コーデック)

    ◦ H.264/AAC を HLS (MPEG-TS) で配信する場合... コーデック 映像 ⾳声 動画配信の技術 ─ 技術スタック 配信プロトコル HLS コンテナ MPEG-TS AVC (H.264) AAC 18
  16. 動画配信の技術 ─ 配信プロトコル • 配信プロトコル: 動画を視聴者に配信する⽅式のこと ◦ HLS: RFC 8216

    ▪ Apple策定の配信プロトコル ▪ 動画配信のデファクトスタンダードです ◦ MPEG-DASH: ISO/IEC 23009-1 ▪ ISO/IEC策定(国際標準規格)の配信プロトコル ▪ DRM要件がある場合に利⽤する事が多いです ◦ RTMP ▪ Adobe策定の配信プロトコル ▪ 2010年の頃の動画配信といえばこれ! 19
  17. • トランスコード: 再エンコードすること ◦ 動画配信では 配信に適するように変換する 場合に使います ▪ 解像度を調整、複数のビットレートの準備、... コンテナA

    から Demux コンテナB へ Mux 再エンコード 動画配信の技術 ─ トランスコード コンテナA ⾳声A 映像A ⾳声A 映像A ⾳声A’ 映像A’ コンテナB ⾳声A’ 映像A’ 20
  18. 動画配信の技術 ─ パッケージング • パッケージング: 配信プロトコルに適合させること ◦ 配信に適した形式に変換してから配信します ▪ HLS,

    MPEG-DASH などの HTTPベースの配信プロトコル で必要になります ◦ パッケージングでおこなう処理 ▪ セグメント化: 流れてくる動画を⼀定範囲で区切ります ▪ コンテナ変換: セグメントのコンテナを変更します ▪ DRM処理: 権利保護のために暗号化します ◦ CDNで効率的に配信可能な形に変換して配信します 21
  19. 動画配信の技術 ─ CDN • CDN: Contents Delivery Network ◦ コンテンツを配信するためのネットワーク網のこと

    ◦ 現代のCDNは以下の特徴を持ちます ▪ HTTPのキャッシュサーバとして働き、オリジンを保護する ▪ クライアントからの⼤量のリクエストを捌く ▪ ⼤量のデータ(動画)を効率的にクライアントへ伝送する ◦ 動画配信において、無くてはならない存在です 22
  20. 動画配信の技術 ─ 配信形態 • 配信形態: どのように配信するか? ◦ VOD配信: 静的な動画を配信すること ▪

    AVOD: 広告付きVOD配信のこと ▪ SVOD: サブスクVOD配信のこと ▪ TVOD: レンタル型のVOD配信のこと ◦ ライブ配信: ライブの動画 (ストリーム) を配信すること ▪ DVR再⽣(追いかけ再⽣): 巻き戻れるライブ配信のこと ▪ 擬似ライブ: VODをライブのように配信すること 23
  21. • HLS (HTTP Live Streaming) ◦ Apple が策定した HTTPベースの配信プロトコル です

    ◦ セグメントとプレイリストで構成されます ▪ セグメント: 動画ファイルを分割したもの ▪ プレイリスト: 動画を構成するセグメントのリンクの⼀覧 ◦ 再⽣の流れ ▪ プレイリスト をHTTPでGETします ▪ プレイリストの内容にある セグメント をHTTPでGETします ▪ 再⽣バッファが貯まったら、再⽣開始します 動画配信の技術 ─ HLS (HTTP Live Streaming) 25
  22. • HLS (HTTP Live Streaming) ◦ プレイリストとセグメントの関係 SD HD Audio

    動画配信の技術 ─ HLS (HTTP Live Streaming) Variant Playlist Segment Segment Segment Segment Multivariant Playlist Variant Playlist Segment Segment Segment Segment Variant Playlist Segment Segment Segment Segment プレイヤー 26
  23. 動画配信の技術 ─ HLS (HTTP Live Streaming) • HLS (HTTP Live

    Streaming) ◦ プレイリストの中⾝ ▪ # から始まる⾏: プレイリストのタグ(メタデータ) • タグについては テックブログ を参照ください ▪ 通常の⾏: リンク(URL) #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:5 #EXT-X-MEDIA-SEQUENCE:1 #EXTINF:4.004, https:-/www.example.com/manifest_1_1.ts #EXTINF:4.004, https:-/www.example.com/manifest_1_2.ts #EXTINF:4.004, https:-/www.example.com/manifest_1_3.ts Media Playlist #EXTM3U #EXT-X-VERSION:3 #EXT-X-STREAM-INF:BANDWIDTH=1091244 https:-/www.example.com/manifest_1.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=2382397 https:-/www.example.com/manifest_2.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=3859904 https:-/www.example.com/manifest_3.m3u8 Multivariant Playlist 27
  24. 映像コーデック ─ 符号化タイプ • 符号化タイプ (ピクチャタイプ) ◦ I, P, B

    の 3つのタイプがあります ▪ I(Intra): 単体で完結する画像 ▪ P(Predictive): 直近の過去からの差分画像 ▪ B(Bi-directional predictive): 直近の過去+未来からの差分画像 I I P B B 29
  25. 映像コーデック ─ GOP • GOP: Group Of Pictures ◦ キーフレームと参照フレームをグルーピングした単位のこと

    ◦ GOP 間隔: 必ずキーフレーム が⼊るフレーム数 (キーフレーム間隔) ◦ 構成により Closed GOP と Open GOP がある ◦ 動画配信では Closed GOP を使います! I B P B P P I … … Closed GOP B I B P P P B … … Open GOP GOP内で参照が完結 GOPをまたぐ参照がある 30
  26. 映像コーデック ─ スキャンタイプ • スキャンタイプ ◦ プログレッシブ: 1つのフレームをそのまま送る⽅式 ◦ インターレース:

    1つのフレームを奇数⾏/偶数⾏で分けて送る⽅式 ◦ 動画配信ではプログレッシブを使います! 1 2 3 4 プログレッシブ 1 3 2 4 インターレース 31
  27. 映像コーデック ─ タイムコード表記 • タイムコード表記 ◦ NDF: ノンドロップフレーム(00:01:00:00) → フレーム数そのまま

    ◦ DF: ドロップフレーム (00:01:00;02) → ⾮10の倍数分で2F(4F)⾶ぶ ▪ 理由: 60秒 * 30 - 60秒 * 29.97 = 1.8F → 2F - 0.2F = +2F(1分毎), -2F(10分毎) ※ 10 分毎に相殺され ±0F になる ▪ DF の場合はフレームの区切りを ; と表記するのが⼀般的 ◦ DF は 29.97 FPS, 59.94 FPS で使えるタイムコード表記法 ▪ 29.97 FPS, 59.94 FPS = DF という訳ではない (NDF 表記の場合もある) • タイムコードが DF だと経過時間と対応するため DF が多いが ▪ 23.976 FPS では DF のタイムコードはなく NDF のみ 32
  28. ⾳声コーデック ─ サンプリングレート • サンプリングレート (標本化周波数) ◦ ⾳声をサンプリング(標本化)する間隔のこと ▪ サンプリングレートが⾼いほど、⾳質は上がる

    ◦ よく使うサンプリングレート ▪ 96000Hz: ハイレゾ配信 で利⽤される ▪ 48000Hz: 放送, 配信 で利⽤される ▪ 44100Hz: CD などの⾳楽系で利⽤される 34
  29. ⾳声コーデック ─ 量⼦化ビット数 • 量⼦化ビット数 (ビット深度) ◦ ⾳声を記録する(量⼦化)ビット数のこと ▪ 量⼦化ビット数が⾼いほど、⾳質は上がる

    ◦ コーデックによって量⼦化ビット数に上限があります ▪ MP3, AAC: 16bit のみ対応 ▪ flac: 24bit (1.4.0 から 32bit) まで可 35
  30. ⾳声コーデック ─ リニアPCM (Linear PCM) • リニアPCM: Linear PCM ◦

    ⾮圧縮の⾳声コーデック ▪ 単なる⾳声のデータ(bit列)のみ ▪ パラメータは外部から指定する • サンプリングレート, 量⼦化ビット数, チャンネル数 … ◦ コンテナの対応がちょっと微妙... ▪ FLV: 8bit, 16bit 深度で モノラル,ステレオ のみ対応 ▪ ISOBMFF: ISO/IEC 23003-5:2020 で対応 (再⽣互換性に難あり...) ▪ MOV: デフォルト対応 ▪ MPEG-TS: BDAVの拡張で対応 36
  31. ⾳声コーデック ─ MDCT (修正離散コサイン変換) • MDCT: 修正離散コサイン変換 ◦ MP3, AAC

    で使われている周波数領域への変換⽅法 ◦ MDCTの特徴 ▪ エンコード: ブロックをオーバーラップ(重複)させつつ変換 • ブロック境界のノイズを回避するため ▪ デコード: 窓関数を使ってクロスフェード (TDAC) • 常にクロスフェードするため、無劣化のカット編集はできない ▪ オーバーラップさせるが、変換後のデータ量は元と同じ ◦ 効果的な計算⽅法 ▪ ⾼速に計算可能な FFT に帰着して計算する ▪ DCT-IV → DCT-II に帰着して、FFT の要領で DCT-II を計算する 37
  32. • SRT: SubRip Text ◦ SubRip というソフトウェアの字幕フォーマット ▪ 拡張⼦は “.srt”

    ◦ ⾮常に単純なため、多くのプレイヤーがサポートしている ▪ どれくらい単純かというと... 1 00:20:41,150 --> 00:20:45,109 字幕1行目 字幕2行目 2 00:21:34,567 --> 00:21:45,678 次の字幕 Wikipedia より引用 字幕 ─ SRT (SubRip Text) 39
  33. 字幕 ─ WebVTT (Web Video Text Tracks) • WebVTT: Web

    Video Text Tracks ◦ W3Cが策定したWeb配信向け字幕フォーマット ▪ 拡張⼦は “.vtt” ◦ SRTをベースに拡張を加えたもの ▪ 元々は WebSRT という名前だった ▪ SRTと同じく多数のプレイヤーがサポートしている WEBVTT 00:20:41.150 --> 00:20:45.109 字幕1行目 字幕2行目 00:21:34.567 --> 00:21:45.678 次の字幕 Wikipedia より引用 40
  34. 字幕 ─ TTML (Timed Text Markup Language) • TTML: Timed

    Text Markup Language ◦ W3Cが策定した字幕の記述のためのマークアップ⾔語 ▪ HTMLのようなXMLで字幕を記述する ◦ TTMLは制作のためのフォーマット ▪ 字幕のユニバーサルな記法を作ることが⽬的 ▪ 広く字幕を提供する⽬的で作られたWebVTTとは対照的 ◦ 配信する際には IMSC や WebVTT に変換する ▪ IMSC は Web配信向けに機能を絞ったTTMLのサブセットのこと ▪ TTML → WebVTT の変換では WebVTT の表現できる範囲にコンバートする 41
  35. 字幕 ─ IMSC (Internet Media Subtitles and Captions) • IMSC:

    Internet Media Subtitles and Captions ◦ Web配信向けのTTMLのサブセット ▪ IMSC Text Profile: テキスト字幕 ▪ IMSC Image Profile: 画像字幕 ◦ TTMLは機能が多く、配信には使いづらい ▪ TTMLの全ての機能を対応するのは⾮常に難しい ▪ 負担軽減のため、機能制限したサブセットで運⽤ ◦ WebVTTの⽅が広く利⽤されている... ▪ HLS では IMSC Image Profile は利⽤不可 ▪ WebVTTでも最低限の表現は可能 42
  36. 字幕 ─ Lambda字幕 (Videotron Lambda) • Lambda字幕 (Videotron Lambda) ◦

    映画などの字幕の制作現場で流通している形式 ▪ 拡張⼦は “.cap” ◦ Lambda字幕は制作ソフトのフォーマット ▪ プロプライエタリなフォーマットで仕様も⾮公開 ▪ 元々の会社は字幕事業から撤退している ▪ 外部から経緯が分からない謎フォーマットに... ◦ ⽇本語字幕で必要な機能が全て揃っている ▪ ルビ, 縦中横, 中頭寄せ, … ▪ ⼤体の字幕制作ソフトはLambda字幕にエクスポート可能 43
  37. 字幕 ─ サイドカー字幕 • サイドカー字幕 ◦ 字幕を動画とは別のソースとして⽤意する⽅式 ▪ 基本的に1ファイルで全部の字幕を載せる ▪

    例: HTML の track要素 で vttファイル を読ませる ◦ VOD配信でよく使われる ▪ 利点: 字幕をセグメント化しなくてよい ▪ ⽋点: ⼀括読み込みで量が多いと負荷がかかる ◦ 配信プロトコルによってサポートがまちまち… ▪ MPEG-DASH: 規格化されている ▪ HLS: 規格化されてない (⾮標準) 44
  38. 字幕 ─ 強制字幕 • 強制字幕 (FN字幕) ◦ FN: Forced Narratives

    の略 ◦ 字幕⾮表⽰の設定でも表⽰する字幕のこと ▪ ⺟国語として読めないと動画を楽しめない場合に付与する ◦ 例えば、こういう時に付けます ▪ ⾛⾏シーンで現地語の標識のアップ: 視聴者が標識を分かるように ▪ 現地語で捲し⽴てている様⼦: 視聴者が現地語を分かるように ◦ 詳しくは NetflixのFN字幕ガイド を参照のこと 45
  39. 暗号化‧権利保護 ─ 暗号化スキーム • 暗号化スキーム: 動画を暗号化する⽅式 ◦ AES: コンテナ⾃体を丸ごと暗号化 ▪

    AES-128: AES-128-CBC で暗号化 ◦ SAMPLE-AES: コーデックの中⾝(Sample)を暗号化 ▪ ISOBMFF: CENC (Common Encryption) で暗号化 • CTRモード: cenc (full-sample), cens (sub-sample) • CBCモード: cbc1 (full-sample), cbcs (sub-sample) • Widevine, PlayReady は cenc が⼀般的, FairPlay は cbcs を⽤いる ▪ MPEG-TS: Apple の FairPlay の Sample AES 仕様 で暗号化 47
  40. 暗号化‧権利保護 ─ DRMシステム • DRMシステム: 暗号鍵交換の仕組み ◦ ClearKey: 暗号鍵を平⽂で管理する ▪

    鍵交換の様⼦が外から⾒える → ないよりマシ程度 ▪ 分類上は HLS の AES-128 は ClearKey になる ◦ DRM: 暗号鍵を CDM(Content Decryption Module) で管理する ▪ セキュアに鍵交換/復号化を⾏う → 権利保護に適している • セキュア: TEE(Trusted Execution Environment) により担保 • セキュリティレベルによっては TEE を⽤いない (Widevine L3 とか) ▪ 3-DRM: FairPlay (Apple), PlayReady (Microsoft), Widevine (Google) • プラットフォーマーがコンテンツの権利保護の⼿段を提供している 48
  41. 配信プロトコルの新潮流 ─ Enhanced RTMP • Enhanced RTMP (eRTMP/eFLV) ◦ Veovera

    が策定している RTMP/FLV の拡張仕様 ▪ YouTube, Twitch, FFmpeg, OBS, Adobe が関わっている ▪ 正当な拡張として認められている雰囲気 ◦ V1: 2023-07-31-r1 (映像コーデック拡張) ▪ HEVC, AV1, VP9 に対応 ◦ V2: 2025-04-15-r1 (⾳声コーデック拡張, マルチトラック, … など) ▪ Flac, Opus, AC-3, EC-3 に対応 ▪ 映像, ⾳声のマルチトラックに対応 ◦ AWS Elemental MediaLive は⾮対応 ▪ Amazon IVS は対応済み 50
  42. 配信プロトコルの新潮流 ─ TEB (Twitch Enhanced Broadcasting) • TEB: Twitch Enhanced

    Broadcasting ◦ Twitch の Enhanced RTMP を利⽤した新しい配信⽅式 ▪ 配信側は複数解像度の映像をマルチトラックで打ち上げ ▪ OVP側でトランスコードせずに配信 ◦ 専⽤の GoLive API で事前ネゴシエーションする ▪ 配信ソフト: 配信開始時にOVP側に配信設定を取りに⾏く ▪ OVP: 配信設定(解像度, 本数, ビットレートなど)を返却する ◦ GoLive API を含めて TEB と⼀括で呼称される事が多い ◦ Amazon IVS は対応済み ▪ Twitch のテクノロジーを利⽤しているため ▪ TEBを利⽤するとトランスコード不要なので安くなる! 51
  43. 配信プロトコルの新潮流 ─ LL-HLS (Low Latency HLS) • LL-HLS: Low Latency

    HLS ◦ Apple が WWDC 2019 で発表したHLSの低遅延拡張 ▪ HLS での低遅延配信のデファクト ◦ 低遅延モードを有効にするには HTTP/2 以降 が必須 ▪ 低遅延モード: 投機的先読み + 再⽣バッファ量削減 による低遅延化 ▪ 低遅延モードでなくても 部分セグメント, ロングポーリング などは利⽤可 ▪ 低遅延モードだと最短1.5秒弱の遅延で配信できる ◦ AWS Elemental MediaPackage では MediaPackage V2 で対応 ▪ 制約あり: 部分セグメントは1秒 (2023年5⽉時点) 52
  44. 配信プロトコルの新潮流 ─ CMAF-ULL (CMAF Ultra Low Latency) • CMAF-ULL: CMAF

    Ultra Low Latency ◦ DASH-IF が 2017年に定めたMPEG-DASHの低遅延拡張 ◦ セグメントをストリーミングレスポンスで配信する ▪ CMAF-ULLはセグメントをCMAFチャンクに分割する • fMP4なのでセグメントより細かい単位に分けてフラグメント化する ▪ セグメントをチャンクのストリーミングレスポンスとして受け取る • fMP4でも完成途中のセグメントをプログレッシブにデコード可能 ◦ LHLS: CMAF-ULLをHLSの⾮公式拡張として配信する⽅式 ▪ Apple公式でLL-HLSが出たので下⽕になっている ▪ ちなみに Amazon IVS では WebRTC/LHLS を利⽤している 53
  45. 打ち上げプロトコルの新潮流 ─ WHIP (WebRTC-HTTP Ingest Protocol) • WHIP: WebRTC-HTTP Ingest

    Protocol ◦ WebRTCで打ち上げをするプロトコル ▪ Mixer (終了済み) の FTL (Faster Than Light) の後継 ▪ UDPなので TCPの輻輳制御などの影響を受けない ◦ WebRTCのシグナリングを HTTPリクエスト1回 で⾏う ▪ WHIPは 打ち上げ⽤のHTTP上でのシグナリング⽅式 を標準化 ▪ 配信側はWHEP(WebRTC-HTTP Egress Protocol)で標準化 ◦ エコシステムの対応状況 ▪ OBS, FFmpeg, GStreamer が対応している ▪ Amazon IVS は対応済み 55