视频播放方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34378010 阅读:20 留言:0更新日期:2022-08-03 20:49
本公开实施例提供一种视频播放方法、装置、电子设备及存储介质,该方法包括:获取视频的图像帧数据,并向图形处理器GPU发送解码指令,其中,所述解码指令用于指示对所述图像帧数据进行解码后得到帧纹理数据;获取所述帧纹理数据;对所述帧纹理数据进行渲染,并将渲染后的帧纹理数据通过浏览器显示;即本发明专利技术实施例在web端播放视频时,通过调用图像处理器GPU对图像帧数据进行硬解码,降低了对终端设备中的中央处理器CPU的占用率,提高解码效率,减少视频卡顿。视频卡顿。视频卡顿。

【技术实现步骤摘要】
视频播放方法、装置、电子设备及存储介质


[0001]本公开实施例涉及视频处理
,尤其涉及一种视频播放方法、装置、电子设备及存储介质。

技术介绍

[0002]在web(浏览器)端的视频播放过程中,通常采用软解方案,即利用web端的控制器(软件)来负责每个视频的解码和播放。
[0003]但上述方案中,控制器一般占用中央处理器(Central Processing Unit,简称CPU),CPU负荷过高会导致视频出现卡顿掉帧的现象。

技术实现思路

[0004]本公开实施例提供一种视频播放方法、装置、电子设备及存储介质,以克服现有技术中web端的视频播放容易出现卡顿问题。
[0005]第一方面,本公开实施例提供一种视频播放方法,包括:获取视频的图像帧数据,并向图形处理器GPU发送解码指令,其中,所述解码指令用于指示对所述图像帧数据进行解码后得到帧纹理数据;获取所述帧纹理数据;对所述帧纹理数据进行渲染,并将渲染后的帧纹理数据通过浏览器显示。
[0006]第二方面,本公开实施例提供一种多轨视频播放装置,包括:第一获取模块,用于获取视频的图像帧数据,并向图形处理器GPU发送解码指令,其中,所述解码指令用于指示对所述图像帧数据进行解码后得到帧纹理数据;第二获取模块,用于获取所述帧纹理数据;渲染处理模块,用于对所述帧纹理数据进行渲染,并将渲染后的帧纹理数据通过浏览器显示。
[0007]第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的视频播放方法。
[0008]第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的视频播放方法。
[0009]本实施例提供的视频播放方法、装置、电子设备及存储介质,该方法包括:获取视频的图像帧数据,并向图形处理器GPU发送解码指令,其中,所述解码指令用于指示对所述图像帧数据进行解码后得到帧纹理数据;获取所述帧纹理数据;对所述帧纹理数据进行渲染,并将渲染后的帧纹理数据通过浏览器显示;即本专利技术实施例在web端播放视频时,通过调用图像处理器GPU对图像帧数据进行硬解码,降低了对终端设备中的中央处理器CPU的占用率,提高解码效率,减少视频卡顿。
附图说明
[0010]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0011]图1为现有技术中的web端视频播放的示意图;
[0012]图2为本公开实施例提供的一种多轨视频的示意图;
[0013]图3为本公开实施例提供的视频播放方法的流程示意图一;
[0014]图4为本公开实施例提供的视频播放方法流程示意图二;
[0015]图5为本公开实施例提供的一种多轨视频播放的处理流程图示意图;
[0016]图6为本公开实施例提供的视频播放装置的结构框图;
[0017]图7为本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
[0018]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0019]首先对本专利技术所涉及的名词进行解释:
[0020]图像处理器(Graphics Processing Unit,简称GPU):又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
[0021]在web端的视频播放过程中,通常采用软解方案,即利用web端的控制器(软件)来负责每个视频的解码和播放。
[0022]图1为现有技术中的web端视频播放的示意图,如图1所示,web端进行视频播放时,视频帧的解码和渲染均在CPU的子线程中执行,最后离屏渲染offscreen Canvas能够将画面绘制到文档对象模型(Document Object Model,简称DOM)中的画布Canvas标签中。也就是说,现有方案中,视频帧的解码、渲染等都占用CPU,CPU负荷过高会导致视频出现卡顿的现象。
[0023]尤其是当web端需要播放多轨视频时,图2为本公开实施例提供的一种多轨视频的示意图,如图2所示,在web端的视频处理器的多个轨道中分别加载视频,如file1、file2、file3,这多轨视频的播放效果为各个视频进行覆盖,播放位于最上层的视频,当web端播放多轨视频时,CPU需要同时处理每个轨道视频的视频帧,很容易出现视频卡顿现象。
[0024]针对上述技术问题,本公开的技术构思在于,web的控制器只负责调度每个视频的播放、暂停,不再关心解码过程,而是将解码过程交给图像处理器GPU进行硬解解码,控制器直接读取当前帧纹理数据,从而实现播放视频。
[0025]参考图3,图3为本公开实施例提供的视频播放方法的流程示意图一。该视频播放方法包括:
[0026]S101、获取视频的图像帧数据,并向图形处理器GPU发送解码指令。
[0027]其中,所述解码指令用于指示对所述图像帧数据进行解码后得到帧纹理数据。其中,视频基于浏览器的多媒体video标签进行播放。
[0028]具体来说,本实施例的执行主体为终端设备上的控制器,所述控制器具备在web端进行视频编辑的功能,通常为中央控制器(Central Processing Unit,简称CPU);同时还会在终端设备上配置图形处理器GPU。
[0029]作为可选的实施例,所述视频为多轨视频;所述步骤S101中的获取视频的图像帧数据,包括:获取多轨视频对应的多个图像帧数据。
[0030]本实施例中,当在web端播放多轨视频时,控制器会获取多轨视频对应的多个图像帧数据,然后向图像处理器GPU发送解码指令,使得GPU对每个图像帧数据进行解码,得到帧纹理数据,然后将帧纹理数据返回给控制器。
[0031]S102、获取所述帧纹理数据。
[0032]具体来说,GPU解码得到帧纹理数据后,会将其返回给控制器,即控制器会获取帧纹理数据。
[0033]S103、对所述帧纹理数据进行渲染,并将渲染后的帧纹理数据通过浏览器显示。
[0034]具体来说,控制器获取到解码后的帧纹理数据后,可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种视频播放方法,其特征在于,所述方法包括:获取视频的图像帧数据,并向图形处理器GPU发送解码指令,其中,所述解码指令用于指示对所述图像帧数据进行解码后得到帧纹理数据;获取所述帧纹理数据;对所述帧纹理数据进行渲染,并将渲染后的帧纹理数据通过浏览器显示。2.根据权利要求1所述的方法,其特征在于,所述视频为多轨视频;所述获取视频的图像帧数据,包括:获取多轨视频对应的多个图像帧数据。3.根据权利要求1或2所述的方法,其特征在于,所述向图形处理器GPU发送解码指令,包括:通过主线程向GPU发送解码指令。4.根据权利要求3所述的方法,其特征在于,所述对所述帧纹理数据进行渲染,包括:通过主线程对所述帧纹理数据进行渲染。5.根据权利要求4所述的方法,其特征在于,在所述通过主线程对帧纹理数据进行渲染之前,还包括:通过子线程对所述帧纹理数据进行编辑处理,得到编辑处理后的帧纹理数据;所述通过主线程对帧纹理数据进行渲染,包括:通过主线程对编辑处理后的帧纹理数据进行渲染。6.根据权利要求5所述的方法,其...

【专利技术属性】
技术研发人员:曹俊跃周峰初楷博
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

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

1