在windows下配置nginx流媒體服務器,使其支持hls協議的直播和rtmp點播

    在博主之前的博文《在windows下搭建、配置nginx流媒體服務器,並進行rtmp流的推流、拉流測試》中講述了在windows下搭建nginx流媒體服務器,使其支持rtmp協議的直播的方法。本文講述使其支持hls協議的直播和rtmp點播的方法。

 

一、使nginx支持hls協議的直播

    我們進入nginx 1.7.11.3 Gryphon文件夾的conf目錄下,按照《在windows下搭建、配置nginx流媒體服務器,並進行rtmp流的推流、拉流測試》中的配置文件進行配置(在那篇博文中就已經將配置文件修改爲支持hls的直播了)。然後在nginx 1.7.11.3 Gryphon目錄新建文件夾m3u8File,如下圖所示。

 

然後我們重啓nginx,在命令提示符中輸入推流命令如下:

ffmpeg -re -i video2.mp4 -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/test1

 

執行上訴命令後,可以看到在目錄m3u8File中已經有了m3u8和ts文件輸出了,如下圖所示:

我們通過vlc播放hls流

 

可以看到可以正常播放視頻了,如下圖所示:

 

注意:使用nginx進行hls切片,可能會出現切片時長不準確(實際得到的切片長度遠大於設置的切片長度)的情況。這個可能是nginx無法設置GoP導致的,我們可以換成使用FFmpeg進行hls切片,具體方法可以參考博主的另一篇文章《使用FFmpeg命令進行hls切片,得到的ts文件時長不準確》。

 

二、使nginx支持點播

    我們進入nginx 1.7.11.3 Gryphon文件夾的conf目錄下,按照《在windows下搭建、配置nginx流媒體服務器,並進行rtmp流的推流、拉流測試》中的配置文件進行配置(在那篇博文中就已經將配置文件修改爲支持點播了)。然後在nginx 1.7.11.3 Gryphon目錄新建文件夾vod,如下圖所示:

 

在vod目錄中放入一個flv文件(貌似nginx的點播只支持flv文件,mp4文件是不支持的),如下圖所示:

 

然後在vlc中輸入url如下:

 

可以看到在vlc中可以播放媒體文件test.flv了,如下圖所示:

ran

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章