解决方案
针对出现上面的问题的原因VIKOR总结并不是由于H.264压缩算法不如MJPEG,而完全是由于我们没有针对这样的网络环境中进行优化,任何一个好的算法,在实际应用中也是要根据应用场景进行相应的优化处理,这样的优化大部分是针对网络传输来进行的。我们可以从以下三个方面入手来解决问题。
一、增加编码过程中I帧出现的几率。
在MPEG系列编码算法中,通常用GOP(GROUP OF PICTURE)这一值来设置I帧产生的间隔,比如当GOP设置为30时,就表示每30帧产生一个I帧。I帧通常占用数据量都很大,很多编码器将GOP设置为120或者更高,这样可以较少I帧出现的概率,从而降低码流;但是带来的后果就是当网络带宽不够,丢掉一个I帧,那几秒内无法再正确解码数据帧直到接收到下一个I帧,导致画面长时间停滞。经过我们长期的测试,在低带宽的情况下GOP的值调整为5比较合适,这样1秒钟能够产生5个I帧,即使偶尔丢掉了一个I帧,下一个I帧也能很快弥补上,图像不至于长时间的停滞。
二、实时检测网络带宽
视频服务器要智能的对带宽进行实时检测和控制,我们可以通过应答机制等方法掌握当前实际的网络带宽是多少,这个是完全可以通过嵌入式软件来实现的。只要能实时的掌握带宽,就可以对编码器的策略和发送策略进行实时调整。针对不同的带宽采取不同的编码策略和发送策略,从而最大利用带宽进行视频传输。
三、优化发送策略,增加I帧发送几率
当嵌入式软件检测到当前带宽不够的时候,传输模块应智能的调整发送策略,增加I帧的发送几率。除了通过降低GOP的值增加I帧的产出几率,同时在网络发送策略上确保I帧能够发送成功,如可以采用带有重发机制的协议确保I帧不会在网络上丢失。这样,可以增加有效帧对带宽的占用,减少无效帧对带宽的耗费。
目前网络视频服务器用量已很广,如江苏句容监狱、浙江顺发集团、湖南体育馆、东庞煤矿等,用户推荐设备型号:VK-VD01,现在放上参数与大家共享:
? 采用高可靠性嵌入式设计,产品体积小,集成度高, 便于组网;
? 支持PAL或NTSC格式;
? 支持1路和4路(1路4分割输出)8路(2路4分割VGA输出);
? 具有独立的音视频输出通道,输出音视频信号;
? 具有音频输出接口,可实现与前端视频服务器对讲功能;
? 支持完全透明的RS485接口;
? 具有虚拟矩阵管理功能, 大型平台组网更加方便;
? 强大的解码功能,最多可注册256台摄像机或编码服务器;
? 支持摄像机端报警输出,可以显示报警通知;
? 内置Web Server,通过IE浏览器轻松实现远程监看、控制、设置等操作;
? 可独立使用,可完全脱离管理计算机,自行解码并切换到电视墙;
项 目 参 数
视频制式 支持NTSC或PAL格式
音频压缩标准 MPEG-4
视频流占用带宽平均 200 kbps(分辨率352×288,25帧)
画面延迟 小于200毫秒(局域网)
支持的分辨率 PAL: 704×576、704×288、352×288
NTSC:704×480、704×240、352×240
控制接口 RS485透明通道
音频输入 BNC接口 麦克风输入或线性输入
音频输出 BNC接口 线性输出
硬件 CPU:高性能DSP处理器;
操作系统:实时嵌入式Vxworks操作系统;
视频输出方式 模拟视频输出
视频解码格式 支持D1: 704×576最优,兼容 Half D1: 704×288 CIF: 352×288
音频功能 双向语音对讲
视频解码格式 支持前端视频服务器及网络摄像机
语言选择 中英文可选
接口 485接口接入键盘、矩阵控制器等控制设备
画面延迟 小于200毫秒(局域网)
多服务器切换 支持通道选择及可编程控制通道巡检
网络接口 10/100Mbps RJ45
工作温度 5 ~ 60 ℃
工作湿度 20 ~ 80%
输入电压 DC12V
功率 小于5.2 瓦 W