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
700
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
28
2023年秋 中村研 WIP発表資料
kota_yata
0
41
2023年春 中澤大越研 WIP発表資料
kota_yata
0
23
BigIntの良いとこ悪いとこ
kota_yata
0
43
末尾呼び出し最適化とJavaScript
kota_yata
12
9.9k
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
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
Better Code Design in PHP
afilina
PRO
0
130
Click-free releases & the making of a CLI app
oheyadam
2
120
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
距離関数を極める! / SESSIONS 2024
gam0022
0
290
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
110
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
950
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
120
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
140
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Automating Front-end Workflow
addyosmani
1366
200k
Site-Speed That Sticks
csswizardry
0
27
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Producing Creativity
orderedlist
PRO
341
39k
Bash Introduction
62gerente
608
210k
Gamification - CAS2011
davidbonilla
80
5k
Thoughts on Productivity
jonyablonski
67
4.3k
Rails Girls Zürich Keynote
gr2m
94
13k
The Language of Interfaces
destraynor
154
24k
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が普及するにつれてもっと注⽬されそう • 輻輳を意図的に発⽣させたりしてその時の挙動も⽐較したい