0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息威廉希尔官方网站 ESM6802视频处理简介

英创信息威廉希尔官方网站 来源:英创信息威廉希尔官方网站 作者:英创信息威廉希尔官方网站 2020-02-06 10:47 次阅读

ESM6802是英创公司推出的基于Freescale i.MX6DL双核处理器(ARM Cortex-A9,主频1GHz)的高性能工控主板,imx6dl内部包含一个视频处理模块(VPU)可以支持多种视频格式的编解码,而开发板预装的Linux系统也提供了gstreamer以及Qt 5.8来给视频处理应用程序提供便捷的函数接口。本文将简单介绍VPU硬件模块以及gsteamer多媒体编程框架和Qt 5.8的多媒体处理模块。

1、多媒体文件简单介绍

多媒体文件通常有文件后缀如mp4、mkv等。这些后缀表明的是多媒体文件的container格式,也就是视频数据、音频数据、字幕数据的封装在一个文件中的封装格式。而视频数据、音频数据又有自己的编码格式,如视频常用的H264、MPEG4等以及音频常用的AC3、MP3等。编码格式才是不同多媒体文件之间的本质区别所在,在处理相关多媒体文件时必须有相应的编解码器才能进行。不同的编码能够提供不同的数据压缩水平以及数据恢复的质量,关于各种编码标准以及文件封装格式的详细信息用户可以自行查看相关资料,我们建议用户在使用中尽量使用H264编码的视频数据。

2、硬件资源介绍

imx6dl内部集成了一个高性能的、支持多种编解码格式的视频处理模块(VPU),支持最高1920x1080 60i或者30p分辨率的解码以及1920x1088分辨率的视频编码,使用VPU来处理视频不占用CPU资源,而且处理速度更快,在实际使用中应该尽量优化应用程序使用VPU来处理视频编解码相关操作。

VPU能够解码的视频格式为:

●H.264 BP/MP/HP

●VC-1 SP/MP/AP

●MPEG-4 SP/ASP (不包括GMC)

●DivX(Xvid)

●MPEG-1/2

●VP8

●AVS

●MJPEG

VPU支持的编码格式为:

●H.264

●MPEG-4

●H.263

●MJPG

关于支持的编解码格式的详细说明请参考后面Qt章节的详细列表或者文档《i.MX VPU Application Programming Interface Linux Reference Manual》,我们在此不再详细说明。

VPU提供了一套函数接口供程序调用,程序调用这些API函数向VPU发送命令以及相应的参数来达到控制VPU编解码的运行。由于Linux系统下面的视频处理编程框架有更加高级的gstreamer,而且imx6dl也提供了相应的gstreamer插件来使用VPU资源,我们不再详细介绍VPU提供的低级API函数,也不推荐用户使用这套API,不过有兴趣的用户可以自行参考《i.MX VPU Application Programming Interface Linux Reference Manual》。

3、GStreamer介绍

GStreamer是目前常用的流媒体处理编程框架,GStreamer提供一种基于插件的编程框架,他的核心部分只提供了支持框架之间的数据流、媒体格式的协商等基础功能,而对于流媒体的编解码以及流媒体内容的获取(如摄像头、网络、本地文件)等功能都由插件提供。在编程时可以将插件进行连接组合成一条流媒体处理流水线(pipeline),当流水线工作时,流媒体内容从第一个插件元素(element)一直流动到最后一个,各个插件元素完成自己的功能从而实现流媒体的处理。一个简单的ogg视频播放流水线示例如下图所示:

一个流水线内的元素包含了数据处理接口(pad),pad根据数据的流向又分为source pad和sink pad,如上图所示,source pad是生成数据的接口,而sink pad是接收数据的接口。每个接口都有自己能够接收或产生的数据格式的限制,称为cap capabilities,这些限制可以使用命令行工具gst-inspect-1.0进行查看,使用方法为:

gst-inspect-1.0 [选项...] [ELEMENT-NAME | PLUGIN-NAME]

如查看v4l2src,v4l2src是用于从摄像头采集数据的元素,命令输出部分结果如下:

上图中可以看到v4l2src有一个source pad,可以生成image/jpeg、video/mpeg、video/x-h264等格式的数据,在构建GStreamer流水线时,只有当两个元素的src pad和sink pad能够处理相同格式的数据时,才能将这两个元素连接起来。而对于像v4l2src这类的数据生成的元素,其支持的数据格式和最终能够产生的数据格式是不一样的,能够产生的数据格式是所支持的数据格式的一部分,受到摄像头硬件的限制,比如常见的USB摄像头只支持生成YUY2\jpeg格式,则使用此摄像头的v4l2src元素也就只能产生这两中格式的数据,在编程时要特别注意这点,避免错误的连接元素。

更多GStreamer基础知识请用户详细阅读GStreamer官网上的编程参考手册或其他相关知识,我们下面将介绍imx6dl所提供的特有的插件。

基于imx6dl内部视频处理模块VPU的GStreamer插件包括:

●vpudec: 基于VPU的视频解码插件

●vpuenc_h264: 基于VPU的AVC/H264视频编码插件

●vpuenc_h263: 基于VPU的H263视频编码插件

●vpuenc_mpeg4: 基于VPU的MPEG4视频编码插件

●vpuenc_jpeg: 基于VPU的JPEG视频编码插件

上面模块的编解码格式详细信息可以参考上一章VPU的介绍。

基于其他硬件模块的插件包括:

●overlaysink: 基于2D图形处理模块G2D的视频输出插件

●imxvideoconvert_g2d: 基于G2D的视频图像转换模块,包括图像颜色空间转换、改变大小、旋转

●imxvideoconvert_ipu: 基于图像处理模块ipu的图像转换模块

●imxcompositor_g2d: 基于G2D的视频编排模块

●imxcompositor_ipu: 基于IPU的视频编排模块,视频合成模块可以将多个视频编排成一个,并且编排同时支持颜色空间转换、改变大小、旋转、alpha(透明度)、z-order(用于图像重叠)。

这些插件在处理数据时都不会占用CPU资源,并且能提供高性能的数据处理,建议用户在应用程序中优先使用这些插件。每个插件都有支持的数据格式限制,用户可以使用gst-inspect-1.0命令进行查看,限于篇幅我们只展示vpuenc_h264的部分输出如下:

从输出可知,vpuenc_h264支持video/x-raw格式的视频输入,而且限制为NV12、I420、YV12颜色模式,以及分辨率为宽64~1920、长64~1088,帧率从每秒0帧到每秒2147483647帧,如果要使用vpuenc_h264进行视频文件编码,则前一级的GStreamer流水线元素必须提供限制内的数据格式,否则将无法正确编码,程序运行出错。用户在使用GStreamer插件之前需要先确认其支持的数据格式以及之前插件提供的输入的数据格式是否匹配,以免程序不能正常运行。

除了单独使用插件外,GStreamer还提供高级元素,元素内部自动识别文件格式调用相应的插件来完成数据处理,比如playbin、decodebin、camerabin等,这些元素能够自动使用上面所说的特定硬件的插件。这些元素能够简化程序的开发,但是程序也就不能详细配置某个特定的插件的属性了,程序少了灵活性,更多相关内容请自行参考GStreamer相关文档。

4、Qt 5.8多媒体处理模块

ESM6802文件系统已经移植了Qt 5.8,Qt的多媒体处理模块是基于GStreamer框架搭建的,用户在编写程序时可以调用Qt提供的API来进行视频处理,这样就可以在使用硬件资源(VPU、IPU、G2D等)的同时简化程序的复杂程度(不用自行搭建GStreamer流水线)。

关于Qt视频播放的介绍请参考我们官网的文章《ESM6802支持基于Qt的视频播放》。

关于Qt摄像头的程序请参考我们官网的文章《ESM6802支持Qt摄像头应用》。

由于Qt内部多用playbin、camerabin等高级元素来构建视频应用,应用灵活性有限,为了使程序能正确运行以及提高视频数据处理性能,对输入数据格式有一定限制。由之前两章的介绍可知,imx6dl硬件资源能够处理的多媒体格式是有限制的,在使用Qt进行视频播放时需要满足这些限制才能正确的使用特定的硬件资源,而不占用CPU资源,对于视频播放(解码)的限制格式如下:

• H.264

• Fully compatible with the ITU-T Recommendation H.264 specification in BP/MP and HP

• CABAC/CAVLC

• Supports MVC Stereo High profile

• Variable block size-16x16, 16x8, 8x16, 8x8, 8x4, 4x8 and 4x4

• Error detection, concealment and error resilience tools

• VC1

• All VC-1 profile features-SMPTE Proposed SMPTE Standard for Television: VC-1 Compressed Video Bitstream format and Decoding Process

Simple/Main/Advanced Profile

• MPEG-4

• Simple/Advanced Simple profile except GMC

• H.263 Baseline profile + Annex I, J, K (except RS/ASO), and T

• DivX version 3.x to 6.x

• Xvid

• MPEG-2

• Fully compatible with ISO/IEC 13182-2 MPEG2 specification in main profile

• I,P and B frame

• Field coded picture (interlaced) and fame coded picture

• AVS

• Supports Jizhun profile level 6.2 (exclude 422 use case)

• VP8

• Fully compatible with VP8 decoder specification

• Supporting both simple and normal in-loop deblocking

• 64x64 pixel minimum decoding size

对于摄像头应用,支持的编码输出格式为:

• H.264

• 1/4-pel accuracy motion estimation with programmable search range up to [+/-128, +/-64]

• Search range is reconfigurable by SW

• 16x16, 16x8, 8x16 and 8x8 block sizes

• Configurable block sizes

• Only one reference frame for motion estimation

• Intra-prediction

• Luma I4x4 Mode : 9 modes

• Luma I16x16 Mode : 3 modes (Vertical, Horizon, DC)

• Chroma Mode : 3 modes (Vertical, Horizon, DC)

• Minimum encoding image size is 96 pixels in horizontal and 16 pixels in vertical

• FMO/ASO tool of H.264 is not supported

• MPEG-4

• AC/DC prediction

• 1/2-pel accuracy motion estimation with search range up to [+/-128, +/-64]

• Search range is reconfigurable by SW

• H.263

• H.263 Baseline profile + Annex J, K (RS=0 and ASO=0), and T

• 48x32 pixel minimum encoding image size (48 pixels horizontal and 32 pixels vertical)

而要使用这些硬件编码资源还需要摄像头输入数据满足如下格式:

video/x-raw

format: { NV12, I420, YV12 }

width: [ 64, 1920, 8 ]

height: [ 64, 1088, 8 ]

framerate: [ 0/1, 2147483647/1 ]

如果不能满足以上格式要求,Qt内部调用的GStreamer高级元素有可能会选取软件编解码插件来进行视频的处理,这样整个处理过程会占用大量的CPU资源,也有可能内部协商出错,不能正常处理视频,因此用户最好在编写应用时提供满足上面介绍的格式的视频数据。购买摄像头时尽量选择能够直接输出NV12、I420、YV12格式的摄像头,其他格式则需要自己构建GStreamer pipeline先进行数据格式的转换,Qt内部使用的camerabin不能正确处理这些。

更多视频处理相关的内容请关注我们后续的文章。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11303

    浏览量

    209440
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6085

    浏览量

    35322
收藏 人收藏

    评论

    相关推荐

    飞腾助力首届教育信息威廉希尔官方网站 应用创新大赛圆满落幕

    近日,由中国教育威廉希尔官方网站 协会主办,教育部教育管理信息中心教育信实验室、公安部第三研究所、中国电子工业标准化威廉希尔官方网站 协会信工委会支持,北京航空航天
    的头像 发表于 12-24 09:57 86次阅读

    有方科技参编的信息威廉希尔官方网站 团体标准发布

    近日,有方科技参编的《信息威廉希尔官方网站 产品供应链成熟度 共性指标 第1部分:企业背景评价》《信息威廉希尔官方网站 产品供应链成熟度 共性指标 第2部分:威廉希尔官方网站 掌控评价》《信息威廉希尔官方网站 产品供应链成熟度 共性指标 第
    的头像 发表于 12-23 10:44 104次阅读

    龙芯中科助力2024首届教育信息威廉希尔官方网站 应用创新大赛成功举办

    近日,2024首届教育信息威廉希尔官方网站 应用创新大赛在北京航空航天大学成功举办。本次大赛由中国教育威廉希尔官方网站 协会主办,教育信实验室、公安部第三研究所、中国电子工业标准化威廉希尔官方网站 协会信
    的头像 发表于 12-19 17:02 199次阅读

    拓维信息参与牵头组建!长沙新一代信息威廉希尔官方网站 产教联合体正式获批

    的长沙新一代信息威廉希尔官方网站 产教联合体成功获批,为长沙市信息威廉希尔官方网站 产业发展注入了新的活力。图/《2024年长沙市市级市域产教联合体名单》长沙新一代信息威廉希尔官方网站 产教联合体将依托龙头企
    的头像 发表于 12-07 01:06 367次阅读
    拓维<b class='flag-5'>信息</b>参与牵头组建!长沙新一代<b class='flag-5'>信息威廉希尔官方网站
</b>产教联合体正式获批

    中科达荣获2024年软件和信息威廉希尔官方网站 服务优秀企业

    及前百家企业”名单。中科达凭借非凡的威廉希尔官方网站 实力与持续的创新能力,成功入选“2024年度软件和信息威廉希尔官方网站 服务竞争力百强企业”以及“2024年软件和信息威廉希尔官方网站 服务优秀企业”。
    的头像 发表于 10-30 11:44 484次阅读

    国产化背景下的工控主板发展现状

    ,是信息威廉希尔官方网站 应用创新产业的简称,于2016年“信工委会”(信息威廉希尔官方网站 应用创新工作委员会)提出,目的就是要推动我们国内软硬件关键威廉希尔官方网站 的研发
    的头像 发表于 09-21 16:15 398次阅读

    加速鲲鹏落地!拓维信息迁移工具荣获鲲鹏原生开发威廉希尔官方网站 认证

    认证。图/拓维·数据库适配中间件取得鲲鹏原生开发N认证在数字化时代的大潮中,信战略作为国家推动信息威廉希尔官方网站 应用创新、保障信息安全与自主可控的关键举措,其重要性日益凸显
    的头像 发表于 09-10 08:03 446次阅读
    加速鲲鹏落地!拓维<b class='flag-5'>信息</b>信<b class='flag-5'>创</b>迁移工具荣获鲲鹏原生开发<b class='flag-5'>威廉希尔官方网站
</b>认证

    梯度科技入选2023年信息威廉希尔官方网站 应用创新解决方案名单

    日前,工业和信息化部网络安全产业发展中心(工业和信息化部信息中心)在天津举办2024信息威廉希尔官方网站 应用创新发展大会暨解决方案应用推广大会。会上正式公布了2023年
    的头像 发表于 09-09 16:29 430次阅读

    中软国际信服务助力大连信产业发展

    为进一步激发大连本地信产业生态的活力与潜力,搭建一个高效、开放的交流平台。由大连软件行业协会携手大连市信息威廉希尔官方网站 应用创新综合服务中心主办,中软国际协办的,2024年大连市信息威廉希尔官方网站 应用创新产业发展大会
    的头像 发表于 08-27 16:49 877次阅读

    集芯IP6802:至为芯设计的一站式无线充电soc解决方案应用芯片

    设计的无线充电解决方案采用了集芯的IP6802。作为该方案的核心部件,IP6802不仅拥有高效的无线充电功能,还具备了灵活的定制能力,能够根据客户的需求进行个性
    的头像 发表于 08-02 16:40 445次阅读
    <b class='flag-5'>英</b>集芯IP<b class='flag-5'>6802</b>:至为芯设计的一站式无线充电soc解决方案应用芯片

    龙芯中科三项信方案入围工信部2023年信息威廉希尔官方网站 应用创新应用示范案例名单

    近日,工业和信息化部通报了2023年信息威廉希尔官方网站 应用创新解决方案征集遴选结果,本次共评选出典型解决方案173个、应用示范案例83个、单项创新案例64个。
    的头像 发表于 03-07 16:45 931次阅读
    龙芯中科三项信<b class='flag-5'>创</b>方案入围工信部2023年<b class='flag-5'>信息威廉希尔官方网站
</b>应用创新应用示范案例名单

    RX78M组 EtherCAT ETG.5003示例程序固件信息威廉希尔官方网站

    电子发烧友网站提供《RX78M组 EtherCAT ETG.5003示例程序固件信息威廉希尔官方网站 .pdf》资料免费下载
    发表于 02-21 14:22 1次下载
    RX78M组  EtherCAT ETG.5003示例程序固件<b class='flag-5'>信息威廉希尔官方网站
</b>

    视频光纤矩阵:光纤威廉希尔官方网站 视频处理的完美融合

    随着信息威廉希尔官方网站 的飞速发展,视频传输和处理威廉希尔官方网站 也在不断进步。在这个过程中,视频光纤矩阵作为一种融合光纤威廉希尔官方网站
    的头像 发表于 02-19 14:56 655次阅读

    视频光纤矩阵威廉希尔官方网站 的发展趋势:更快、更稳定、更高效

    随着信息威廉希尔官方网站 的迅猛发展,视频光纤矩阵威廉希尔官方网站 作为高清视频传输与处理的核心威廉希尔官方网站 ,正迎来其发展的黄金时期
    的头像 发表于 02-19 14:44 361次阅读

    软通动力与捷威廉希尔官方网站 签订战略合作协议

    近日,软通动力信息威廉希尔官方网站 (集团)股份有限公司(以下简称“软通动力”)与宁波捷威廉希尔官方网站 股份有限公司(以下简称“捷威廉希尔官方网站 ”)正式签订战略合作协议,并
    的头像 发表于 02-03 16:35 1118次阅读