Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Media over QUICとRTMP+HLSの比較
Search
kota-yata
May 24, 2024
Programming
1
650
Media over QUICとRTMP+HLSの比較
WebRTC Meetup 10周年記念イベントでの登壇資料です
https://webrtcmeetup.connpass.com/event/313737/
kota-yata
May 24, 2024
Tweet
Share
More Decks by kota-yata
See All by kota-yata
パタヘネ輪読: 第一章
kota_yata
0
24
2023年秋 中村研 WIP発表資料
kota_yata
0
37
2023年春 中澤大越研 WIP発表資料
kota_yata
0
23
BigIntの良いとこ悪いとこ
kota_yata
0
42
末尾呼び出し最適化とJavaScript
kota_yata
12
9.8k
Catenaryの技術のこと
kota_yata
0
390
年越しアイデンティティ
kota_yata
0
360
Principle of SSI
kota_yata
0
440
What are the interns at Code for Japan doing?
kota_yata
0
380
Other Decks in Programming
See All in Programming
CSC509 Lecture 09
javiergs
PRO
0
100
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
420
Vue3の一歩踏み込んだパフォーマンスチューニング2024
hal_spidernight
3
3.1k
Googleのテストサイズを活用したテスト環境の構築
toms74209200
0
270
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
23
11k
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
210
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
7
430
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
4
1.5k
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
480
Importmapを使ったJavaScriptの 読み込みとブラウザアドオンの影響
swamp09
4
1.2k
Realtime API 入門
riofujimon
0
110
Kubernetes for Data Engineers: Building Scalable, Reliable Data Pipelines
sucitw
1
200
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.2k
Unsuck your backbone
ammeep
668
57k
What's in a price? How to price your products and services
michaelherold
243
12k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
The Cost Of JavaScript in 2023
addyosmani
45
6.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Speed Design
sergeychernyshev
24
570
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
Code Review Best Practice
trishagee
64
17k
Transcript
Media over QUICとRTMP+HLSの⽐較 Kota Yatagai (@kota_yata)
⾃⼰紹介 ⼋⾕航太(ヤタガイ コウタ) 2 • 慶應義塾⼤学環境情報学部2年(村井研究室) • QUICに興味がある • WebRTCも⾼校の頃からいじっていたりする
• X: @kota_yata, GitHub: kota-yata
今回やったこと 新興技術Media over QUICと従来のライブ配信⼿法(RTMP+HLS)との⽐較 3 • Media over QUICについてはデコーダは⾃作、エンコーダとサーバーはMetaのOSSを利⽤ ◦
facebookexperimental/moq-go-server ◦ facebookexperimental/moq-encoder-player • RTMP+HLSについてはAmazon IVSのLow-latency Streamingを利⽤
Media over QUICとは?? 4 • QUIC上で動くメディアプロトコル • コアプロトコルとしてMedia over QUIC
Transport (MOQT), ストリーミングフォーマットとして WARPやLOCが存在する ◦ QUICの多重化ストリームを利⽤することでHoLブロッキングを避ける ◦ リレーサーバーの振る舞いをプロトコルに組み込んで⼤規模配信に対応
Media over QUICの特徴 5 1フレームごとにストリームを分けて送信できる (⼩松さんの資料から引⽤) • フレームごとにQUICのストリームを張って送信する • フレーム単位での優先順位制御(ex.新しいフレームを優先)が可能になる
• パケットドロップしても⽋落するのは1フレーム分のみ • 複数トラックの時間同期が可能になる(⾳声‧映像‧MIDI‧触覚データ等)
Media over QUICと他プロトコルの⽐較 6 • HLSやDASHではダメなのか? ◦ TCPを使っている限りHoLブロッキングの問題がついて回る ◦ Adaptive
bitrate(ABR)やセグメント処理が遅延の原因になる(LL-*でもなお遅い) ◦ HLSやMPEG-DASHをQUIC上で使っても多重化ストリームを利⽤できない • WebRTCじゃダメなのか? ◦ WebRTCはカスタマイズ性が著しく低い ▪ libwebrtcをいじらないといけない ▪ MoQはエンコード/デコードはWebCodecsに任せるなど、結構柔軟性がある ◦ P2Pのユースケースに特化されている(特にビデオ会議)
7 デモ
8 デモの構成
感想 9 • jitter buffer⼊れていないとはいえMoQとても早い ◦ QUICが普及するにつれてもっと注⽬されそう • 輻輳を意図的に発⽣させたりしてその時の挙動も⽐較したい