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.6k
Other Decks in Programming
See All in Programming
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
8
5.5k
Cursorハンズオン実践!
eltociear
1
310
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
1.1k
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
480
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
940
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
160
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
650
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.1k
明日から始めるリファクタリング
ryounasso
0
120
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
500
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
440
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
940
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Optimizing for Happiness
mojombo
379
70k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Building Adaptive Systems
keathley
43
2.8k
Become a Pro
speakerdeck
PRO
29
5.5k
Building Applications with DynamoDB
mza
96
6.6k
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が使えないかもしれない - コネクションが増え過ぎる
デモ