云迈博客

您现在的位置是:首页 > 后端开发 > 正文

后端开发

流媒体服务框架 SRS 与 GB28181 对接实战记录

wsinbol2021-04-24后端开发2260
需求描述将局域网内的摄像头视频流通过GB28181推送至SRS流媒体服务器上,进而在手机或电脑上观看监控画面。部署SRS˃gitclonehttps://gitee.com/winlinvi

需求描述

将局域网内的摄像头视频流通过GB28181推送至SRS流媒体服务器上,进而在手机或电脑上观看监控画面。

部署SRS

git clone https://gitee.com/winlinvip/srs.oschina.git srs

cd srs/trunk

git remote set-url origin https://github.com/ossrs/srs.git

git pull

切换到开发分支:

git checkout develop

./configure –with-gb28181

make clean && make

修改push.gb28181.conf配置文件

将 host 修改为公网IP地址

启动SRS服务

./objs/srs -c conf/push.gb28181.conf

查看推流状态

海康NVR相关配置

连接配置:

观看效果配置:

API接口

  1. 查看当前会话

    http://ip:1985/api/v1/gb28181?action=sip_query_session

  2. 查询所有通道

    http://ip:1985/api/v1/gb28181?action=query_channel

  3. 开始云台控制

http://ip:1985/api/v1/gb28181?action=sip_ptz&id=34020000001320000001&chid=34020000001320000001&ptzcmd=left&speed=130

  1. 关闭云台控制

http://ip:1985/api/v1/gb28181?action=sip_ptz&id=34020000001320000001&chid=34020000001320000001&ptzcmd=stop&speed=130

FAQ

Q. 日志报错:gb28181: client id=34020000002000000007@34020000001320001128 ssrc=0x25f4104, peer(111.206.214.15, 15060), no rtp data 2 in seconds, clean it, wait other port!

A.可能是设置的推流码率太高导致的,以上出现失败的现象时,码率上限设置的是 4096 (Kb/S)我现在调整到最小的码率 1972 (Kb/S) 后,不会出现这个问题。【此描述来自github上的issue】,对于我的情况不适用,我将码率调到更小才行,而且还调低了其他参数,具体讲上面的图片。怀疑和服务器的配置有关,毕竟目前测试的是1核4G的机器。

参考资料

国产开源流媒体SRS4.0对视频监控GB28181的支持 https://mp.weixin.qq.com/s/VIPSPaBB5suUk7_I2oOkMw

【重要】SRS-GB28181的API资料https://github.com/xialixin/srs_code_note/blob/master/doc/srs_gb28181.md
开源直播服务srs详细介绍https://github.com/xialixin/srs_code_note/blob/master/doc/srs_wiki.md

直播点播,RTC等相关学习资料https://github.com/xialixin/srs_code_note

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~