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
HLSの遅延を350ms+ネットワーク遅延分まで削減する
Search
saturday06
February 26, 2018
Programming
3
2.4k
HLSの遅延を350ms+ネットワーク遅延分まで削減する
変更履歴
2018年2月26日 初稿(勉強会で発表したやつ)
2018年3月5日 確認用URLを変更
saturday06
February 26, 2018
Tweet
Share
More Decks by saturday06
See All by saturday06
Halideによる画像処理について
saturday06
2
2.7k
Other Decks in Programming
See All in Programming
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
450
Duke on CRaC with Jakarta EE
ivargrimstad
0
160
Eloquentを使ってどこまでコードの治安を保てるのか?を新人が考察してみた
itokoh0405
0
3.2k
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
170
GraalVM Native Image トラブルシューティング機能の最新状況(2025年版)
ntt_dsol_java
0
160
Doc Translate - LLMを活用したコードドキュメント自動翻訳VSCode拡張機能
eycjur
0
100
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
160
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
11
5.4k
Micro Frontendsで築いた 共通基盤と運用の試行錯誤 / Building a Shared Platform with Micro Frontends: Operational Learnings
kyntk
0
110
詳細の決定を遅らせつつ実装を早くする
shimabox
1
1.3k
Atomics APIを知る / Understanding Atomics API
ssssota
1
180
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
4
750
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Rails Girls Zürich Keynote
gr2m
95
14k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
It's Worth the Effort
3n
187
29k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
What's in a price? How to price your products and services
michaelherold
246
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Docker and Python
trallard
46
3.7k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Transcript
HLSのライブ配信遅延を 『350ms+ネットワーク遅延分』 まで削減する方法 ピクシブ株式会社 茂木 勇
結論は先に書いてって教わった 今回の提案手法でのライブ配信のHLSの遅延 Google Chrome 64 Firefox 58 Safari 11 Edge
各種モバイ ルブラウザ localhostから localhostへの 配信遅延 0.35秒 0.5秒 1.3秒 3秒 未調査 確認用URL: http://hls.leafytree.jp:3001/ ソースコード: https://github.com/saturday06/fastest-practical-hls.git
目次 自己紹介 10秒 HLSのライブ配信ついて 1分 提案手法 1分 デモ 30秒 提案手法の問題点
30秒 ベンチマーク(さっき出したやつ) 30秒 結論 30秒
自己紹介 茂木 勇 - https://twitter.com/saturday06 - https://github.com/saturday06 エンジニア@ピクシブ株式会社 最近は動画配信も・・・!
HLSにおけるライブ配信
HLSのライブ配信遅延 HLSでライブ配信する場合は遅延が結構出る ニコ生の遅延は4-8秒(2017年11月29日の記事) http://panora.tokyo/45675/ FRESH!の遅延は3秒(2017年9月5日の記事。当時の業界最速らしい) https://av.watch.impress.co.jp/docs/news/1079234.html YouTubeの超低遅延モードの遅延は2秒(CMAFを利用、2017年9月25日の記事) https://engineer-world.duckdns.org/2017/09/14/post-1120/ 提案手法は 0.35秒
- 3秒
HLSのライブ配信
0% MPEG-TSファイルに録画 HLSのライブ配信
10% MPEG-TSファイルに録画 HLSのライブ配信
20% MPEG-TSファイルに録画 HLSのライブ配信
MPEG-TSファイルに録画 50% HLSのライブ配信
MPEG-TSファイルに録画 100% HLSのライブ配信
MPEG-TSファイルに録画 100% M3U8 プレイリスト HLSのライブ配信
M3U8 プレイリスト MPEG-TSファイル 完了したTSファイルを プレイリストに追記 HLSのライブ配信
M3U8 プレイリスト MPEG-TSファイル HTTPでダウンロード HLSのライブ配信
M3U8 プレイリスト MPEG-TSファイル HTTPでダウンロード HLSのライブ配信
M3U8 プレイリスト HTTPでダウンロード MPEG-TSファイル MPEG-TSファイルに録画 0% HLSのライブ配信
M3U8 プレイリスト HTTPでダウンロード MPEG-TSファイル MPEG-TSファイルに録画 50% HLSのライブ配信
M3U8 プレイリスト HTTPでダウンロード MPEG-TSファイル MPEG-TSファイル HLSのライブ配信
M3U8 プレイリスト HTTPでダウンロード MPEG-TSファイル MPEG-TSファイル MPEG-TSファイルに録画 0% HLSのライブ配信
M3U8 プレイリスト HTTPでダウンロード MPEG-TSファイル MPEG-TSファイルに録画 50% MPEG-TSファイル MPEG-TSファイル HLSのライブ配信
提案手法
提案手法
M3U8 プレイリスト 提案手法
0% M3U8 プレイリスト MPEG-TSファイル 提案手法
0% M3U8 プレイリスト MPEG-TSファイル 提案手法 未完了でも プレイリストに 書いちゃう
M3U8 プレイリスト 提案手法 10% MPEG-TSファイル
M3U8 プレイリスト 提案手法 30% MPEG-TSファイル HTTPでダウンロード
M3U8 プレイリスト 提案手法 100% MPEG-TSファイル HTTPでダウンロード 0% MPEG-TSファイル
M3U8 プレイリスト 提案手法 30% MPEG-TSファイル HTTPでダウンロード _人人人人人人_ > 実質RTMP <  ̄Y^Y^Y^Y^Y ̄
提案手法の問題点 - CDNが使えないかもしれない - コネクションが増え過ぎる
デモ