使用c# .net core开发sip国标gb28181+流媒体服务配合完成视频监控开发,亲身完美体验过程
目前使用C# .net core 来开发sip协议实现国标gb28181摄像头播放、ptz云台控制、视频回放等视频监控功能,可运行于linux/docker/.net core环境。
使用场景:直播、社区视频监控、视频AI分析、等需要用到把摄像头从内外转到外网访问使用的场景
全网也很难找得到完整教程,我2017年就开始买摄像头回来研究过一段时间,后来无果,最近因公司需要使用,再经过半年多的资料收集和不断的学习试错,找到正确的道理-捷径,为大家分享,然后对c#的开发者带来惊喜,也共同为c#的发展作出贡献,也希望得到大家打赏!
一、我的实现准备:
1、在淘宝购买一个linux ces服务器作为流媒体测试机,低配置2核2M的,1200多一年,按月的话差不多300一个月
2、购设备:需要看清楚支持gb28181的,一个海康云台摄像机700多块,一个海康的NVR -700多块
3、调试其间在本机windows调试,以后可以部署到linux,下载目前我参与的c#开源项目
https://gitee.com/yihong777/GB28181.Solution
用于作为sip server服务,可以进行对摄像机进行通过信令进行相关操作 ,编译环境vs2019,加我微信进入该项目开源群,一起为这个项目做贡献。
4、在linux服务器下载srs4.0,github地址:
https://github.com/winlinvip/srs (develop分支)
5、下载sip抓包工具 wireshark
下载地址:https://www.wireshark.org/#download
附带wireshark使用过程中可能会发生的内存占用大,卡机的解决办法
https://blog.****.net/qq_16005627/article/details/105603395
二、实现步骤
通过GB28181.Solution配置好srs的服务器地址和端口,项目的wintool运行起来,点直播放视频,在srs服务器上可以看到rtp流已经推上来,可以实现rmtp、webrtc(低延时实测2秒内)输出
然后通过vlc进行播放
上面有相关操作步骤,肚饿了,本文章在后续我还有很多内容需要再补充和细化更新的,或加我微信(输入c# gb28181),进入项目的开源群