[发明专利]一种基于FFMPEG与硬件加速设备的解码系统及方法有效
申请号: | 202011555110.6 | 申请日: | 2020-12-24 |
公开(公告)号: | CN112511840B | 公开(公告)日: | 2023-02-17 |
发明(设计)人: | 安文杰;葛长恩;王达 | 申请(专利权)人: | 北京睿芯高通量科技有限公司 |
主分类号: | H04N19/44 | 分类号: | H04N19/44 |
代理公司: | 北京科龙寰宇知识产权代理有限责任公司 11139 | 代理人: | 孙皓晨 |
地址: | 102600 北京市大兴区北京经济技*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ffmpeg 硬件加速 设备 解码 系统 方法 | ||
本发明公开了一种基于FFMPEG与硬件加速设备的解码系统及方法,其中解码系统包括FFMPEG插件模块、解码代理模块和解码管理器模块,其中:FFMPEG插件模块分别与上层应用和解码代理模块数据连接,用于将上层应用的视频帧数据解包缓存成视频流发送给解码代理模块并返回YUV数据给上层应用,FFMPEG插件模块包含多个FFMPEG插件;解码代理模块采用C/S架构,分别与FFMPEG插件模块和解码管理器模块数据连接,用于代理转发所述FFMPEG插件模块的业务请求、待解码视频流和解码后的YUV数据,解码代理模块包括一服务端和多个客户端;解码管理器模块与解码代理模块数据连接,用于管理解码资源、均衡负载、执行解码任务及返回YUV数据,解码管理器模块包含多个硬件解码设备。
技术领域
本发明涉及音视频解码处理领域,具体而言,涉及一种基于FFMPEG与硬件加速设备的解码系统及方法。
背景技术
多媒体应用程序是典型的资源密集型应用,优化多媒体应用程序至关重要,这也是使用视频处理专用硬件加速的初衷,通过硬件加速,整个系统更加有效地运行。其中,硬解码加速卡使用了专门的高通量解码芯片,其具备解码高速度、高带宽、低功耗等优势被广泛应用于多媒体服务器中,使用独立的解码IP核专用视频加速硬件可以使得解码、编码或过滤(Filter)等操作更快完成且使用更少的其他资源,尤其是CPU。但是为了支持硬件加速,软件开发厂商则面临着各种挑战:一方面存在潜在的系统性能风险问题,另一方面软件还要面对各种硬件架构的复杂性,并需要维护不同的代码路径来支持不同的架构和不同的方案,而优化这类代码耗时费力。因此,提供一个通用且完整的跨平台、跨硬件厂商的多媒体硬件加速方案是非常有必要的。FFMPEG是现今非常流行的音视频编解码框架,FFMPEG是一种可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,其包含了非常先进的音频/视频编解码库libavcodec,被许多开源项目如ffmpeg2theora,VLC,MPlayer,HandBrake,Blender,Google Chrome等所采用。虽然通用CPU从X86到arm都集成了硬解码功能,也有使用FFMPEG的硬解码加速实现的,但是由于解码核心支持1路或几路视频流,所以只能满足消费领域。
目前,FFMPEG的硬件加速实现方案一般都通过AVCodec接口直接调用硬件平台的API来实现流的编解码,而硬件平台的API直接调用设备驱动接口,FFMPEG硬解码默认使用CPU硬解码,从而导致CPU负载较高。基于GPU的一些FFMPEG硬件加速系统中,每个FFMPEG实例会直接调用驱动的内核函数,应用的不适当操作容易导致内核崩溃、服务器重启;而每个FFMPEG实例对应硬解码加速设备的完全初始化,对服务器大量碎片化FFMPEG任务的耗时也无法承受。另外,基于驱动的内核操作在多个容器映射时,容器中的解码应用无法直接访问硬件设备,实现难度大也不方便弹性部署,而采用C/S(Client-Server)架构FFMPEG插件库只与宿主机的守护进程通信,与硬件解耦。因此,需要一种能够使用FFMPEG编解码框架实现完全匹配硬解码加速卡多路解码能力的技术方案。
发明内容
为了解决现有技术中的不足,本发明提供一种基于FFMPEG与硬件加速设备的解码系统及方法,其通过解码管理器模块更加方便地对接多种不同硬件解码加速卡,从而更加方便地赋予FFMPEG硬件解码加速能力。另外,FFMPEG解码实例和硬件解码加速卡的弹性对接,能够重复利用硬件的解码能力,避免了硬件解码资源的浪费。
为达到上述目的,本发明提供了一种基于FFMPEG与硬件加速设备的解码系统,其包括FFMPEG插件模块、解码代理模块和解码管理器模块,其中:
所述FFMPEG插件模块分别与上层应用和所述解码代理模块数据连接,用于将所述上层应用的视频帧数据解包缓存成视频流发送给所述解码代理模块,并返回YUV数据给所述上层应用,其中,所述FFMPEG插件模块包含多个FFMPEG插件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京睿芯高通量科技有限公司,未经北京睿芯高通量科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011555110.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动化堆利用原语采集方法
- 下一篇:一种具有除雪及保护功能的太阳能板装置