GB28181 设备端移植 :环境搭建
设备端移植:主要实现GB28181 的下级功能,向平台注册功能与给到平台设备信息能力以及向平台推流的能力。
这里选择SIP的开源库为osip和eXosip
第一步 下载osip和eXosip
http://www.antisip.com/download/exosip2/libeXosip2-4.0.0.tar.gz
其他版本下载链接
Index of /releases/exosip/ (nongnu.org)
第二步 解压,并编译
1.进入libosip2-4.0.0\platform\vsnet目录,用VS2010直接打开osip.sln文件,项目自动转换
2.更改libosip2-4.0.0\platform\vsnet\osip2.def 文件,在文件末尾追加
osip_transaction_set_naptr_record @138
3.更改libosip2-4.0.0\platform\vsnet\osipparser2.def 文件,在文件末尾追加
osip_realloc @416
osip_strcasestr @417
__osip_uri_escape_userinfo @418
4.先编译osipparser2,再编译osip2,最后在libosip2-3.6.0\platform\vsnet\Debug DLL下生成库文件:
- osip2.lib osip2.dll osipparser2.lib osipparser2.dll
第三步,解压,编译eXosip
进入libeXosip2-4.0.0\platform\vsnet目录,用VS2010直接打开eXosip.sln文件,项目自动转换:
1.将osip2.lib,osip2.dll,osipparser2.lib,osipparser2.dll拷贝到Debug目录下
2.C/C++ --> 预处理器 --> 预处理器定义: 删除HAVE_OPENSSL_SSL_H
3.C/C++ --> 常规 --> 附加包含目录: 将osip的头文件libosip2-3.6.0\include包含进来
4.编译,生成eXosip.lib
编译时会报错eXtl.c找不到。.c文件怎么也会找不到呢。那我们展开eXosip的源文件目录,发现里面有eXtl.c,但是双击说文件不存在,在工程中将其删除之后进行编译即可编译通过
第四步,搭建GB28181的服务器
服务器使用的是青柿的LiveGBS进行搭建:
服务介绍:
[LiveGBS GB28181流媒体服务 | 青柿视频流媒体服务解决方案 (liveqing.com)](https://www.liveqing.com/docs/download/LiveGBS.html)
安装使用说明:
[LiveGBS GB28181 国标方案安装使用说明 | 青柿视频流媒体服务解决方案 (liveqing.com)](https://www.liveqing.com/docs/manuals/LiveGBS.html)
参考链接:
Windows下编译eXosip、osip,以及UAC和UAS的例子 - jlins - 博客园 (cnblogs.com)

浙公网安备 33010602011771号