2015-10-15 627 views
1

我已经安装了Nginx并为使用nginx-vod-module的适配流式传输配置了VOD。在请求master.m3u8文件时,我得到了针对不同网络带宽服务的相同ts文件。NGINX服务器中的nginx-vod-module自适应比特率流式传输不起作用

的master.m3u8文件具有以下内容:

#EXTM3U 
#EXT-X-STREAM-INF:PROGRAMID=1,BANDWIDTH=1914317,RESOLUTION=1280x544,CODECS="avc1.64001f,mp4a.40.2" 
    http://localhost/content/Input.mp4/index-v1-a1.m3u8 

Nginx的配置是:

location /content { 
     vod hls; 
     vod_mode local; 

     root /usr/share/nginx/html; 

     gzip on; 
     gzip_types application/vnd.apple.mpegurl; 

     expires 100d; 
     add_header Last-Modified "Sun, 19 Nov 2000 08:52:00 GMT"; 
    } 

我怎样才能获得使用nginx的视频点播模块启用自适应比特率的,什么是最好的验证它的方法?

回答

1
  1. 你用不同的分辨率/比特率编码你的Input.mp4的多个版本。宽高比应该相同。例如:Input_high.mp4Input_low.mp4

  2. 您编辑主m3u8播放列表,并用其特定的比特率和分辨率添加每个再现:

    #EXTM3U 
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=...,RESOLUTION=...,CODECS="..." 
    /content/Input_low.mp4.m3u8 
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=...,RESOLUTION=...,CODECS="..." 
    /content/Input_high.mp4.m3u8 
    
  3. nginx-vod-module收到一个filename.mp4.m3u8自动分段filename.mp4HLS的请求并为您创建播放列表。例如:/content/Input_low.mp4.m3u8 for /content/Input_low.mp4

+0

master m3u8是动态提供和生成的。我不想预先创建任何播放列表和分段文件。我只保存了一个mp4文件。 –

+0

@RachitGupta您必须*手动创建主播放列表,也就是保存流信息的播放列表。媒体播放列表是为每个文件自动创建的。你必须用多个'mp4'变体来编码你的文件。请参阅:https://www.nginx.com/wp-content/uploads/2015/06/Serving-Media-with-NGINX-Plus1.pdf – aergistal

+0

这是什么意思? “用多个mp4变体编码你的文件”。我是否需要放置多个不同品质的mp4? –

相关问题