1、海康做为下级平台,提供设备清单及视频点播请求
下级平台注册后,Catalog命令就可以取到点位信息,注意GB28181的请求响应方式,注意请求中字段的准确
发送INVITE请求就能取到PS视频流,PS流比较好解析
注意I帧、P帧PS流的封装。每帧的第一个分片有PS头信息,后面的分片就是RTP头加上视频数据。
PS流组成帧数据根据RTP的mark值组成一帧
PS流组帧后使用ffmpeg解码,解码后的是YUV420P的数据
2、chrome中使用VLC的rtsp协议通过转发进行点播
支持rtsp点播,要支持OPTION,DESCRIBE,SETUP,PLAY,TEARDOWN命令
收到RTSP请求后请求GB28181的视频,一般SETUP命令时,就要准备好流数据,实际中可根据情况在PLAY完成后再去请求GB28181视频
VLC重连机制,一般情况时收到TEADRDOWN命令应该关闭点播,处理时可以直接返回该请求,不进行关闭流的处理
收到客户端的FIN,SIP请求的成功或者RTCP的心流关闭RTSP客户端
3、PS流转VLC识别的H264流
转发PS流组成的帧数据,通过RTP拆包,VLC不能播放
直接转发收到PS流,VLC不能播放
需要对H264数据使用NALU Header和NALU Payload的标准方式才能点播
参考资料:ffmpeg,live555,网上PS流解析介绍等