当前位置 主页 > 服务器问题 > nginx问题汇总 >

    nginx使用nginx-rtmp-module模块实现直播间功能(2)

    栏目:nginx问题汇总 时间:2018-09-14 16:43

    增加rtmp协议配置

    wujianjun@wujianjun-work ~/nginx-1.13.6 $ sudo vi /usr/local/nginx/conf/nginx.conf

    在nginx.conf文件末尾增加以下rtmp协议的配置

    rtmp { server {  listen 1935;  chunk_size 4096;  application live {   live on;   record off;  } }}

    启动&测试

    启动nginx

    wujianjun@wujianjun-work ~/nginx-1.13.6 $ sudo /usr/local/nginx/sbin/nginx

    启动OBS

    打开刚安装的OBS软件,在来源处配置图像的推送来源(我这里选择窗口捕获),点击右下角”设置”,进行如下图配置流推送地址

    配置完成后,点击”开始推流”

    启动支持网络流播放的视频播放器(演示使用vlc播放器)

    配置网络流播放的地址,如下图:

    当点击”播放”后,稍等几秒,即可看到播放器显示了obs捕获的图像了。

    由于视频流需要通过网络进行传输,所以直播图像会有几秒的延迟。

    http访问直播视频

    1、更改nginx.conf中配置,增加hls配置(hls是在流媒体服务器中用来存放流媒体的文件夹),再次hls所在目录设置为http协议访问目录即可,更改后的配置如下:

    rtmp { server {  listen 1935;  chunk_size 4096;  application live {   live on;   hls on;   hls_path /usr/share/nginx/html/hls;   hls_fragment 5s;  } }}http { server { listen 80; ..... location / {   #root html;   root /usr/share/nginx/html;   index index.html index.htm; } ..... }}

    注意:hls所在目录nginx的用户必须有写入权限。

    2、obs软件配置录制流名称

    在配置obs推送流URL的下方有一个设置”流名称”的地方,这里可以随意填写一个名称(我这里示例填入”test”)

    3、重启一下nginx与obs软件,我们即可在手机浏览器中输入 http://ip/hls/test.m3u8 即可通过手机播放直播视频。(直播延迟有点大,后续出文章优化)