基于JT/T 1078协议设计和开发部标视频服务器
交通部与2016年10月份推出了JT/T 1078-2016标准,全称是<道路运输车辆卫星定位系统视频通信协议>。该标准将改变以往两客一危车辆的视频监控设备通信协议都是设备厂商私有协议的局面。标准起草单位:交通通信信息中心、北京国交信通科技发展有限公司、江苏威森通讯科技有限公司、大连信开数码软件有限公司、深圳市锐明视讯技术有限公司、广州亿程交通信息有限公司、深圳市瑞信视讯技术有限公司、吉林省寰旗卫星导航通信集团有限公司、杭州海康威视数字技术股份有限公司、大连鼎视科技有限公司。这里面真正做视频老牌厂商也就是海康、大华这两家公司。
1.部标1078协议和808协议的区别
部标1078协议文档明确说明了,协议是在JT/T 808协议的基础上进行增加了大量的视频指令,以前的终端32位报警,由于增加了视频报警,拓展为64位报警。终端参数中也增加了大量与视频相关的参数设置。协议的通信方式、数据类型、传输规则和消息组成按照 JT/T 808-2011中第 4 章的要求。协议中信令数据报文的通信连接方式按照 JT/T 808-2011中第 5 章的要求。协议中信令数据报文的消息处理机制按照 JT/T 808-2011中第 6 章的要求。协议中信令数据报文的加密机制按照 JT/T 808-2011中第 7 章的要求。
可见1078协议仍然是基于部标808协议继续拓展的协议指令集,不过在1078协议中分为信令和数据两个独立的通道,也就是视频设备与视频平台的服务器之间是建立两个通道:
1)信令数据通道:数据格式应符合 JT/T 808-2011的规定,并在其协议格式的基础上添加新的协议指令及数据格式。 报文通信应使用车载视频终端和企业视频监控平台之间已建立的、用于传输定位信息的链路,不应新建链路。
2)码流数据通道:用于网络实时音视频传输、网络录像回放、语音对话、语音监听、语音广播等。报文通信应新建链路,而不使用传输定位信息的链路。
2.开发语言和架构设计
语言的选择对于视频服务器的性能并不是决定性的,因为语言层面的性能的高低还轮不到我们一般的开发者指指点点,我们做的软件还不是阿里巴巴腾讯百度那种访问量级别的东西,软件出问题了,肯定是人写的有问题,你总不能对老板说这是由于我们没有采用某种牛逼的语言,没有采用某种牛逼的操作系统,其实我们都明白重要的是开发者自己是否对流媒体技术经验有长期的积累.但为了提高开发效率,避免重复造轮子,流媒体开发的第一语言首先还是c++.
从协议中可以看出,视频的查看,需要平台下发给设备,完成一连串的指令交互,待指令交互完成后,由设备再和平台的视频服务器建立视频数据通道,开始传递视频数据。
所以视频服务器需要两个服务器子系统,一个是视频的信令服务器,我们可以在部标808GPS网关服务器的基础上增加视频的信令和相关的逻辑处理、视频报警分析、视频参数设置等功能。对于流媒体数据解析这块,需要单独增加一个流媒体服务器,来进行流媒体的数据解析、编解码处理、录像存储、数据转发等工作。
开发一个高性能的完整的流媒体转发服务器,从架构设计上面分为五层:
1)视频连接接入、管理、流量计算;
2)RTP包数据解析,计算丢包率,提取音视频裸码流,根据RTP包的音视频类型格式,进行不同的编解码转换;
3)转发层:根据用户端的播放请求和用户所能接受的音视频编码格式,匹配设备的音视频数据转发给指定的用户端,转发是视频服务器中最复杂的一环,不仅包括对企业平台用户的转发,还包括对上级监管平台用户的转发,两种转发基于不同的协议,需要做单独的处理。
4)日志层:记录码流,记录音频数据为wav文件,方便进行调试; .
5)界面层:进行视频设备连接监控和数据包监控
如需增加GB28181的视频转发功能, 可以参阅文章
GB28181协议和JT1078视频服务器的区别和集成
Netty4 + SpringBoot2 + RabbitMq + Redis + AliOSS 构建高性能粤标主动安全平台
如需购买部标1077视频平台或苏标平台,可联系2379423771@qq.com
基于此视频服务器可以开发1077视频平台或苏标主动安全平台:基于Spring4+SpringMVC4+Mybatis3+Hibernate4+Junit4框架构建高性能企业级的部标视频监控平台
在服务器端,内嵌了一个视频播放器,可以直接在视频服务器上面,双击视频连接查看视频,这样有助于调试设备视频。
3.界面设计
视频服务器由于是接入全国几十家过检的设备厂商,不同的设备厂商采用不同的音频编码,视频数据流又非常庞大复杂,需要有非常友好的界面,方便设备调试,视频连接管理,丢包监控等。如下图所示,在视频服务器界面上能够做到以下监控:
1)当前的视频连接,音频编码,流量,丢包率,传输速度,时长;
2)可以查看某一个视频连接的RTP数据包;
3)可以监控当前的对讲和广播数据包;
4)对上级监管平台的转发数据包监控;
4.Html5播放器
视频服务器支持RTMP/HLS/HTTP-FLV/Websocket-FLV, 可以采用支持Http-Flv的Html5播放器 播放音视频数据.
它的工作原理是将 FLV 文件流转码复用成 ISO BMFF(MP4 碎片)片段,然后通过 Media Source Extensions 将 MP4 片段喂进浏览器。
1) 具有 H.264 + AAC 编解码器播放功能
2) 多部分分段视频播放
3) HTTP FLV 低延迟实时流播放
4) FLV 也可以通过 WebSocket 实时流播放
5) 兼容 Chrome, FireFox, Safari 10, IE11 和 Edge
5.如需增加GB28181的视频转发功能, 可以参阅文章
GB28181协议和JT1078视频服务器的区别和集成
6.上级监管平台的转发
对上级监管平台的交互,也是分为指令通道和数据通道,首先要基于809部分中的视频指令协议,完成视频指令交互应答后,为上级监控平台提供Http服务器接口,上级监控平台用户按照视频协议的HttpURL格式要求,发起Http请求,企业平台返回指定的设备的视频数据,上级监控平台获取数据后自行解码播放。
部标视频的压测文章参见:部标1077视频平台过检和压力测试经验分享
(22463)