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
570
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
2023年秋 中村研 WIP発表資料
kota_yata
0
35
2023年春 中澤大越研 WIP発表資料
kota_yata
0
22
BigIntの良いとこ悪いとこ
kota_yata
0
38
末尾呼び出し最適化とJavaScript
kota_yata
12
9.5k
Catenaryの技術のこと
kota_yata
0
390
年越しアイデンティティ
kota_yata
0
360
Principle of SSI
kota_yata
0
430
What are the interns at Code for Japan doing?
kota_yata
0
380
Other Decks in Programming
See All in Programming
型付きで行うVSCode拡張機能開発 / VSCode Meetup #31
mazrean
0
210
標準ライブラリの動向とイテレータのパフォーマンス
makki_d
3
180
CSC509 Lecture 02
javiergs
PRO
0
150
Infrastructure as Code でセキュリティを楽にしよう!
konokenj
5
1.4k
GraphQLとGigaViewer for Apps
numeroanddev
4
880
Beyond the RuboCop Defaults
koic
2
480
Cloud Adoption Frameworkにみる組織とクラウド導入戦略(縮小版)
tomokusaba
1
120
ファーストペンギンBot @Qiita Hackathon 2024 予選
dyson_web
0
210
Cancel Next.js Page Navigation: Full Throttle
ypresto
1
110
Flutterアプリを生成AIで生成する勘所
rizumita
0
240
API Platform for Laravel
dunglas
1
1.2k
タイミーにおけるデータの利用シーンと データ基盤の挑戦
marufeuille
4
3.1k
Featured
See All Featured
Statistics for Hackers
jakevdp
796
220k
What's in a price? How to price your products and services
michaelherold
243
11k
BBQ
matthewcrist
84
9.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
663
120k
Art, The Web, and Tiny UX
lynnandtonic
295
20k
[RailsConf 2023] Rails as a piece of cake
palkan
49
4.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
1
230
How GitHub Uses GitHub to Build GitHub
holman
473
290k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
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が普及するにつれてもっと注⽬されそう • 輻輳を意図的に発⽣させたりしてその時の挙動も⽐較したい