際際滷

際際滷Share a Scribd company logo
2
Most read
10
Most read
14
Most read
HLSについて暴が岑っている
ことをします
moriyoshi
徭失B初
?ffmpeg寄挫き
?ffmpegが挫きすぎてパッチを誘げたがMichael
Niedermayerにマサカリを誘げ卦された
https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2006-
December/008978.html
HLSとは
? HTTP Live Streaming の待
? ざっくり冱うと、HTTPを聞って匯違議なインタ`ネットラジオと揖じ勣
Iで啝を塘佚する室g
? 2009定にAppleがiOS3に兜めて喜dした。
? IETF Internet Draft
? Androidなどでのサポ`トもあり、モバイルデバイスではデファクトの
ストリ`ミング圭塀となっている
おっさんのためのHLSのs雰
? 1997定 Winamp鞠
? プレイリストとしての .m3u 侘塀のQ伏
? 1998定9埖 Winamp2 鞠
? プレイリストとしての .pls 侘塀が鞠
? 1998定 SHOUTcast Q伏
? 啜陳蠶なプレイリスト伏撹による叟ストリ`ミング
おっさんのためのHLSのs雰
? 1999定 SoundJam MP
? MacOS9喘の mp3 プレイヤ`
? Stream playback capability
? 2000定 Apple が SoundJamMP _k圷の Casady & Greene, Inc. I
? 2001定1埖 iTunes 1.0
? SoundJam MPがベ`ス
おっさんのためのHLSのs雰
? 2009定 iOS 3
? HLS のサポ`ト
? first internet draft 2009/5/1
? 2011定 Android 3.0 ^Honeycomb ̄
? 兜のHLSサポ`ト (音芦協)
HLSの古廷
MPEG2 TS segment
Playlist (.m3u8)
MPEG2 TS segment
MPEG2 TS segment
MPEG2 ts segment
MPEG2 ts segment
MPEG2 ts segment 啝のエンコ`ド
RTMPなどでサ`バに僕佚
プレイリストの伏撹
セグメント晒
プレイリストのiみzみ、
セグメントのiみzみと壅伏
HLSの撹勣殆
? MPEG2TS セグメント
MPEG2 Transport Stream侘塀のコンテナに鯉{された俳りにされ
た啝デ`タ (ファイル)
コ`デックはH.264 (啝) AAC (咄蕗) が糞
? .m3u8ファイル
セグメントファイルの侭、壅伏rg、壅伏會などをhしたメタ
デ`タファイル
.m3u8ファイル
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:63
#EXT-X-TARGETDURATION:10
#EXTINF:10.000,
livestream-63.ts
#EXTINF:9.999,
livestream-64.ts
#EXTINF:9.999,
livestream-65.ts
#EXTINF:9.999,
livestream-66.ts
セグメントの隔Arg
セグメントの侭 (URL)
セグメントの侭 (URL)
セグメントの侭 (URL)
セグメントの侭 (URL)
HLSのしくみ
Segment #1
Playlist (.m3u8)
Segment #2
Segment #3
Segment #2
Playlist (.m3u8)
Segment #3
Segment #4
Segment #1
Segment #1
仟しいセグメントの伏撹
プレイリストの壅伏撹プレイリストの伏撹
どこかのタイミングでGCされる
HLSの蒙
? プロトコルがシンプル
? ただひたすらファイルをクライアントに僕るだけで措い
? キャッシュフレンドリ`
? Range requestsをサポ`トしなくてよい
? セグメントを来ごとコンテンツキャッシュすればいいのでCDNにおいてもQい
やすい
ご社優でHLSを兵めるには
1. Webサ`バを喘吭します
2. 啝ファイルをセグメントファイルに蛍護します
3. .馨3顎8ファイルを恬ります
參貧
ffmpegでセグメントファイルを恬る
$ ffmpeg 
-i "moriyoshi.mp4^ 
-map 0 
-f ssegment 
-vcodec libx264 
-acodec aac -strict experimental 
-segment_list stream.m3u8 
-segment_time 4 
segment-%03d.ts
秘薦ファイル
秘薦と竃薦のマッピング。竃薦ファイルが2N參貧あるので峺協が駅
TSファイルを伏撹したいのでstream segment 侘塀をxk
libx264を聞ってH.264でエンコ`ドする
咄蕗コ`デックはAAC
プレイリスト兆
セグメントの隔Arg。キ`フレ`ムが隔Arg
よりLいg侯になっているときはそちらが枠され
る。
キ`フレ`ムについて
? 啝のストリ`ムにおいて、朕となっていてシ`クして壅伏が辛嬬なフレ`ム
ご社優でHLSのライブストリ`ミングをQう
3つの圭隈
1. AdobeのAdobe Media Serverを聞う
? http://www.adobe.com/products/adobe-media-server-family.html
? かつてFlash Media Serverとして咾辰討い壬u瞳
? 嶄附はJava Servlet + Apacheの鏡徭モジュ`ルなのでがっかりしないように
? AWS Marketplaceからgにせます
2. Red5 HLS プラグインを聞う
? https://github.com/Red5/red5-hls-plugin
? Red5はJavaでかれたメディアサ`バ`
? メンテナンスされていないXugglerというffmpegのラッパ`を聞っている
ご社優でHLSのライブストリ`ミングをQう
3つの圭隈
3. nginx-rtmp-moduleを聞う
? https://github.com/arut/nginx-rtmp-module
? O協がg (AMSよりも!)
? Nginxの麿のモジュ`ルと栽わせて旋喘できる
? gについては岑らない´
nginx-rtmp-moduleを聞う
? コンパイラ、リンカ、PCREとOpenSSLの_kパッケ`ジをインスト`ル
しておく
? OpenRestyを鯛としてくる
? bundles ディレクトリに nginx-rtmp-module を GitHub から clone する。
ディレクトリ兆を nginx-rtmp-module-0 などとする (OpenResty の
configure スクリプトの脅栽)
? ./configure Cprefix={インスト`ル侭} とかやって make && make
install
$ git clone https://github.com/arut/nginx-rtmp-module nginx-rtmp-
module-0
O協箭 (RTMP何蛍)
rtmp {
server {
listen 1935;
access_log /var/log/nginx/rtmp.access.log;
application test {
live on;
hls on;
hls_path /var/lib/nginx/hls/test;
hls_fragment 8;
hls_playlist_length 16;
hls_cleanup on;
}
}
}
O協箭 (HLS塘佚何蛍)
http {
include mime.types;
´
server {
listen 80;
´
location /.hls {
alias /var/lib/nginx/hls;
add_header Cache-Control no-cache;
}
}
}
http://example.com/.hls/test/{ストリ`ム兆}.m3u8
塘佚URL
書晩やりたくてできなかったこと (垰)
? MPEG-DASH
歌深Y創
? Lucas Gonze: A survey of playlist formats (November 17, 2003)
http://gonze.com/playlists/playlist-format-survey.html
? Michael Simon: The Complete iTunes History -- SoundJam MP to
iTunes 9 (November 09, 2009)
http://www.maclife.com/article/feature/complete_itunes_history_so
undjam_mp_itunes_9
? M3U and PLS Specification
http://forums.winamp.com/showthread.php?threadid=65772
? R. Pantos (Apple, Inc.): HTTP Live Streaming (May 1, 2009)
https://tools.ietf.org/html/draft-pantos-http-live-streaming-00
歌深Y創
? nginx-rtmp-module directive reference
https://github.com/arut/nginx-rtmp-module/wiki/Directives
ありがとうございました

More Related Content

What's hot (20)

PDF
禽看界一艶姻から界看稼岳温庄稼艶姻糸への卞佩
Kohei Tokunaga
?
PDF
ネットワ`クの徭啝?Oの函りMみについて #netopscoding #npstudy
額温鞄看看!デベロッパ`ネットワ`ク
?
PDF
秤鷙禾个蓮△覆?Google Docsし?ゃなく、 Confluenceなのか。
Narichika Kajihara
?
PPTX
ネットスト`カ`囮喘器或皆鴛鰻意ツ`ル京鉛温界一京庄姻糸を乾ってみた.沿沿岳恰
Shota Shinogi
?
PDF
Web ブラウザで DRM
Yusuke Goto
?
PPTX
Azure API Management 鯵議マニュアル
F崗 貧梳
?
PDF
インタ`ネットにおける強鮫塘佚の碧怏み
Ryosuke Kubo
?
PDF
アナザ`エデンにおける掲揖豚オ`トセ`ブを喘いた宥佚棋ちストレスのないゲ`ム悶Yのg
gree_tech
?
PDF
Grafana LokiではじめるKubernetesロギングハンズオンNTT Tech Conference #4 ハンズオンY創
NTT DATA Technology & Innovation
?
PDF
Apache Airflow 古勣Airflowの児Aを僥ぶハンズオンワ`クショップ k燕Y創
NTT DATA Technology & Innovation
?
PDF
g樹 WebRTC ?恷仟並箭と_kノウハウのB初?
Yusuke Naka
?
PDF
Marp Tutorial
Rui Watanabe
?
PPTX
5蛍で竃栖る.ぅ韻討覲Υ撚坿擶顎艶稼界艶ペ`ジ
CLARA, Inc.
?
PDF
モダン PHP テクニック 12 x DPsalmとPHP 8.1で書はこんなこともできる;D
shinjiigarashi
?
PPTX
コンテナネットワ`キング┛箟訓恷念
Motonori Shindo
?
PPTX
チャットコミュニケ`ションの}と伉尖議芦畠來のn} #EOF2019
Tokoroten Nakayama
?
PDF
アプリ塁もDockerをドカドカ聞おう ゛ Docker秘T
Hori Tasuku
?
PDF
仟たなgitのブランチモデル仝Git Feature Flow々Git Flow,Git Hub Flow,Git Lab Flowを階えれるか
naoki koyama
?
PDF
Apache Arrow - デ`タI尖ツ`ルの肝弊旗プラットフォ`ム
Kouhei Sutou
?
PDF
‐Unite Tokyo 2019/Unityだったらg.泪襯船廛譽び奪鴬`ムサ`バ_k ゛g樹。
UnityTechnologiesJapan002
?
禽看界一艶姻から界看稼岳温庄稼艶姻糸への卞佩
Kohei Tokunaga
?
ネットワ`クの徭啝?Oの函りMみについて #netopscoding #npstudy
額温鞄看看!デベロッパ`ネットワ`ク
?
秤鷙禾个蓮△覆?Google Docsし?ゃなく、 Confluenceなのか。
Narichika Kajihara
?
ネットスト`カ`囮喘器或皆鴛鰻意ツ`ル京鉛温界一京庄姻糸を乾ってみた.沿沿岳恰
Shota Shinogi
?
Web ブラウザで DRM
Yusuke Goto
?
Azure API Management 鯵議マニュアル
F崗 貧梳
?
インタ`ネットにおける強鮫塘佚の碧怏み
Ryosuke Kubo
?
アナザ`エデンにおける掲揖豚オ`トセ`ブを喘いた宥佚棋ちストレスのないゲ`ム悶Yのg
gree_tech
?
Grafana LokiではじめるKubernetesロギングハンズオンNTT Tech Conference #4 ハンズオンY創
NTT DATA Technology & Innovation
?
Apache Airflow 古勣Airflowの児Aを僥ぶハンズオンワ`クショップ k燕Y創
NTT DATA Technology & Innovation
?
g樹 WebRTC ?恷仟並箭と_kノウハウのB初?
Yusuke Naka
?
Marp Tutorial
Rui Watanabe
?
5蛍で竃栖る.ぅ韻討覲Υ撚坿擶顎艶稼界艶ペ`ジ
CLARA, Inc.
?
モダン PHP テクニック 12 x DPsalmとPHP 8.1で書はこんなこともできる;D
shinjiigarashi
?
コンテナネットワ`キング┛箟訓恷念
Motonori Shindo
?
チャットコミュニケ`ションの}と伉尖議芦畠來のn} #EOF2019
Tokoroten Nakayama
?
アプリ塁もDockerをドカドカ聞おう ゛ Docker秘T
Hori Tasuku
?
仟たなgitのブランチモデル仝Git Feature Flow々Git Flow,Git Hub Flow,Git Lab Flowを階えれるか
naoki koyama
?
Apache Arrow - デ`タI尖ツ`ルの肝弊旗プラットフォ`ム
Kouhei Sutou
?
‐Unite Tokyo 2019/Unityだったらg.泪襯船廛譽び奪鴬`ムサ`バ_k ゛g樹。
UnityTechnologiesJapan002
?

Viewers also liked (8)

PDF
寔禽姻看稼艶秘壇
Yutaka Matsubara
?
PDF
The Social-Engineer Village at DEF CON 24 : Does Cultural Differences Become ...
Tomohisa Ishikawa, CISSP, CSSLP, CISA, CISM, CFE
?
PDF
ライブストリ`ミングの児粥岑紛
kumaryu
?
PDF
ストリ`ミングのげんざい
Tetsuya Morimoto
?
KEY
capybara で酔mなテスト伏試を
Ryunosuke SATO
?
PDF
OAuth2.0によるWeb APIの隠o
Naohiro Fujie
?
PPTX
AbemaTV モバイルアプリの_k悶崙と_kプロセスの
Yuji Hato
?
PDF
AbemaTV デザインのBefore & After
Shunsuke Matsumoto
?
寔禽姻看稼艶秘壇
Yutaka Matsubara
?
The Social-Engineer Village at DEF CON 24 : Does Cultural Differences Become ...
Tomohisa Ishikawa, CISSP, CSSLP, CISA, CISM, CFE
?
ライブストリ`ミングの児粥岑紛
kumaryu
?
ストリ`ミングのげんざい
Tetsuya Morimoto
?
capybara で酔mなテスト伏試を
Ryunosuke SATO
?
OAuth2.0によるWeb APIの隠o
Naohiro Fujie
?
AbemaTV モバイルアプリの_k悶崙と_kプロセスの
Yuji Hato
?
AbemaTV デザインのBefore & After
Shunsuke Matsumoto
?
Ad

More from Moriyoshi Koizumi (20)

PDF
赫看をカンストさせる三
Moriyoshi Koizumi
?
PPTX
永堰永7を徴個夛した三
Moriyoshi Koizumi
?
PPTX
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
Moriyoshi Koizumi
?
PDF
All I know about rsc.io/c2go
Moriyoshi Koizumi
?
PPTX
永霞姻温馨庄糸の姻艶稼糸艶姻艶姻をカスタマイズする
Moriyoshi Koizumi
?
PPTX
Hacking Go Compiler Internals / GoCon 2014 Autumn
Moriyoshi Koizumi
?
PDF
Uguisudani
Moriyoshi Koizumi
?
PDF
よいこともいこともぜんぶ永堰永が縮えてくれた
Moriyoshi Koizumi
?
PDF
Ik in action
Moriyoshi Koizumi
?
PDF
Nginx lua
Moriyoshi Koizumi
?
PDF
堰温恰艶について
Moriyoshi Koizumi
?
PDF
Gocon2013
Moriyoshi Koizumi
?
PDF
PHP language update 201211
Moriyoshi Koizumi
?
PDF
馨看糸喝鞄庄馨看岳艶からはじめよう
Moriyoshi Koizumi
?
PDF
堰永堰永は埃崩の仇なのか
Moriyoshi Koizumi
?
PDF
Pyfes201110
Moriyoshi Koizumi
?
PDF
永鞄逮看壊鞄()プロジェクト
Moriyoshi Koizumi
?
PDF
粥温なゲ`ムを逮壊で
Moriyoshi Koizumi
?
PDF
粥温なゲ`ムを逮壊で
Moriyoshi Koizumi
?
PDF
界岳霞沿艶壊嫖モジュ`ル
Moriyoshi Koizumi
?
赫看をカンストさせる三
Moriyoshi Koizumi
?
永堰永7を徴個夛した三
Moriyoshi Koizumi
?
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
Moriyoshi Koizumi
?
All I know about rsc.io/c2go
Moriyoshi Koizumi
?
永霞姻温馨庄糸の姻艶稼糸艶姻艶姻をカスタマイズする
Moriyoshi Koizumi
?
Hacking Go Compiler Internals / GoCon 2014 Autumn
Moriyoshi Koizumi
?
よいこともいこともぜんぶ永堰永が縮えてくれた
Moriyoshi Koizumi
?
Ik in action
Moriyoshi Koizumi
?
堰温恰艶について
Moriyoshi Koizumi
?
PHP language update 201211
Moriyoshi Koizumi
?
馨看糸喝鞄庄馨看岳艶からはじめよう
Moriyoshi Koizumi
?
堰永堰永は埃崩の仇なのか
Moriyoshi Koizumi
?
Pyfes201110
Moriyoshi Koizumi
?
永鞄逮看壊鞄()プロジェクト
Moriyoshi Koizumi
?
粥温なゲ`ムを逮壊で
Moriyoshi Koizumi
?
粥温なゲ`ムを逮壊で
Moriyoshi Koizumi
?
界岳霞沿艶壊嫖モジュ`ル
Moriyoshi Koizumi
?
Ad

堰晦皆について岑っていることを三します