三、gb28181設備端實現html
1) libeXosip包裏tools目錄下的sip_reg.c實現了sip的註冊(gb28181協議是複用sip協議的註冊來接入的)python
http://www.javashuo.com/article/p-coepduou-gg.htmlgit
2) 感謝Kira Jackson同窗2012年公開的gb28181的設備端實現github
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發送spa
http://www.javashuo.com/article/p-ubhypxcq-mu.html.net
輕便的gb28181協議中的rtp+ps格式視頻流的封裝和解析指針
https://github.com/max-min/streams
四、gb28181服務端端實現
1) GB28181使用python實現源碼 包括catalog設備信息,預覽設備視頻流保存成本地文件以及球機PTZ控制
https://github.com/10961020/GB28181
2) gb28181服務器端的PS數據流的解析
https://blog.csdn.net/mo4776/article/category/8485703
也能夠用開源的工具,live555和ffmpeg都已經支持了ps流的解析。
五、gb28181一些細節,有網友作了個掃盲專欄
https://blog.csdn.net/longlong530/column/info/gbt28181
https://blog.csdn.net/voipmaker/article/category/1407946
六、具體協議分析,有網頁抓包了,搬過來