使用c# .net core开发国标gb28181 sip +流媒体服务完成视频监控实例教程 亲身完美体验过程...
? ? ?目前使用C# .net core 來實現國標gb28181標準的攝像頭播放、ptz云臺控制、視頻回放等視頻監控功能,項目可運行于linux/docker/.net core環境,也是當前非常罕有的能做到毫秒級國標gb28181公網視頻傳送案例,也是少有的能同時具有播放、ptz云臺控制、視頻回放功能的完整開源sip的項目。
使用方案:sip(GB28181.Solution c# .net core) +? 流媒體服務器(srs/ZLMediaKit)
使用場景:直播、社區視頻監控、視頻AI分析、等需要用到把攝像頭從內外轉到外網訪問使用的場景
? ? ?全網也很難找得到完整教程,我2017年就開始買攝像頭回來研究過一段時間,后來無果,最近因公司需要使用,再經過半年多的資料收集和不斷的學習試錯,找到正確的道路,免得大家走彎路。為大家分享,然后對c#的開發者帶來驚喜,也共同為c#的發展作出貢獻!
一、我的實現準備:
1、在淘寶購買一個ces服務器 centos系統作為流媒體測試機,低配置2核2M的,1200多一年,按月的話差不多300一個月
2、購設備:需要看清楚支持gb28181的,一個海康云臺攝像機700多塊
3、調試其間在本機windows調試,以后可以部署到linux,下載目前我參與的c#開源項目
https://github.com/GB28181/GB28181.Solution
用于作為sip server服務,可以進行對攝像機進行通過信令進行相關操作 ,編譯環境vs2019(開源項目里,文檔中的微信,可以進入該項目開源群,一起為這個項目做貢獻,建議加入)
4、在centos服務器下載srs4.0,github地址:?
https://github.com/winlinvip/srs? (develop分支)
5、下載sip抓包工具 wireshark??
下載地址:https://www.wireshark.org/#download
附帶wireshark使用過程中可能會發生的內存占用大,卡機的解決辦法
https://blog.csdn.net/qq_16005627/article/details/105603395
?
二、實現步驟
通過GB28181.Solution配置好srs的服務器地址和端口,項目的wintool運行起來,點直播放視頻,在srs服務器上可以看到rtp流已經推上來,可以實現rmtp、webrtc(低延時實測2秒內)、flv、hls(m3u8)輸出
然后通過vlc進行播放
1、打開GB28181.WinTool項目,配置 Config/gb28181.xml 主要配置好以下幾個
SIP服務器ID?34020000002000000001
本機IP?127.0.0.1 (或我本機IP192.168.197.108)
本機服務端口?5061
2、對應在攝像機的配置如下:
?
3、在srs的github中查看srs的運行辦法,運行srs,以下為我整理的簡單易懂的指令
------------------------------------------
Step1:拉git代碼,切換到開發分支
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
Step2:切換到開發分支
git checkout develop &&
./configure --with-gb28181 &&
make clean && make
------------------------------------------------
以上srs安裝完畢,修改兩個配置
打開trunk/conf/push.gb28181.conf
auto_create_channel ? on;//原來off改為on
?host ? ? ? 47.XX.XXX.118;//原來$CANDIDATE改為你的服務器ip
----------------------------------------------
運行
./objs/srs -c conf/push.gb28181.conf
4、然后啟動項目GB28181.WinTool?
?
?
5、到這一步,推流成功了,我們打開srs的測試http://ossrs.net/players/srs_gb28181.html?接口界面 ,可以實現rmtp、webrtc(低延時實測1秒內)、flv、hls(m3u8)輸出,輸入srs服務器IP進行播放
6、非常罕有的能做到毫秒級延遲國標gb28181公網視頻傳送案例
上面有相關操作步驟,肚餓了,本文章在后續我還有很多內容需要再補充和細化更新的,更多了解可以通過https://github.com/GB28181/GB28181.Solution項目,介紹內容中的“微信”加入開源群
微信掃描二維碼,添加好友,進入微信討論群(注明:GB28181+公司+姓名):
覺得好的同學,記得點個贊!
總結
以上是生活随笔為你收集整理的使用c# .net core开发国标gb28181 sip +流媒体服务完成视频监控实例教程 亲身完美体验过程...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Istio1.5 Envoy 数据面
- 下一篇: 硬核技能k8s初体验