RtspLiveCluster

版本:1.0.0

版本日志

    适配RtspLiveServer 1.4.4版本支持rtsp推流至Nginx rtmp服务器。

    本网站已提供window版本 nginx-http-flv下载方便测试

    启动服务

    方法1:进入当前目录,双击执行run.bat文件运行服务

    方法2:启动cmd控制台进入当前目录输入如下命令
    RtspLiveCluster.exe  -h 20000 -m 1883 -i RtspLiveCluster1 -d

    说明

    -h http端口

    -m mqtt端口

    -i clientid 全局唯一

    若启动失败请查看端口是否被占用,控制台有信息输出

    方法3:以window服务安装运行

     安装服务:右键create.bat以管理员身份运行文件执行安装,服务名为RtspClusterService可通过window服务管理工具进行管理。

     卸载服务:右键delete.bat以管理员身份运行文件执行卸载

    首次安装电脑未重启时需要手动通过window服务管理工具启动服务 ,或者执行命令提示符sc start RtspClusterService启动服务

    API接口

    下述接口对应nginx rtmp播放时触发的三个回调事件分别是

    on_play > api/rtmp/play,

    on_play_done > api/rtmp/done,

    on_update >api/rtmp/notice

    示例假设部署环境本机Ip:192.168.1.100 ,http:20000

    • 客户端请求播放:http://192.168.1.100:20000/api/rtmp/play

    请求方法:POST
    请求参数:tcurl=?&name=?&clientid=?

    参数说明:请求时只传递name参数时,视频流会一直推送直到调用/api/rtmp/stop。tcurl与clientid参数只用于nginx rtmp联动推流配置

    • 客户端播放完成(某一客户端停止播放,若有多个客户端在同时播放不会立即停止推流直到所有客户端完成播放退出)

    接口地址:http://192.168.1.100:20000/api/rtmp/done
    请求方法:POST
    请求参数:name=?&clientid=?

    参数说明:name=通道名称,clientid=播放器标识

    • 播放定时心跳(客户端定时心跳防止意外掉线造成长时间推流,默认30秒没心跳就会停止推流,此接口仅用于nginx联动配置无须手动调用):http://192.168.1.100:20000/api/rtmp/notice

    请求方法:POST

    请求参数:name=?&call=?&clientid=?

    参数说明:name=通道名称,clientid=播放器标识,call参数只用于nginx rtmp联动推流配置

    • 停止推流(所有客户端都会停止预览视频):http://192.168.1.100:20000/api/rtmp/stop

    请求方法:POST

    请求参数:name=?

    参数说明:name=通道名称


    nginx联动推流配置示例

     nginx.conf

    application live {

        live on;

        on_play http://192.168.1.100:20000/api/rtmp/play;

        on_play_done http://192.168.1.100:20000/api/rtmp/done; 

        on_update http://192.168.1.100:20000/api/rtmp/notice;

        drop_idle_publisher 5s;#drop no video/audio publisher

        notify_update_timeout 10s;

      }