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
780
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
34
2023年秋 中村研 WIP発表資料
kota_yata
0
45
2023年春 中澤大越研 WIP発表資料
kota_yata
0
27
BigIntの良いとこ悪いとこ
kota_yata
0
49
末尾呼び出し最適化とJavaScript
kota_yata
12
10k
Catenaryの技術のこと
kota_yata
0
390
年越しアイデンティティ
kota_yata
0
370
Principle of SSI
kota_yata
0
450
What are the interns at Code for Japan doing?
kota_yata
0
380
Other Decks in Programming
See All in Programming
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
750
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
350
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
110
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
330
Go の GC の不得意な部分を克服したい
taiyow
2
760
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
440
선언형 UI에서의 상태관리
l2hyunwoo
0
140
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
690
快速入門可觀測性
blueswen
0
330
[JAWS-UG横浜 #76] イケてるアップデートを宇宙いち早く紹介するよ!
maroon1st
0
450
バグを見つけた?それAppleに直してもらおう!
uetyo
0
170
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Making the Leap to Tech Lead
cromwellryan
133
9k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Building Your Own Lightsaber
phodgson
103
6.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Bash Introduction
62gerente
608
210k
4 Signs Your Business is Dying
shpigford
181
21k
Six Lessons from altMBA
skipperchong
27
3.5k
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が普及するにつれてもっと注⽬されそう • 輻輳を意図的に発⽣させたりしてその時の挙動も⽐較したい