1、GB/T28181开发1之SPVMN(1.0.0.1)环境搭建
https://blog.csdn.net/hiwubihe/article/details/82910685
https://www.cnblogs.com/socksandshirt/articles/GB28181_Test.html
2、SPVMN 视频监控联网调测软件完整版
https://download.csdn.net/download/chming_love/9389401
3、gb28181设备端实现
1) libeXosip包里tools目录下的sip_reg.c实现了sip的注册(gb28181协议是复用sip协议的注册来接入的)
https://www.cnblogs.com/dong1/p/10258344.html
2) 感谢Kira Jackson同学2012年公开的gb28181的设备端实现
https://files.cnblogs.com/files/dong1/GBT28181.rar
libeXosip自带的sip_reg.c只有注册流程,这个基本算是比较完善的实现了各种指令的处理,仅操作硬件的回调函数需要自行实现
/*回调函数*/ struct _csenn_eXosip_callback { /*获取设备信息*/ /*device_info:设备信息结构体指针*/ /*返回值:成功时返回0,失败时返回负值*/ int (*csenn_eXosip_getDeviceInfo)(struct _device_info *device_info); /*获取设备状态*/ /*device_info:设备状态结构体指针*/ /*返回值:成功时返回0,失败时返回负值*/ int (*csenn_eXosip_getDeviceStatus)(struct _device_status *device_status); /*获取录像文件的起始时间与结束时间*/ /*时间格式:xxxx-xx-xxTxx:xx:xx*/ /*period_start:录像时间段起始值*/ /*period_end:录像时间段结束值*/ /*start_time:当前返回录像文件的起始时间*/ /*end_time:当前返回录像文件的结束时间*/ /*返回值:成功时返回符合时间段条件的剩余录像文件数量,失败时返回负值*/ int (*csenn_eXosip_getRecordTime)(char *period_start, char *period_end, char *start_time, char *end_time); /*设备控制:向左、向右、向上、向下、放大、缩小、停止遥控/开始手动录像、停止手动录像/布防、撤防/报警复位/设备远程启动*/ /*ctrl_cmd:设备控制命令,_device_control类型的枚举变量*/ /*返回值:成功时返回0,失败时返回负值*/ int (*csenn_eXosip_deviceControl)(enum _device_control ctrl_cmd); /*媒体控制:实时点播/回放/下载*/ /*control_type:媒体控制类型,实时点播/Play,回放/Playback,下载/Download*/ /*media_ip:媒体服务器IP地址*/ /*media_port:媒体服务器IP端口*/ /*返回值:成功时返回0,失败时返回负值*/ int (*csenn_eXosip_mediaControl)(char *control_type, char *media_ip, char *media_port); /*播放控制:播放/快放/慢放/暂停*/ /*control_type:播放控制,播放/快放/慢放/PLAY,暂停/PAUSE*/ /*play_speed:播放速度,1为播放,大于1为快放,小于1为慢放*/ /*pause_time:暂停时间,单位为秒*/ /*range_start:播放范围的起始值*/ /*range_end:播放范围的结束值*/ /*返回值:成功时返回0,失败时返回负值*/ int (*csenn_eXosip_playControl)(char *control_type, char *play_speed, char *pause_time, char *range_start, char *range_end); }csenn_eXosip_callback;
3) sip接入成功了,就可以实现音视频流的rtsp点播服务了
ps封装及rtp/udp发送
https://blog.csdn.net/yingyemin/article/details/82910366
轻便的gb28181协议中的rtp+ps格式视频流的封装和解析
https://github.com/max-min/streams
4、gb28181服务端端实现
28181服务端就需要跟上面的设备端对应了
首先需要sip服务器,然后rtsp点播请求,这里的rtsp点播是个客户端程序,跟设备里的RTSP服务对应。
1) GB28181使用python实现源码 包括catalog设备信息,预览设备视频流保存成本地文件以及球机PTZ控制
https://github.com/10961020/GB28181
2) gb28181服务器端的PS数据流的解析(rtsp客户端接收设备数据)
https://blog.csdn.net/mo4776/article/category/8485703
也可以用开源的工具,live555和ffmpeg都已经支持了ps流的解析。
5、gb28181一些细节,有网友做了个扫盲专栏
https://blog.csdn.net/longlong530/column/info/gbt28181
https://blog.csdn.net/voipmaker/article/category/1407946
6、具体协议分析,有网页抓包了,搬过来
http://www.cnblogs.com/dpf-10/p/8915723.html