最终实现目的:按照GB28181手册,从零开发并完成上下级信令服务器和媒体服务器。
- Ubuntu Server 22.4
- CMake项目构建 + vcpkg管理部分第三方库 + tcpdump(抓包)
- wireshark(分析所抓包信息)
vcpkg精选注册表端口:
- jsoncpp:处理json文件的库;
- timyxml2:处理XML文档的库;
- glog:Google风格的日志库;
- gflags:命令行参数/标志(flags)解析库;
- libevent:高性能、跨平台的事件驱动网络库;
- ffmpeg
非精选注册表端口:
- pjproject:与SIP信令控制相关的库;
- jrtplib:与流媒体传输与控制相关的库;
整个服务端项目分为上下级开发,上级服务(CentralService)和下级服务(EdgeService),其中重构公共模块(Common),便于上下级代码的重用。