13 Star 167 Fork 84

Vanishi / BXC_SipServer

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

BXC_SipServer

本项目视频教程

介绍

  1. 一个基于C++开发的国标GB28181流媒体信令服务器。
  2. 采用BXC_SipServer+ZLMediaKit。可以搭建一个接收摄像头国标协议推流的国标流媒体服务,然后实现RTSP/RTMP/HTTP-FVL/HLS/WS/SRT等协议分发视频流。
  3. BXC_SipServer负责信令模块,ZLMediaKit负责流媒体模块。
  4. BXC_SipServer作为国标流媒体服务器的信令模块。用于接收摄像头的信令注册,注册完成后, 主动向摄像头发送Invite请求,摄像头收到Invite请求后, 返回Invite的确认。 服务端收到确认后,发送ACK请求, 摄像头收到ACK请求后,开始通过RTP传输ps流推流至ZLMediaKit的国标RTP Server。 ZLMediaKit作为国标流媒体服务器的流媒体模块,主要用于接收摄像头国标推流和其他协议的分发。
  5. 补充说明一下,这只是我为了讲课而开发的demo级的信令服务器,部分信令功能并没有实现。但是基本功能是没问题了,对接摄像头是完全没问题的, 对于学习国标流媒体信令服务器的新手,完全够用了,可以快速体验国标协议,通过wireshark抓包快速感受国标对接的流程。

BXC_SipServer介绍

  1. 基于osip和exosip开源库,开发的国标GB28181流媒体信令服务器
  2. osip和exosip版本一定要对应,否则可能会出现不兼容的情况。我经常用的版本osip2-5.1.2和exosip2-5.1.2, 我准备了一份放到了百度云

附3个库的官方下载地址:

  osip:   http://ftp.twaren.net/Unix/NonGNU/osip/
  exosip: http://download.savannah.gnu.org/releases/exosip/
  c-ares: https://c-ares.haxx.se/

ZLMediaKit流媒体服务器

快速开始

linxu系统编译运行


一,首先安装osip和exosip,建议按照上面的BXC_SipServer介绍下载我推荐的 osip2-5.1.2和exosip2-5.1.2

1. 编译安装 osip2-5.1.2
 cd osip2-5.1.2  
 ./configure
 make
 sudo make install
 
2. 编译安装 exosip2-5.1.2
 cd exosip2-5.1.2
 ./configure
 make
 sudo make install
 
二,开始安装 BXC_SipServer
1. 下载代码
 git clone https://gitee.com/Vanishi/BXC_SipServer.git
2. 编译
 cd BXC_SipServer
 mkdir build
 cd build
 cmake ..
 make 
3. 运行
 ./BXC_SipServer
 
 

windows系统编译运行


一,osip和exosip编译到windows平台比较麻烦,我也是在编译过程中解决了多个报错,用了大半天时间,才编译出可用的版本

如果你在windows平台自行编译osip和exosip,还需要编译c-ares库。推荐使用 c-ares-1.16.0 配合 osip2-5.1.2 和 exosip2-5.1.2

我已经将上面3个库编译好放在了3rdparty,并提供了 vs2019/x64/Debug 和 vs2019/x64/Release

二,只需要使用vs2019打开 BXC_SipServer.sln
选择 x64/Debug 或 x64/Release就能直接运行,依赖库都配置了相对路径
 

常见问题

  1. 常见报错 error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file 解决方法
MIT License Copyright (c) 2022 Vanishi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

基于C++开发的国标GB28181流媒体信令服务器。 采用BXC_SipServer+ZLMediaKit。完整搭建一个可以接收,摄像头通过国标协议推流到国标GB28181流媒体服务器,然后进行RTSP/RTMP/HTTP-FVL/HLS/WS/SRT等协议分发。 展开 收起
C++ 等 3 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/Vanishi/BXC_SipServer.git
git@gitee.com:Vanishi/BXC_SipServer.git
Vanishi
BXC_SipServer
BXC_SipServer
master

搜索帮助