1.本公开实施例涉及视频处理技术领域,尤其涉及一种视频播放方法、电子设备和存储介质。
背景技术:2.随着人们对视频的清晰度要求越来越高,视频技术趋向高分辨率、高帧率方向发展,图片以及视频数据的分辨率越来越高。一般情况下,视频编解码是在中央处理器上进行的,这种编解码方式也被称作软件编解码,但是软件编解码的速度比较慢。
3.相关技术中,为了提升视频编解码的速度,会使用硬件gpu(俗称显卡)来参与视频编解码,但是gpu参与视频编解码,只能支持8k及以下素材的解码,超8k素材的解码较难实现。
4.因此,有必要改善上述相关技术方案中存在的一个或者多个问题。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现要素:6.本公开实施例的目的在于提供一种视频播放方法、电子设备和存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
7.第一方面,本发明提供了一种视频播放方法,包括:
8.对视频素材进行第一处理得到第一视频文件;
9.控制图形处理器对所述第一视频文件进行第二处理得到第二视频文件;
10.控制所述图形处理器(graphics processing unit,gpu)对所述第二视频文件进行渲染处理得到播放文件;
11.其中,所述第一处理包括纹理压缩处理,所述第二处理包括纹理解压处理。
12.第二方面,本发明提供了一种电子设备,其特征在于,包括:
13.处理器;以及
14.存储器,用于存储可在所述处理器上运行的计算机程序;
15.其中,所述计算机程序被所述处理器执行时实现上述所述视频播放方法的步骤。
16.第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被至少一个处理器执行时实现上述所述视频播放方法的步骤。
17.本公开的实施例提供的技术方案可以包括以下有益效果:
18.本公开的实施例中,上述视频播放方法,对视频素材进行了纹理压缩处理,一方面对高分辨率视频进行了压缩,降低了其码流,另一方面纹理压缩后的视频数据gpu可以直接进行解码渲染,使得gpu可以处理超8k的视频素材,硬件gpu的处理速度也能够满足视频播放需求。
19.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不
能限制本公开。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1示出本公开示例性实施例中视频播放方法流程示意图;
22.图2示出本公开示例性实施例中对视频素材进行第一处理的流程示意图;
23.图3是本发明实施例中的一种电子设备的结构示意图;
24.图4是本发明实施例中的用于视频播放方法的程序产品的结构示意图。
具体实施方式
25.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
26.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
27.本示例实施方式中首先提供了一种视频播放方法,参考图1中所示,该视频播放方法可以包括:
28.步骤s101:对视频素材进行第一处理得到第一视频文件,所述第一处理至少包括纹理压缩处理;
29.步骤s102:控制图形处理器对所述第一处理文件进行第二处理得到第二视频文件,所述第二处理至少包括纹理解压处理;
30.步骤s103:控制所述图形处理器对所述第二视频文件进行渲染处理得到播放文件。
31.该实施例中,当视频素材的分辨率较大时,在对视频素材进行播放前,可以先对视频素材进行第一处理,第一处理至少包括纹理压缩处理,以使得进行播放时gpu能够对纹理压缩后的视频素材直接进行解码、渲染处理。在对视频素材进行第一处理时,一方面,可以是预先采用对应的纹理压缩软件对视频素材进行第一处理,然后将第一处理后得到的第一视频文件传输至预设设备如视频播放设备中,视频播放设备控制gpu来对视频素材进行第二处理如纹理解压处理获得第二视频文件,然后控制gpu对第二视频文件进行渲染处理,得到可以在显示器、显示屏播放的播放文件。另一方面,也可以将视频素材传输至预设设备如视频播放设备中,视频播放设备采用对应的纹理压缩软件对视频素材进行第一处理得到第一视频文件,然后控制gpu来对第一视频文件进行第二处理如纹理解压处理获得第二视频
文件,再控制gpu对第二视频文件进行渲染处理,得到可以在显示器、显示屏播放的播放文件。
32.可以理解的是,在控制gpu对视频素材进行第二处理前,还可以控制视频播放设备中的cpu对第一视频文件先进行解包处理,解包后的视频素材一帧为一包,文件包的包头信息中含有第一处理的处理信息。视频播放设备通过对包头信息的识别,根据包头信息控制gpu来对视频素材进行第二处理。
33.上述视频播放方法,对视频素材进行了纹理压缩处理,一方面对高分辨率视频进行了压缩,降低了其码流,另一方面纹理压缩后的视频数据gpu可以直接进行解码渲染,使得gpu可以处理超8k的视频素材,硬件gpu的处理速度也能够满足视频播放需求。
34.下面,将参考图1和图2中所述,对本示例实施方式中的上述方法的各个步骤进行更详细的说明。
35.进一步的,参考图2中所示,对视频素材进行第一处理得到第一视频文件的方法,可以包括:
36.步骤s201:对视频素材进行解码处理得到解码视频文件;
37.步骤s202:对所述解码视频文件进行纹理压缩处理得到第一视频文件。
38.在对视频进行第一处理时,首先需要对通过h264、h265或hevc等编码模式编码后的视频素材进行解码处理,解码处理后再对解码的视频素材进行纹理压缩处理得到第一视频文件。
39.可以理解上述第一视频文件可以为hap(harmonyos ability package)格式文件或dxv格式文件。hap格式文件中纹理压缩最大可以支持到16k,可以对高分辨率的视频进行纹理压缩处理及后期的解压播放。
40.可以理解的是,对第二视频文件进行渲染时,可以是控制所述图形处理器中的d3d11模块对所述第二视频文件进行渲染处理得到播放文件。d3d11是微软中专门对视频进行渲染的渲染软件,当然也可以采用其他渲染软件或渲染模块对视频进行渲染,在此不做具体的限定。
41.基于上述实施例,所述第一处理还可以包括无损压缩处理,所述无损压缩处理在所述纹理压缩处理之后进行;
42.所述第二处理还包括无损解压处理,所述无损解压处理在所述纹理解压处理之前进行。
43.具体的,在进行纹理压缩后已经对视频数据进行了一定程度的压缩,此时如果纹理压缩后的视频数据任然较大时,可以在纹理压缩处理后再进行无损压缩处理,以进一步的对视频数据进行压缩,便于缩短视频数据后可以快速传输、方便存储。对应第一处理的过程,在进行第二处理时则需要先进行无损解压处理,再进行纹理解压处理。
44.基于上述实施例,可以理解所述无损压缩处理和无损解压处理可以通过snappy执行。snappy是一个c++的用来压缩和解压缩的开发包,用以提供高速压缩速度和合理的压缩率。当然,还可以使用其他的方式来进行无损压缩处理和无损解压处理,在此不做具体的限定。
45.可以理解的是,上述各实施例中的频播放方法种还可以包括:控制显示屏对渲染处理后的播放文件进行播放,以成功的对处理完的播放文件进行播放显示。
46.基于上述实施例,在对视频素材进行纹理解压处理时,需要获知视频素材的纹理压缩信息,以便对应的进行纹理解压缩。因此所述包头信息中需要包括纹理压缩处理的纹理压缩格式,以通过包头或者纹理压缩信息。示例性的,所述纹理压缩格式为dxt1、dxt2、dxt3、dxt4、dxt5中的一种,当然还可以是其他格式,在此不做具体的限定。
47.进一步的,可以理解的是当视频数据进行了无损压缩时,包头信息中也需要包括无损压缩的压缩方式信息。
48.上述视频播放方法,对视频素材进行了纹理压缩处理,一方面对高分辨率视频进行了压缩,降低了其码流,另一方面纹理压缩后的视频数据gpu可以直接进行解码渲染,使得gpu可以处理超8k的视频素材,硬件gpu的处理速度也能够满足视频播放需求。
49.需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。另外,也易于理解的是,这些步骤可以是例如在多个模块/进程/线程中同步或异步执行。
50.参见图3,本发明实施例还提供了一种电子设备300,电子设备300包括至少一个存储器310、至少一个处理器320以及连接不同平台系统的总线330。
51.存储器310可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)211和/或高速缓存存储器312,还可以进一步包括只读存储器(rom)313。
52.其中,存储器310还存储有计算机程序,计算机程序可以被处理器320执行,使得处理器320执行本发明任一项实施例中视频播放方法的步骤,其具体实现方式与上述视频播放方法的实施例中记载的实施方式、所达到的技术效果一致,部分内容不再赘述。
53.存储器310还可以包括具有至少一个程序模块315的实用工具314,这样的程序模块315包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
54.相应的,处理器320可以执行上述计算机程序,以及可以执行实用工具314。
55.总线330可以表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
56.电子设备300也可以与一个或多个外部设备340例如键盘、指向设备、蓝牙设备等通信,还可与一个或者多个能够与该电子设备300交互的设备通信,和/或与使得该电子设备300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入输出接口350进行。并且,电子设备300还可以通过网络适配器360与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器360可以通过总线330与电子设备300的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储平台等。
57.本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,该计算机程序被执行时实现本发明实施例中视频播放方法的步骤,其具体实现方式与上述视频播放方法的实施例中记载的实施方式、所达到的技术效果一致,部分
内容不再赘述。
58.图4示出了本实施例提供的用于实现上述视频播放方法的程序产品400,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品400不限于此,在本发明中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。程序产品400可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
59.计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言诸如java、c++等,还包括常规的过程式程序设计语言诸如c语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
60.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
技术特征:1.一种视频播放方法,其特征在于,包括:对视频素材进行第一处理得到第一视频文件;控制图形处理器对所述第一视频文件进行第二处理得到第二视频文件;控制所述图形处理器对所述第二视频文件进行渲染处理得到播放文件;其中,所述第一处理包括纹理压缩处理,所述第二处理包括纹理解压处理。2.根据权利要求1所述视频播放方法,其特征在于,对视频素材进行第一处理得到第一视频文件的方法,包括:对视频素材进行解码处理得到解码视频文件;对所述解码视频文件进行纹理压缩处理得到第一视频文件。3.根据权利要求2所述视频播放方法,其特征在于,所述第一视频文件为hap格式文件或dxv格式文件。4.根据权利要求1所述视频播放方法,其特征在于,控制所述图形处理器中的d3d11模块对所述第二视频文件进行渲染处理得到播放文件。5.根据权利要求1~4任一项所述视频播放方法,其特征在于,所述第一处理还包括无损压缩处理,所述无损压缩处理在所述纹理压缩处理之后进行;所述第二处理还包括无损解压处理,所述无损解压处理在所述纹理解压处理之前进行。6.根据权利要求5所述视频播放方法,其特征在于,所述无损压缩处理和无损解压处理通过snappy执行。7.根据权利要求5所述视频播放方法,其特征在于,还包括控制显示屏对渲染处理后的播放文件进行播放。8.根据权利要求5所述视频播放方法,其特征在于,所述包头信息中包括纹理压缩处理的纹理压缩格式,所述纹理压缩格式为dxt1、dxt2、dxt3、dxt4、dxt5中的一种。9.一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储可在所述处理器上运行的计算机程序;其中,所述计算机程序被所述处理器执行时实现权利要求1~8任一项所述视频播放方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被至少一个处理器执行时实现权利要求1~8任一项所述视频播放方法的步骤。
技术总结本公开实施例是关于一种视频播放方法、电子设备和存储介质。该视频播放方法包括:对视频素材进行第一处理得到第一视频文件;控制图形处理器对所述第一视频文件进行第二处理得到第二视频文件;控制所述图形处理器对所述第二视频文件进行渲染处理得到播放文件;其中,所述第一处理包括纹理压缩处理,所述第二处理包括纹理解压处理。包括纹理解压处理。包括纹理解压处理。
技术研发人员:马红霞 宗靖国
受保护的技术使用者:西安诺瓦星云科技股份有限公司
技术研发日:2022.07.25
技术公布日:2022/11/1