簡體   English   中英

Nginx Plus不流式傳輸HLS

[英]Nginx Plus not streaming HLS

我已經安裝了Nginx Plus並配置了HLS用於流式傳輸。 在請求m3u8文件時,我收到錯誤:

2015/09/29 13:32:34 [error] 5814#5814: *1 open() "/usr/video/hls/CODECS="avc1.42e00a,mp4a.40.2"" failed (2: No such file or directory)

m3u8文件具有以下內容:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=545600,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"
/usr/video/hls/myvideo_low.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1755600,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
/usr/video/hls/myvideo_high.m3u8

Nginx配置是:

location /hls {
      root   /usr/video;
      hls;
      hls_fragment            5s;
      hls_buffers             10 10m;
      hls_mp4_buffer_size     1m;
      hls_mp4_max_buffer_size 5m;
      types {
           application/vnd.apple.mpegurl m3u8;
           video/mp2t ts;
      }
      add_header 'Access-Control-Allow-Origin' '*';
      add_header 'Cache-Control' 'no-cache';
}

在瀏覽器中,我收到警告:“沒有找到TS片段”。

為了從像mp4這樣的靜態文件動態創建ts段,文件名和擴展名必須存在於m3u8播放列表文件名中:

myvideo_high.mp4.m3u8myvideo_high.mp4

對於:

myvideo_high.m3u8

它假定細分已經存在。


帶有NGINX Plus白皮書的服務媒體顯示了手動創建的m3u8變體播放列表的示例,該播放列表由於頁面格式化(換行)而不正確

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=545600,RESOLUTION=416x234,
CODECS="avc1.42e00a,mp4a.40.2"
/hls/myvideo_low.mp4.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1755600,RESOLUTION=640x360,
CODECS="avc1.42e00a,mp4a.40.2"
/hls/myvideo_high.mp4.m3u8

#EXT-X-STREAM-INF信息應該在一行上(沒有換行符):

 #EXTM3U
 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=545600,RESOLUTION=416x234,CODECS="avc1.42e00a,mp4a.40.2"
 /hls/myvideo_low.mp4.m3u8
 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1755600,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
 /hls/myvideo_high.mp4.m3u8

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM