nginx (engine x) 是乙個高效能的http和反向**web伺服器。
nginx 新增模組(nginx-rtmp-module)可以搭建hls流**伺服器。
多位元速率適配流:
#extm3u
#ext-x-stream-inf:program-id=1,bandwidth=1280000
#ext-x-stream-inf:program-id=1,bandwidth=2560000
#ext-x-stream-inf:program-id=1,bandwidth=7680000
#ext-x-stream-inf:program-id=1,bandwidth=65000,codecs="mp4a.40.5"
單位元速率適配流,再分點播和直播:
點播:
#extm3u
#ext-x-targetduration:5220
#extinf:5220,
#ext-x-endlist
直播(客戶端會定時來請求新的m3u8檔案):
#extm3u
#ext-x-version:3
#ext-x-media-sequence:0
#ext-x-targetduration:12
#extinf:10.62,
1.ts
#extinf:10.06,
2.ts
#extinf:11.59,
3.ts
推薦《m3u8 檔案格式詳解》,寫了一些注意事項,如通過ext-x-playlist-type區分點播源、直播源,某些標籤不能同時設定等
由於nginx-rtmp-module支援hls協議,所以可以通過安裝帶有nginx-rtmp-module模組的nginx,修改配置檔案完成搭建流**伺服器。
原始碼安裝nginx並新增 nginx-rtmp-module,推薦《nginx 搭建 rtmp 伺服器》,包括編譯中的錯誤怎麼解決,nginx的配置,很詳細,感謝~
經過嘗試,nginx本身(不新增nginx-rtmp-module模組)也可以提供讀取m3u8檔案的功能,
在server下新增:
server
}
把m3u8檔案放到 /mnt/m3u8/下,啟動nginx,可以直接訪問m3u8檔案。 合併m3u8 ts 檔案的工具
合併ts檔案的程式 include intmain int argc,char ar int num atoi ar 1 int i 0 printf copy b 0.ts for i 1 i num i printf s n ar 2 複製儲存在其他位址 printf del s q n 刪除所...
M3U8檔案分析
最近在研究hls協議,經常要看m3u8檔案內容,所以就介紹一下裡面的內容代表啥意思。檔案內容如下所示 extm3u ext x version 3 ext x targetduration 12 ext x media sequence 0 extinf 11.11,test shandong007...
HLS 直播協議m3u8詳解
ios上苛刻的穩定性要求 ios上最穩定的當然是hls,穩定性不差於rtmp在pc flash上的表現。友好的cdn分發方式 目前cdn對於rtmp也是基本協議,但是hls分發的基礎是http,所以cdn的接入和分發會比rtmp更加完善。能在各種cdn之間切換,rtmp也能,只是可能需要對接測試。總...