Nginx HLS M3U8 TS 搭建手記

2021-09-27 03:45:01 字數 1202 閱讀 1512

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也能,只是可能需要對接測試。總...