CN104994390A - 一种嵌入式视频处理器、***及构建方法 - Google Patents
一种嵌入式视频处理器、***及构建方法 Download PDFInfo
- Publication number
- CN104994390A CN104994390A CN201510372238.1A CN201510372238A CN104994390A CN 104994390 A CN104994390 A CN 104994390A CN 201510372238 A CN201510372238 A CN 201510372238A CN 104994390 A CN104994390 A CN 104994390A
- Authority
- CN
- China
- Prior art keywords
- video
- ffmpeg
- embedded
- codec
- embedded video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8193—Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种嵌入式视频处理器、***及构建方法,该构建方法包括:利用目标描述方式,对硬件编解码器进行重新定义,得到自定义的视频编解码器;利用编码器注册工具,将自定义的视频编解码器注册到FFmpeg中,以得到嵌入式视频处理器。可见本申请完成了将硬件编解码器有机地集成到FFmpeg的过程,这样,当FFmpeg接收到视频数据时,已经集成到FFmpeg的硬件编解码器就可以获取FFmpeg发送的视频数据,然后对该视频数据进行硬件编码处理,由于硬件编解码器的在进行视频编码时,主要消耗的是硬件编解码器内部的运算资源,由此降低了由于视频数据编码处理所造成的CPU运算资源消耗。
Description
技术领域
本发明涉及多媒体处理技术领域,特别涉及一种嵌入式视频处理器、***及构建方法。
背景技术
当前,在嵌入式开发环境中进行视频项目的开发时,可以采用FFmpeg(FFmpeg,即Fast Forward Mpeg)对原始的视频数据进行编码,以实现对视频数据的压缩。
现有的FFmpeg在对视频数据进行编码时,需要利用CPU的运算资源来进行编码。然而,由于在嵌入式开发环境中,CPU的运算资源是非常有限的,所以,FFmpeg在进行需消耗大量预算资源的视频数据编码处理时,会占用嵌入式开发环境中大部分的CPU运算资源,从而影响了嵌入式开发环境中其他功能模块的性能。
综上所述可以看出,在嵌入式开发环境中进行视频数据的编码处理时,如何降低由于视频数据编码处理所造成的CPU运算资源消耗是目前亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种嵌入式视频处理器、***及构建方法,实现了在嵌入式开发环境中进行视频数据的编码处理时,降低由于视频数据编码处理所造成的CPU运算资源消耗的目的。其具体方案如下:
一种嵌入式视频处理器的构建方法,包括:
利用目标描述方式,对硬件编解码器进行重新定义,得到自定义的视频编解码器;其中,所述目标描述方式为,与FFmpeg对编解码器的描述相一致的描述方式;
利用编码器注册工具,将所述自定义的视频编解码器注册到所述FFmpeg中,以得到所述嵌入式视频处理器;
其中,所述将所述自定义的视频编解码器注册到所述FFmpeg中的过程包括,将所述自定义的视频编解码器添加到所述FFmpeg的视频编解码器链中。
优选的,所述利用目标描述方式,对硬件编解码器进行重新定义,得到自定义的视频编解码器的过程包括:
利用所述目标描述方式,对VPU硬件编解码器进行重新定义,得到所述自定义的视频编解码器。
优选的,所述利用编码器注册工具,将所述自定义的视频编解码器注册到所述FFmpeg中的过程包括:
利用REGISTER_ENCDEC(X,x)函数,将所述自定义的视频编解码器注册到所述FFmpeg中。
本发明还公开了一种嵌入式视频处理器,通过利用所述构建方法进行构建,应用于嵌入式视频处理***,包括:
用于获取视频采集器采集到的视频数据的FFmpeg;
用于获取所述FFmpeg发送的所述视频数据,对所述视频数据进行硬件编码处理,得到相应的视频码流数据,并将所述视频码流数据发送到所述FFmpeg的硬件编解码器。
优选的,所述视频采集器为基于V4L2框架搭建的视频采集器。
优选的,所述硬件编解码器为VPU硬件编解码器。
优选的,所述视频码流数据的视频格式为H.264格式。
本发明还公开了一种嵌入式视频处理***,包括所述嵌入式视频处理器,还包括:
用于生成流媒体请求的客户端;
用于获取所述FFmpeg发送的所述视频码流数据,并在接收到所述客户端发送的所述流媒体请求后,将所述视频码流数据发送到所述客户端的FFserver。
优选的,所述客户端为VLC客户端。
优选的,所述***还包括:
用于获取并存储所述FFserver发送的所述视频码流数据的数据缓冲器。
本发明中,通过对硬件编解码器进行重新定义,得到自定义的视频编解码器,使得该视频编解码器的描述方式与FFmpeg对编解码器的描述方式是相一致的,这为后续的将自定义的视频编解码器添加到FFmpeg的视频编解码器链中打下了关键的基础;然后利用编码器注册工具,将上述自定义的视频编解码器注册到FFmpeg中,也即将自定义的视频编解码器添加到FFmpeg的视频编解码器链中,由此完成了将硬件编解码器有机地集成到FFmpeg的过程。这样,当FFmpeg接收到视频数据时,已经集成到FFmpeg的硬件编解码器就可以获取FFmpeg发送的视频数据,然后对该视频数据进行硬件编码处理,由于硬件编解码器的在进行视频编码时,主要消耗的是硬件编解码器内部的运算资源,由此降低了由于视频数据编码处理所造成的CPU运算资源消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种嵌入式视频处理器的构建方法流程图;
图2为本发明实施例公开的一种嵌入式视频处理器结构示意图;
图3为本发明实施例公开的一种嵌入式视频处理***结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种嵌入式视频处理器的构建方法,参见图1所示,该方法包括:
步骤S101:利用目标描述方式,对硬件编解码器进行重新定义,得到自定义的视频编解码器;其中,目标描述方式为,与FFmpeg对编解码器的描述相一致的描述方式。
具体的,上述利用目标描述方式,对硬件编解码器进行重新定义,得到自定义的视频编解码器的过程可以包括,利用目标描述方式,对VPU硬件编解码器(VPU,即Video Processing Unit,视频处理单元)进行重新定义,得到自定义的视频编解码器。
步骤S102:利用编码器注册工具,将自定义的视频编解码器注册到FFmpeg中,以得到嵌入式视频处理器;其中,将自定义的视频编解码器注册到FFmpeg中的过程包括,将自定义的视频编解码器添加到FFmpeg的视频编解码器链中。
具体的,上述利用编码器注册工具,将自定义的视频编解码器注册到FFmpeg中的过程可以包括,利用REGISTER_ENCDEC(X,x)函数,将自定义的视频编解码器注册到FFmpeg中,也即是将自定义的视频编解码器添加到FFmpeg的视频编解码器链中,从而完成了将硬件编解码器有机地集成到FFmpeg的过程。
本发明实施例中,通过对硬件编解码器进行重新定义,得到自定义的视频编解码器,使得该视频编解码器的描述方式与FFmpeg对编解码器的描述方式是相一致的,这为后续的将自定义的视频编解码器添加到FFmpeg的视频编解码器链中打下了关键的基础;然后利用编码器注册工具,将上述自定义的视频编解码器注册到FFmpeg中,也即将自定义的视频编解码器添加到FFmpeg的视频编解码器链中,由此完成了将硬件编解码器有机地集成到FFmpeg的过程。这样,当FFmpeg接收到视频数据时,已经集成到FFmpeg的硬件编解码器就可以获取FFmpeg发送的视频数据,然后对该视频数据进行硬件编码处理,由于硬件编解码器的在进行视频编码时,主要消耗的是硬件编解码器内部的运算资源,由此降低了由于视频数据编码处理所造成的CPU运算资源消耗。
本发明实施例还公开了一种嵌入式视频处理器,该处理器是通过上一实施例中的构建方法来进行构建的,应用于嵌入式视频处理***,参见图2所示,该处理器包括:
用于获取视频采集器采集到的视频数据的FFmpeg11;
用于获取FFmpeg11发送的视频数据,对视频数据进行硬件编码处理,得到相应的视频码流数据,并将视频码流数据发送到FFmpeg11的硬件编解码器12。
其中,优选的视频采集器为基于V4L2框架(V4L2,即Video 4Linux 2)搭建的视频采集器,能够实现对视频数据的采集,V4L2是一种应用于Linux***的编程框架。另外,优选的硬件编解码器12为VPU硬件编解码器,其中,VPU硬件编解码器可以将视频数据编码成H.246格式的码流数据,而H.264是一种可以实现高度压缩的数字视频压缩格式。相应的,上述视频码流数据的视频格式为H.264格式。
本发明实施例中,FFmpeg11接收到视频数据时,已经集成到FFmpeg11的硬件编解码器12就可以获取FFmpeg11发送的视频数据,然后对该视频数据进行硬件编码处理,由于硬件编解码器12的在进行视频编码时,主要消耗的是硬件编解码器12内部的运算资源,由此降低了由于视频数据编码处理所造成的CPU运算资源消耗。
本发明实施例还公开了一种嵌入式视频处理***,参见图3所示,该***包括:
用于获取视频采集器采集到的视频数据的FFmpeg11;
用于获取FFmpeg11发送的视频数据,对视频数据进行硬件编码处理,得到相应的视频码流数据,并将视频码流数据发送到FFmpeg11的硬件编解码器12;
用于生成流媒体请求的客户端13;
用于获取FFmpeg11发送的视频码流数据,并在接收到客户端13发送的流媒体请求后,将视频码流数据发送到客户端13的FFserver14。
其中,FFserver14是一种能够对流媒体请求进行响应,并把视频码流数据发送给客户端13的服务器。
本实施例中,优选的视频采集器为基于V4L2框架搭建的视频采集器,能够实现对视频数据的采集。另外,优选的硬件编解码器12为VPU硬件编解码器,其中,VPU硬件编解码器可以将视频数据编码成H.246格式的码流数据。相应的,上述视频码流数据的视频格式为H.264格式。
优选的客户端13为VLC客户端(VLC,即Video Lan Client,视频局域网客户端),VLC客户端可以向FFserver14发送流媒体请求,如RTSP请求(RTSP,即Real Time Streaming Protocol,实时流传输协议),以获取FFserver14返回的视频码流数据。
上述***还可以包括,用于获取并存储FFserver14发送的视频码流数据的数据缓冲器。该数据缓冲器中保存有一个缓存文件,通过该缓存文件实现对视频码流数据的存储。通常情况下,如果客户端13没有向FFserver14发起流媒体请求,FFserver14会把FFmpeg11发送过来的视频码流数据缓存到上述的缓存文件中。
本发明实施例中,FFmpeg接收到视频数据时,已经集成到FFmpeg的硬件编解码器就可以获取FFmpeg发送的视频数据,然后对该视频数据进行硬件编码处理,由于硬件编解码器的在进行视频编码时,主要消耗的是硬件编解码器内部的运算资源,由此降低了由于视频数据编码处理所造成的CPU运算资源消耗。
最后,还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种嵌入式视频处理器、***及构建方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种嵌入式视频处理器的构建方法,其特征在于,包括:
利用目标描述方式,对硬件编解码器进行重新定义,得到自定义的视频编解码器;其中,所述目标描述方式为,与FFmpeg对编解码器的描述相一致的描述方式;
利用编码器注册工具,将所述自定义的视频编解码器注册到所述FFmpeg中,以得到所述嵌入式视频处理器;
其中,所述将所述自定义的视频编解码器注册到所述FFmpeg中的过程包括,将所述自定义的视频编解码器添加到所述FFmpeg的视频编解码器链中。
2.根据权利要求1所述的嵌入式视频处理器的构建方法,其特征在于,所述利用目标描述方式,对硬件编解码器进行重新定义,得到自定义的视频编解码器的过程包括:
利用所述目标描述方式,对VPU硬件编解码器进行重新定义,得到所述自定义的视频编解码器。
3.根据权利要求2所述的嵌入式视频处理器的构建方法,其特征在于,所述利用编码器注册工具,将所述自定义的视频编解码器注册到所述FFmpeg中的过程包括:
利用REGISTER_ENCDEC(X,x)函数,将所述自定义的视频编解码器注册到所述FFmpeg中。
4.一种嵌入式视频处理器,其特征在于,通过利用如权利要求1至3任一项所述的构建方法进行构建,应用于嵌入式视频处理***,包括:
用于获取视频采集器采集到的视频数据的FFmpeg;
用于获取所述FFmpeg发送的所述视频数据,对所述视频数据进行硬件编码处理,得到相应的视频码流数据,并将所述视频码流数据发送到所述FFmpeg的硬件编解码器。
5.根据权利要求4所述的嵌入式视频处理器,其特征在于,所述视频采集器为基于V4L2框架搭建的视频采集器。
6.根据权利要求5所述的嵌入式视频处理器,其特征在于,所述硬件编解码器为VPU硬件编解码器。
7.根据权利要求6所述的嵌入式视频处理器,其特征在于,所述视频码流数据的视频格式为H.264格式。
8.一种嵌入式视频处理***,其特征在于,包括如权利要求4至7任一项所述的嵌入式视频处理器,还包括:
用于生成流媒体请求的客户端;
用于获取所述FFmpeg发送的所述视频码流数据,并在接收到所述客户端发送的所述流媒体请求后,将所述视频码流数据发送到所述客户端的FFserver。
9.根据权利要求8所述的嵌入式视频处理***,其特征在于,所述客户端为VLC客户端。
10.根据权利要求9所述的嵌入式视频处理***,其特征在于,还包括:
用于获取并存储所述FFserver发送的所述视频码流数据的数据缓冲器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510372238.1A CN104994390A (zh) | 2015-06-30 | 2015-06-30 | 一种嵌入式视频处理器、***及构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510372238.1A CN104994390A (zh) | 2015-06-30 | 2015-06-30 | 一种嵌入式视频处理器、***及构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104994390A true CN104994390A (zh) | 2015-10-21 |
Family
ID=54306132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510372238.1A Pending CN104994390A (zh) | 2015-06-30 | 2015-06-30 | 一种嵌入式视频处理器、***及构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104994390A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106804003A (zh) * | 2017-03-09 | 2017-06-06 | 广州四三九九信息科技有限公司 | 基于ffmpeg的视频编辑方法及装置 |
CN109274973A (zh) * | 2018-09-26 | 2019-01-25 | 江苏航天大为科技股份有限公司 | 嵌入式arm平台上的快速视频解码方法 |
CN116828243A (zh) * | 2023-06-05 | 2023-09-29 | 启朔(深圳)科技有限公司 | 硬件编解码方法、移动终端、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098483A (zh) * | 2007-07-19 | 2008-01-02 | 上海交通大学 | 以图像组结构为并行处理单元的视频集群转码*** |
CN102098513A (zh) * | 2010-12-20 | 2011-06-15 | 北京交通大学 | 无线视频实时传输方法 |
-
2015
- 2015-06-30 CN CN201510372238.1A patent/CN104994390A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098483A (zh) * | 2007-07-19 | 2008-01-02 | 上海交通大学 | 以图像组结构为并行处理单元的视频集群转码*** |
CN102098513A (zh) * | 2010-12-20 | 2011-06-15 | 北京交通大学 | 无线视频实时传输方法 |
Non-Patent Citations (1)
Title |
---|
缐晓林等: "基于iMX27的网络音视频通信的实现", 《电子产品世界》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106804003A (zh) * | 2017-03-09 | 2017-06-06 | 广州四三九九信息科技有限公司 | 基于ffmpeg的视频编辑方法及装置 |
CN109274973A (zh) * | 2018-09-26 | 2019-01-25 | 江苏航天大为科技股份有限公司 | 嵌入式arm平台上的快速视频解码方法 |
CN116828243A (zh) * | 2023-06-05 | 2023-09-29 | 启朔(深圳)科技有限公司 | 硬件编解码方法、移动终端、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102513867B1 (ko) | 포인트 클라우드 기하학적 압축 | |
CN104168439B (zh) | 一种视频编码方法和装置 | |
TWI667914B (zh) | 一種影像資料的編碼、解碼方法及裝置 | |
CN104994390A (zh) | 一种嵌入式视频处理器、***及构建方法 | |
CN101751440A (zh) | 一种数据压缩/解压缩方法及其装置 | |
CN102625082A (zh) | 一种视频监控*** | |
CN102802024A (zh) | 在服务器端实现的转码方法以及转码*** | |
TW201939948A (zh) | ***增益形狀向量編碼 | |
CN110704213A (zh) | 一种数字孪生数据虚实高效实时交互方法和*** | |
JP5241743B2 (ja) | デュアルステージイントラプレディクションビデオエンコーディングシステム及び方法 | |
CN104980764A (zh) | 基于复杂度均衡的并行编解码方法、装置及*** | |
CN115225881A (zh) | 一种数据传输方法、装置、设备和存储介质 | |
CN102223537A (zh) | 基于压缩感知的多视角分布式视频编解码***及其方法 | |
CN105530313A (zh) | 一种基于OSGi普适云环境下的上下文感知的服务迁移方法 | |
Aurangzeb et al. | Analysis of binary image coding methods for outdoor applications of wireless vision sensor networks | |
CN105791866A (zh) | 视频编码中间数据获取方法、设备及*** | |
CN101651814A (zh) | 基于arm和dsp架构的嵌入式视频服务器 | |
CN104320644A (zh) | 一种深度信息的编解码方法、***及装置 | |
CN203025771U (zh) | 具有事件远程实时处理能力的电子政务*** | |
CN101646086B (zh) | 用于4×4块变换系数标示的前文参考模型化的方法及装置 | |
WO2023116731A1 (en) | Method, apparatus, and medium for point cloud coding | |
WO2023131126A1 (en) | Method, apparatus, and medium for point cloud coding | |
CN104935785A (zh) | 基于Hadoop分布式视频大数据前景检测与运动跟踪方法 | |
Guo et al. | Embedded frame compression for energy-efficient computer vision systems | |
CN105430414A (zh) | 一种帧间预测解码方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151021 |
|
RJ01 | Rejection of invention patent application after publication |