微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 电梯监控系统中的视频编解码关键技术

电梯监控系统中的视频编解码关键技术

时间:11-30 来源:电子产品世界 点击:

将实现的硬件解码器保存为.C文件,添加至libmpcodec 目录下。在这个源文件中需要实现两个关键的结构体: vd_info_t和vd_functions_t。vd_info_t定义了解码器的相关信息,包含五个字符串参数,都必须填写。其中的第二个参数short name为定义的编码器名,需要和配置文件codec_conf中的driver保持一致。 vd_functions_t定义了与解码有关的函数,通过info 的定义以及 LIBVD_EXTERN 的调用使解码器的vd_functions_t结构体在Mplaer全局生效。通过上述过程,从而完成 S5pv210硬解码实现和 Mplayer 调用接口之间的衔接定义。

本文来源于中国科技核心期刊《电子产品世界》2016年第11期第35页,欢迎您写论文时引用,并注明出处。

3.2.2 修改配置文件

Mplayer所有可用的音、视频解码器均在etc 目录下的 codec.conf 文件中声明。所以,植入时需要在该文件中注册自定义的硬件解码器。文件中,使用 videocodec 关键字声明新解码器名;info关键字指明-help 命令执行时打印的信息;status 关键字表示该解码器的工作状态;fourcc 关键字说明解码器可解析的视频类型,其格式为四字符的国际通用的视频压缩标准; driver 关键字指明集成在 Mplayer 内部的解码器模块,即所实现的解码器名,必须和vd_info_t中定义的第二个字符串short name参数一致;out 关键字说明解码后输出的色彩编码格式。

3.2.3 添加解码驱动

在libmpcodec/vd.c中加入MFC的解码驱动。在vd.c中将硬件解码器的vd_functions_t结构体变量添加到全局数组vd_functions_t* mpcodecs_vd_drivers[]中,该数组中保存了Mplayer当前可用的所有的视频解码器,这些解码器可以通过vd_info_t中的short name所保存的全局唯一字符串来查找。MPlayer运行时,会将codec.conf中所有的视频解码器读入程序,并保存在全局的数组codecs_st video_codecs[]中。vd.c中的init_best_Video_codec函数会根据video_codecs[]数组中的信息匹配当前视频的最佳解码器,并在mpcodecs_vd_drivers[]中查找相应的解码函数。

3.2.4 移植Mplayer至开发板

修改libmpcodec/Makefile文件,在SRCS_COMMON中添加新植入的解码器文件以及其它相关的新增源文件。交叉编译后,将Mplayer移植到开发板上。为了保证最终的视频播放效果,可以根据LCD显示屏尺寸修改/.mplayer/config文件中的显示配置参数。

至此,通过向Mplayer中植入硬件编码器,在嵌入式设备上实现了基于S5pv210芯片的硬件解码技术。

4 实验测试

通过上述方法,设计实现了一套兼具广告视频播放功能的电梯监控系统样机。系统的嵌入式端硬件实现是以S5pv210核心板为基础,根据电梯监控应用环境扩展外围电路,支持有线和无线以太网接入,支持HDMI视频输出以及外接SD卡存储。软件开发平台为嵌入式Linux操作系统,视频采集利用V4L2框架实现,视频传输使用UDP协议,其中视频的硬件编解码基于S5pv210的MFC开发实现。针对系统的嵌入式端进行运行测试,目的是验证当前设计是否能满足市场应用要求,即在降低硬件成本的同时,保证系统性能。

为了测试硬件编解码的运行效率,系统加载了上一代监控产品的软件编解码代码,进行对比运行测试。测试过程中,实时查询系统的CPU占用率,以执行代码时的CPU占用率作为运行效率的量化评价指标。

对比测试发现,采用软件编解码技术的代码执行效果很差。仅运行视频采集功能模块,即运行视频编码时,在不向服务器传输实时视频的情况下,CPU占用率已经达到71%。若同时开启编码和传输功能,CPU占用率则上升至85%,服务器端的监视画面出现延迟、卡顿现象。尝试让系统在采集传输视频的同时,再播放广告视频,即同时运行编解码程序,系统死机完全无响应,可认为CPU占用率达到100%。这说明,嵌入式芯片的有限处理能力无法负荷针对PC 环境开发的软件编解码程序。

对本文所设计的硬件编解码程序,在相同条件下进行测试。在单独执行编码程序的情况下,CPU占用率仅为30%;若同时开启编码和传输功能,CPU占用率仅增加了3%。从测试结果来看,增加视频传输对系统开销的影响几乎可以忽略,这是由于本文设计的传输程序是伴随视频帧编码同时进行的,采用H.264编码格式传输的数据量很小,对系统资源消耗很少。此外,从监控画面来看,视频无卡顿,仅有少许延迟。如果再同时运行解码程序,CPU占用率上升至67%,系统依然正常运行,无卡顿。广告视频播放流畅,画面清晰,色彩无失真。

对比测试的结果如表1所示,结果表明本文设计实现的视频硬件编解码技术很好地发挥了S5pv210芯片的多媒体处理能力,表现出良好的系统运行效率。

5 结束语

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top