在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,如下图所示。

在windows下配置nginx流媒体服务器,使其支持hls协议的直播和rtmp点播_第1张图片

 

然后我们重启nginx,在命令提示符中输入推流命令如下:

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

 

执行上诉命令后,可以看到在目录m3u8File中已经有了m3u8和ts文件输出了,如下图所示:

在windows下配置nginx流媒体服务器,使其支持hls协议的直播和rtmp点播_第2张图片

我们通过vlc播放hls流

在windows下配置nginx流媒体服务器,使其支持hls协议的直播和rtmp点播_第3张图片

 

可以看到可以正常播放视频了,如下图所示:

在windows下配置nginx流媒体服务器,使其支持hls协议的直播和rtmp点播_第4张图片

 

注意:使用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,如下图所示:

在windows下配置nginx流媒体服务器,使其支持hls协议的直播和rtmp点播_第5张图片

 

在vod目录中放入一个flv文件(貌似nginx的点播只支持flv文件,mp4文件是不支持的),如下图所示:

在windows下配置nginx流媒体服务器,使其支持hls协议的直播和rtmp点播_第6张图片

 

然后在vlc中输入url如下:

在windows下配置nginx流媒体服务器,使其支持hls协议的直播和rtmp点播_第7张图片

 

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

在windows下配置nginx流媒体服务器,使其支持hls协议的直播和rtmp点播_第8张图片ran

你可能感兴趣的:(音视频技术)