视频处理方法、装置及系统制造方法及图纸

技术编号:27752702 阅读:27 留言:0更新日期:2021-03-19 13:48
本发明专利技术涉及视频处理技术领域,公开一种视频处理方法、装置及系统,以降低延迟、并支持浏览器无插件播放。系统包括:视频处理装置、WebRTC服务器以及Web服务器。视频处理装置包括:通过PCI‑E接口从摄像头获取原始视频帧的视频采集模块;预处理模块,基于OpenGL和CUDA接口对原始视频帧进行预处理,形成待编码视频帧;硬件编码模块,用于进行H.264编码并设有硬件编码输入缓冲区接收待编码视频帧,且设有硬件编码输出缓冲区以存放编码后的视频帧;视频输出模块,通过RTP协议向WebRTC服务器发送H.264编码视频帧;用于协调和调度视频采集模块、预处理模块、硬件编码模块和视频输出模块的调度模块。

【技术实现步骤摘要】
视频处理方法、装置及系统
本专利技术涉及视频处理
,尤其涉及一种视频处理方法、装置及系统。
技术介绍
一般监控相机、全景相机、VR相机等均采用rtsp或者rtmp提供视频流服务。使用浏览器播放rtsp视频流时,需要手动安装插件。由于插件技术会带来安装、加载、安全性、兼容性等一系列问题,主流浏览器已经不再支持。目前,只有微软的IE仍在支持插件,但从2015年开始,微软也已经转向HTML5,新的浏览器Edge已经不再支持插件。如果IE退役,插件也将不再受到支持。浏览器对rtmp协议支持较好,但rtmp使用TCP传输,延迟较大,一般为1-3秒,而且容易产生累积延迟。另外,rtmp为Adobe私有协议,Adobe已经停止更新,主流浏览器也已默认不再支持。相机提供的分辨率越来越高,全景相机更是可以达到亿级像素,对于4K及以上的超高清视频,如何提高视频处理性能,提高帧率,降低延迟,将是系统设计者必须解决的问题。
技术实现思路
本专利技术目的在于公开一种视频处理方法、装置及系统,以降低延迟、并支持浏览器无插件播放。为达上述目的,本专利技术公开一种视频处理方法,包括:通过PCI-E接口从摄像头获取原始视频帧;在GPU中基于OpenGL(OpenGraphicsLibrary,开放图形库)和CUDA(ComputeUnifiedDeviceArchitecture)接口对所述原始视频帧进行预处理,形成待编码视频帧;将待编码视频帧送入硬件编码输入缓冲区,进行H.264编码;从硬件编码输出缓冲区获取H.264编码视频帧,通过RTP协议发送到WebRTC服务器;客户端浏览器打开Web页面,连接到WebRTC服务器播放视频。为达上述目的,本专利技术还公开一种视频处理装置,包括:通过PCI-E接口从摄像头获取原始视频帧的视频采集模块;预处理模块,基于OpenGL和CUDA接口对所述原始视频帧进行预处理,形成待编码视频帧;硬件编码模块,用于进行H.264编码并设有硬件编码输入缓冲区接收待编码视频帧,且设有硬件编码输出缓冲区以保存编码后的视频帧;视频输出模块,通过RTP协议向WebRTC服务器发送H.264编码视频帧;用于协调和调度所述视频采集模块、预处理模块、硬件编码模块和视频输出模块的调度模块。为达上述目的,本专利技术还公开一种视频处理系统,包括:连接摄像头的如上所述的视频处理装置;用于提供视频流服务并连接所述视频处理装置的WebRTC服务器;以及用于提供Web页面的Web服务器,所述Web页面包含js脚本,所述js脚本中指定RTP挂载点的流ID,以供客户端浏览器根据该流ID连接到所述WebRTC服务器以播放视频。本专利技术具有以下有益效果:本专利技术使用了PCI-E技术、OpenGL技术、CUDA技术、硬件编码技术、WebRTC技术以视频帧为单位,使得延迟最小。优选地,视频采集、视频预处理与视频输出分别采用同步的并行线程,可以进一步降低延迟。所述预处理包括:颜色变换、旋转变换、图像缩放、Gamma校正和3D格式处理中的至少一种,其中,旋转变换、图像缩放和Gamma校正可采用OpenGL技术一次性完成。下面将参照附图,对本专利技术作进一步详细的说明。附图说明构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例中低延迟的视频处理方法部分流程图;图2为本专利技术实施例中低延迟的视频处理方法部分流程图;图3为本专利技术实施例中低延迟的视频传输系统实施例的结构示意图。具体实施方式以下结合附图对本专利技术的实施例进行详细说明,但是本专利技术可以由权利要求限定和覆盖的多种不同方式实施。实施例1如图1所示,本实施例低延迟的视频处理方法,包括以下步骤:步骤101:通过PCI-E接口从摄像头获取原始视频帧。原始视频帧,可以是8位bayer视频数据,也可以是24位RGB视频数据。原始视频帧可以是单目视频数据,也可以是双目立体视频数据。单目视频数据包含一个视频缓冲区,双目立体视频数据包含2个视频缓冲区。视频采集使用独立的采集线程完成,与后续视频预处理可以并行执行。将双目立体视频数据的2路视频分别称为第1路视频、第2路视频。单目视频数据只有第1路视频。首先对第1路视频进行预处理。如果原始视频帧为双目立体视频,则对第2路视频进行预处理。步骤102:判断第1路视频是否为Bayer格式,如果是,进入步骤103,如果否,进入步骤104。步骤103:将第1路视频8位Bayer数据传到GPU,在GPU中将该数据转换为32位RGBA数据。步骤104:使用OpenGL技术,对第1路视频数据进行旋转变换、图像缩放和Gamma校正。这些变换通过顶点着色器(VertexShader)、片段着色器(FragmentShader)和纹理贴图等技术实现。可选的,OpenGL变换的输入数据可以是步骤101中的RGB数据,也可以是步骤103中的RGBA数据。输出数据为32位RBGA数据。步骤105:判断原始视频帧是否为双目立体视频,如果是,进入步骤106,如果否,进入步骤110。步骤106:判断第2路视频是否为Bayer格式,如果是,进入步骤107,如果否,进入步骤108。步骤107:将第2路视频8位Bayer数据传到GPU,在GPU中将该数据转换为32位RGBA数据。步骤108:使用OpenGL技术,对第2路视频数据进行旋转变换、图像缩放和Gamma校正。步骤109:将步骤104变换后第1路视频数据和步骤108变换后第2路视频数据按照上下3D格式合并到一个缓冲区中。步骤110:将待编码视频帧送入硬件编码输入缓冲区。其中,步骤104变换后的单目视频或者步骤109变换后的3D视频均为32位RGBA数据,为待编码视频帧,以供后续进行H.264编码。本实施例中,首创的将OpenGL用于实现视频数据编码前的预处理,相比于传统的OpenCV,OpenGL性能更强,控制更灵活,实现也更复杂(也使得现有的OpenGL往往仅用于播放器的渲染)。例如,本专利技术如上所述的有些变换用OpenGL直接使用着色器语言可以实现,OpenCV就无能为力;旋转变换和Gamma变换也可以在着色器语言中实现,一次性完成。而在OpenCV中,即使部分简单功能,往往也需要单独的步骤才能实现。优选地,本实施例视频编码采用非阻塞方式,不用等待编码完成即可返回。本实施例可以由低延迟的视频处理装置实现后续传输,参见图2,包括以下步骤:步骤201:从硬件编码输出缓冲区获取H.264编码视频帧。可选的,H.264编码视频帧采用NAL格式封装。步骤202:将编码视频帧通过RTP协议发送到WebRTC本文档来自技高网...

【技术保护点】
1.一种视频处理方法,其特征在于,包括:/n通过PCI-E接口从摄像头获取原始视频帧;/n在GPU中基于OpenGL和CUDA接口对所述原始视频帧进行预处理,形成待编码视频帧;/n将待编码视频帧送入硬件编码输入缓冲区,进行H.264编码;/n从硬件编码输出缓冲区获取H.264编码视频帧,通过RTP协议发送到WebRTC服务器;/n客户端浏览器打开Web页面,连接到WebRTC服务器播放视频。/n

【技术特征摘要】
1.一种视频处理方法,其特征在于,包括:
通过PCI-E接口从摄像头获取原始视频帧;
在GPU中基于OpenGL和CUDA接口对所述原始视频帧进行预处理,形成待编码视频帧;
将待编码视频帧送入硬件编码输入缓冲区,进行H.264编码;
从硬件编码输出缓冲区获取H.264编码视频帧,通过RTP协议发送到WebRTC服务器;
客户端浏览器打开Web页面,连接到WebRTC服务器播放视频。


2.根据权利要求1所述的视频处理方法,其特征在于,视频采集、视频预处理与视频输出分别采用同步的并行线程。


3.根据权利要求1或2所述的视频处理方法,其特征在于,所述预处理采用OpenGL技术和CUDA技术完成,包括:颜色变换、旋转变换、图像缩放、Gamma校正和3D格式处理中的至少一种;其中,旋转变换、图像缩放和Gamma校正使用OpenGL技术一次性完成。


4.根据权利要求3所述的视频处理方法,其特征在于,所述颜色变换包括:
判断所述原始视频帧是否为8位的bayer视频数据,如果是,将bayer视频数据转换为为32位RGBA数据。


5.根据权利要求3所述的视频处理方法,其特征在于,所述3D格式处理包括:
根据配置文件判断所连接摄像头是否为双目摄像头,如果是,分配两路视频缓冲区分别对相对应的摄像头的原始视频帧进行预处理,最后将两路视频缓冲区中处理过的视频数据按照上下3D格式合并到一个缓冲区中输送给所述硬件编码输入缓冲区。


6.根据权利要求5所述的视频处理方法,其特征在于,所述配置文件还用于标识相匹配摄像头输出的视频数据格式、以及还用于配置发送H.264编码视频帧的目的地址,所述目的地址为所述WebRTC服务器的挂载点视频端口。


7.根据权利要求3所述的视频处理方法,其特征在于,硬件编码采用非阻塞方式。


8.一种视频处理装置,其特征在于,包括...

【专利技术属性】
技术研发人员:唐新春
申请(专利权)人:湖南傲英创视信息科技有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1