超高清多媒体播放方法、装置、计算机设备及存储介质与流程
未命名
10-20
阅读:81
评论:0
1.本发明设计涉及互联网技术领域,尤其涉及一种超高清多媒体播放方法、装置、计算机设备及存储介质。
背景技术:
2.随着计算机技术的飞速发展,以计算机技术为基础的多媒体技术被广泛应用并渗透到社会生活的各个方面,人们针对多媒体视频播放研发出了对视频进行播放的解码方法,同时人们对当前的视频播放效果的质量要求越来越高,目前的视频播放方法在对目标视频进行解码和渲染后进行播放会出现播放模糊、延迟以及抖动等各种问题,导致用户在进行观看视频的同时观看效果大打折扣,且进行解码的时间效率过于低下,无法满足用户日常的播放需求,对多媒体的播放需求,需要提高视频整体的清晰度和视频帧率成为用户迫切的观影需求,现有多媒体视频解码方法的低清晰度以及播放延迟出现的概率较高,且基本使用多个解码模块或解码元件对视频进行解码,解码效率较为低下且视频渲染程度较低,因此现有技术中对多媒体视频进行解码后存在播放视频画质不清晰的问题。
技术实现要素:
3.本发明实施例提供了一种超高清多媒体播放方法、装置、计算机设备及存储介质,旨在解决现有技术中的对多媒体视频进行解码后存在播放视频画质不清晰的问题。
4.第一方面,本发明实施例提供了一种超高清多媒体播放方法,所述方法应用于多媒体播放设备,所述方法包括:
5.接收用户输入的播放指令,获取与所述播放指令对应的视频文件;
6.根据预置加载规则对所述视频文件添加与所述视频文件的文件类型对应的播放插件,得到待缓存文件;
7.根据预置的解码规则及所述待缓冲文件的文件类型对所述待缓存文件进行初始解码,以获取带有解码标识的待缓冲文件;
8.根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件;
9.记录所述缓冲视频文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件;
10.根据所述生成时间对渲染后的所述视频解码文件进行播放。
11.所述的超高清多媒体播放方法,其中,所述根据预置加载规则对所述视频文件添加与所述视频文件的文件类型对应的播放插件,得到待缓存文件,包括:
12.根据预置的加载规则确定所述视频文件的文件类型;
13.根据所确定的文件类型分配对应的播放插件并添加至所述视频文件中,得到待缓存文件。
14.所述的超高清多媒体播放方法,其中,所述根据预置的加载规则确定所述视频文
件的文件类型之后,还包括:
15.判断所述视频文件中是否存在与所确定的文件类型对应的播放插件;
16.若所述视频文件中不存在对应的播放插件,执行所述根据所确定的文件类型分配对应的播放插件并添加至所述视频文件中的步骤;
17.若所述视频文件中存在对应的播放插件,将所述视频文件作为待缓存文件。
18.所述的超高清多媒体播放方法,其中,所述根据预置的解码规则及所述待缓冲文件的文件类型对所述待缓存文件进行初始解码,以获取带有解码标识的待缓冲文件,包括:
19.根据预置的解码规则及所述文件对当前的待缓冲文件生成对应的解码标识;
20.根据所述解码标识对所述待缓冲文件进行解码,得到带有解码标识的待缓冲文件。
21.所述的超高清多媒体播放方法,其中,根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件,包括:
22.根据与所述播放插件对应的缓冲规则确定所述待缓冲文件的缓冲路径,所述缓冲路径包含一个gpu缓冲标识以及独立的cpu缓冲标识;
23.判断所述待缓冲文件是否识别所述缓冲路径中的gpu缓冲标识;
24.若所述待缓冲文件识别所述gpu缓冲标识,则通过与所述gpu缓冲标识对应的第一缓冲阈进行缓冲得到缓冲视频文件;
25.若所述待缓冲文件不识别所述gpu缓冲阈,则通过与所述cpu缓冲标识对应的第二缓冲阈进行缓冲得到缓冲视频文件。
26.所述的超高清多媒体播放方法,其中,所述记录所述缓冲视频文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件,包括:
27.从所述解码规则中设置的三层纹理对象中获取与所述缓冲视频文件的文件类型相匹配的目标纹理对象;
28.根据所述缓冲视频文件的生成时间确定所述目标纹理对象的生成时间;
29.将所述目标纹理对象与所述缓冲视频文件进行组合,得到包含所述目标纹理对象的缓冲视频文件;
30.对包含所述目标纹理对象的缓冲视频文件进行渲染得到渲染后的视频解码文件。
31.所述的超高清多媒体播放方法,其中,所述对包含所述目标纹理对象的缓冲视频文件进行渲染得到渲染后的视频解码文件,包括:
32.获取与所述缓冲视频文件的文件类型对应的shader模块;
33.根据所述shader模块对所述缓冲视频文件进行加速渲染,得到渲染后的视频解码文件。
34.第二方面,本技术实施例还公开了一种超高清多媒体播放装置,其中,所述装置配置于多媒体播放设备,所述装置包括:
35.信息获取单元,用于接收用户输入的播放指令,获取与所述播放指令对应的视频文件;
36.播放插件单元,用于根据预置加载规则对所述视频文件添加与所述视频文件的文件类型对应的播放插件,得到待缓存文件;
37.视频解码单元,用于根据预置的解码规则及所述待缓冲文件的文件类型对所述待
缓存文件进行初始解码,以获取带有解码标识的待缓冲文件;
38.视频缓冲单元,用于根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件;
39.渲染单元,用于记录所述缓冲视频文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件;
40.视频播放单元,根据所述生成时间对渲染后的所述视频解码文件进行播放。
41.第三方面,一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现上述第一方面所述的超高清多媒体播放方法。
42.第四方面,一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时实现上述第一方面所述的超高清多媒体播放方法。
43.与现有技术相比较,本发明具有以下优点:
44.本发明实施例提供了一种超高清多媒体播放方法、装置、计算机设备及存储介质,通过预置的加载规则对带有用户播放指令的视频文件添加播放插件,得到待缓存文件,每一播放插件均对应一个文件类型,将带有该类型的播放插件的待缓存文件进行初始解码以获取带有解码标识,再对带有解码标识的待缓冲文件进行缓冲处理得到对应的缓冲视频文件,通过对视频文件合理分配播放插件以及解码标识,并针对不同类型的文件进行初始缓冲,保证每一视频文件无损的进行解码,无需再将视频文件重复解码,节约视频文件解码以及加载时间,提高视频文件的清晰度。
45.另外,再根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件,记录所述缓冲视频文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件;根据所述生成时间对渲染后的所述视频解码文件进行播放,这种设置方式,根据缓冲视频文件的生成时间合理分配渲染以及缓冲渠道,减少渲染和缓冲的时长,从而提高视频文件整体的播放质量。
附图说明
46.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1为本发明实施例提供的用于超高清多媒体播放方法的步骤流程图;
48.图2为本发明实施例提供的用于超高清多媒体播放方法的子步骤流程图;
49.图3为本发明实施例提供的用于超高清多媒体播放方法的整体判断执行流程图;
50.图4为本发明实施例提供的用于超高清多媒体播放方法的缓冲及渲染执行流程图;
51.图5为本发明实施例提供的用于超高清多媒体播放装置的示意性框图;
52.图6为本发明实施例提供的计算机设备的示意性框图;
53.图7为本发明实施例提供的用于超高清多媒体播放装置的图像质量对比图;
54.图8为本发明实施例提供的用于超高清多媒体播放装置的多媒体格式对比图。
具体实施方式
55.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
56.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
57.还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
58.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
59.请参阅图1,如图所示,该用于超高清多媒体播放方法应用于多媒体播放设备,该多媒体播放方法通过安装于多媒体播放设备中的应用软件执行,所述多媒体播放设备可以是多媒体播放终端或计算机服务器,多媒体播放设备即是可用于执行超高清多媒体播放方法以对目标视频文件进行解码、缓冲以及渲染,本发明第一个实施例提供的一种超高清多媒体播放方法如图1所示,该方法包括s110~s160。
60.s110、接收用户输入的播放指令,获取与所述播放指令对应的视频文件。
61.在本实施例中,根据用户的输入的播放指令确认当前的需要打开的视频文件,视频文件的具体类型包括ndv类型、mkv类型、mp4类型以及其他视频格式,打开与用户输入的播放指令相对应的视频文件。
62.s120、根据预置加载规则对所述视频文件添加与所述视频文件的文件类型对应的播放插件,得到待缓存文件。
63.确定当前的用户播放指令相对应的视频文件并进行检测,若检测到视频文件存在指定插件,则使用指定的插件进行加载,若不存在指定的插件,则使用播放系统推荐的插件进行播放,在一种实施例中,如果视频文件指定通过迅雷播放插件进行加载,则使用该插件,若不存在则使用计算机系统自带的播放插件进行加载。
64.在一实施例中,步骤s120还包括以下步骤:根据预置的加载规则确定所述视频文件的文件类型;根据所确定的文件类型分配对应的播放插件并添加至所述视频文件中,得到待缓存文件。
65.具体的,根据预置的加载规则对视频文件的文件类型进行检测,从而得到当前视频文件的文件类型,在一种实施例中,该加载规则为一种计算机的检测软件,在进行该文件进行检测的同时,用户从计算机的显示器可实时观察当前视频文件的文件类型。
66.具体的,根据确定的文件类型分配一个对应的播放插件,将播放插件添加至所述视频文件,并调用当前的系统推荐的播放插件用于适配当前的视频文件。
67.在一具体的实施例中,所述根据预置的加载规则确定所述视频文件的文件类型之后,还包括:判断所述视频文件中是否存在与所确定的文件类型对应的播放插件;若所述视频文件中不存在对应的播放插件,执行所述根据所确定的文件类型分配对应的播放插件并
添加至所述视频文件中的步骤。
68.具体的,计算机对当前的视频文件进行判断是否存在与所述文件类型相对应的播放插件,若不存在,则重新进行分配对应的播放插件并添加至对应的视频文件中(重复以上所述的分配插件的相关步骤),在本方案实施例中,以上步骤整体为探测当前文件类型。
69.若所述视频文件中存在对应的播放插件,将所述视频文件作为待缓存文件。
70.具体的,计算机判断该视频文件是否存在对应的播放插件,从而将视频文件作为待缓冲文件,在一种实施例中,该步骤用于确定需要进行缓冲的文件类型,将该文件发送至视频缓冲单元进行缓冲。
71.s130、根据预置的解码规则及所述待缓冲文件的文件类型对所述待缓存文件进行初始解码,以获取带有解码标识的待缓冲文件。
72.根据预置的解码规则及所述待缓冲文件的文件类型对所述待缓存文件进行初始解码,以获取带有解码标识的待缓冲文件。在一种实施例中,文件类型具体为计算机可进行解码或封装的视频格式,包括:mpeg格式、avi格式、mov格式、wmv格式、3gp格式、rmvb格式、flv格式、h264格式、h265格式,具体的含义、初始解码的具体流程包括:注册视频解码组件、还需要依次通过打开目标视频文件、获取视频文件信息、查找当前视频解码器并打开解码器、输入文件并读取每一帧压缩数据、解码每一帧压缩数据、关闭解码器,关闭目标视频文件,解码标识的具体用途为:将待缓冲文件进行标识,方便解码规则进行初始解码。
73.步骤s130还包括以下相关步骤:
74.根据预置的解码规则及所述文件对当前的待缓冲文件生成对应的解码标识。
75.具体的,通过预置的解码规则及所述文件生成一个解码标识,每一解码标识与该缓冲文件的文件类型相对应,且每一待缓冲文件的解码标识均不相同,生成特定的文件标识方便后续对该缓冲文件进行解码。
76.根据所述解码标识对所述待缓冲文件进行解码,得到带有解码标识的待缓冲文件。
77.具体的,用户通过计算机预置的解码软件对带有解码标识的待缓冲文件进行解码,且解码软件配置有解码规则,优先使用d3d对象(direct3d程序)以及计算机内置的gpu对象(计算机内置显卡)对带有解码标识的带缓冲文件进行解码,如该缓冲文件支持硬件加速功能,则使用gpu对象(计算机内置显卡)对该文件进行解码,若该缓冲文件不支持gpu解码,则使用计算机的cpu(中央处理器)进行单独解码,从而得到带有解码标识的待缓冲文件。
78.s140、根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件。
79.根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件。在一种实施例中,缓冲规则为对视频进行缓冲处理的执行规则,具体实施过程为将视频数据预加载的所有视频帧数添加到内存保留区(或称为缓冲区)的执行过程,缓冲处理的处理过程包括:对视频文件进行缓冲处理。
80.此步骤还包括以下相关步骤:
81.根据与所述播放插件对应的缓冲规则确定所述待缓冲文件的缓冲路径,所述缓冲路径包含一个gpu缓冲标识以及独立的cpu缓冲标识;
82.具体的,若根据当前视频文件的播放插件对应的缓冲规则确定当前的待缓冲文件的缓冲路径,缓冲路径包含一个gpu缓冲标识以及cpu缓冲标识,计算机通过缓冲规则,判断该待缓冲文件需要经过的路径,通过一个gpu(计算机内置显卡)或一个cpu(计算机中央处理器)对当前带缓冲文件进行缓冲处理,
83.判断所述待缓冲文件是否识别所述缓冲路径中的gpu缓冲标识。
84.若所述待缓冲文件识别所述gpu缓冲标识,则通过与所述gpu缓冲标识对应的第一缓冲阈进行缓冲得到缓冲视频文件;
85.具体的,计算机通过缓冲规则判断该带缓冲文件是否识别缓冲路径的gpu缓冲标识,若存在gpu缓冲标识,对带有gpu缓冲标识的待缓存文件对应第一缓冲阈进行缓冲处理,得到缓冲视频文件,这种设置方式,计算机在执行缓冲的流程中,使用带有标识的一种gpu缓冲路径或一种cpu缓冲路径从而同时待缓冲文件进行双向的缓冲操作,不占用用户多余的时间,充分利用计算机的硬件资源,从而进一步提升计算机对待缓冲文件整体进行缓冲的效率。
86.若所述待缓冲文件不识别所述gpu缓冲阈,则通过与所述cpu缓冲标识对应的第二缓冲阈进行缓冲得到缓冲视频文件。
87.具体的,计算机通过缓冲规则判断待缓冲文件是否识别缓冲路径的gpu缓冲标识,若不存在gpu缓冲标识,对带有gpu缓冲标识的待缓存文件对应第一缓冲阈进行缓冲处理,得到缓冲视频文件。这种设置方式,计算机在执行缓冲的流程中,使用带有标识的一种gpu缓冲路径或一种cpu缓冲路径从而同时待缓冲文件进行双向的缓冲操作,不占用用户多余的时间,充分利用计算机的硬件资源,从而进一步提升计算机对待缓冲文件整体进行缓冲的效率。
88.进一步的,请参阅图3,如图所示,在一种实施例中,当识别到用户打开目标文件的执行动作后,此时开始探测文件类型,根据用户打开的目标文件的文件类型判断是否需要配置文件源,当配置好文件源后,加载带有文件源的目标文件,若系统判断目标文件未配置文件源则重新返回至上一步并重新配置一个文件源,若存在带有文件源的视频文件则进行下一步,判断目标文件加载是否成功,若目标文件加载成功,则配置与目标文件类型相适配的解码器,同时加载预置的解码器,若视频文件未配置解码器则重新返回至上一步并重新配置一个解码器,对带有解码器的视频文件进行初始化解码,再依次进行缓冲、渲染等操作,最后得到渲染后的视频文件,这种设置方式,提升用户播放影片的整体的流畅度,提高视频文件整体画质的清晰度。
89.s150、记录所述缓冲视频文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件。
90.记录所述缓冲视频文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件。
91.此步骤还包括以下步骤s151-s154。
92.s151、从所述解码规则中设置的三层纹理对象中获取与所述缓冲视频文件的文件类型相匹配的目标纹理对象。
93.具体的,计算机通过解码规则的三层纹理对象中获取与所述缓冲视频文件的文件类型相匹配的目标纹理对象,在一种实施例中,纹理对象包括一种rgb打包方式,且rgb打包
格式为单一纹理缓冲模式,使用单一的纹理对象进行纹理渲染,nv12为一种平面纹理打包格式,可使用两个纹理对象进行纹理渲染,以及yuv420为另一种平面纹理打包格式,可使用三个纹理对象进行纹理渲染。这种设置方式,通过三层纹理对象中获取与所述缓冲视频文件的文件类型相匹配的目标纹理对象,同时对多个文件类型进行纹理渲染,提高纹理渲染的层级渲染效率,能够同时多个不同文件类型的视频进行纹理渲染,提高了缓冲视频整体的渲染效率,充分利用预置的解码规则对当前的视频文件进行渲染,从而提升了视频整体的播放的分辨率,减少视频因画质不清晰而出现的播放问题。
94.s152、根据所述缓冲视频文件的生成时间确定所述目标纹理对象的生成时间。
95.具体的,计算机通过缓冲视频的生成时间,确定当前目标纹理对象的生成时间,在一种实施例中,当前目标纹理对象生成时间即为当前缓冲视频的缓冲结束时间点,当缓冲视频缓冲结束后,此时对缓冲后生成的缓冲文件进行渲染,此过程的缓冲时长为目标纹理生成时间节点,通过具体的时间节点判断缓冲视频文件是否结束缓冲处理。
96.s153、将所述目标纹理对象与所述缓冲视频文件进行组合,得到包含所述目标纹理对象的缓冲视频文件。
97.具体的,将目标纹理对象与缓冲视频文件进行组合,得到包含所述目标纹理对象的缓冲视频文件,在一种实施例中,将目标纹理对象整合进对应类型缓冲视频文件中,请参阅图3,如图所示,通过设置渲染器对视频文件进行渲染,例如,若使用单层纹理缓冲,则生成带有rgb纹理格式的缓冲视频文件,若使用双层纹理缓冲,则生成带有nv12纹理格式的缓冲视频文件,若使用三层纹理缓冲,则生成带有yuv42纹理格式的缓冲视频文件,生成与纹理格式相对应的缓冲视频文件,这种设置方式,通过三层纹理对象中获取与所述缓冲视频文件的文件类型相匹配的目标纹理对象,同时对多个文件类型进行纹理渲染,提高纹理渲染的层级渲染效率,能够同时多个不同文件类型的视频进行纹理渲染,提高了缓冲视频整体的渲染效率,充分利用预置的解码规则对当前的视频文件进行渲染,从而提升了视频整体的播放的分辨率,减少视频因画质不清晰而出现的播放问题。
98.s154、对包含所述目标纹理对象的缓冲视频文件进行渲染得到渲染后的视频解码文件。
99.在一种实施例中,对目标纹理对象的缓冲视频文件进行渲染,从而得到渲染后的视频解码文件,渲染后的视频文件通过预置在计算机的渲染模块对带有目标纹理对象的缓冲视频文件进行渲染,从而得到相应的纹理对象相应的视频解码文件,例如,若使用单层纹理缓冲,则生成带有rgb纹理格式的缓冲视频文件,若使用双层纹理缓冲,则生成带有nv12纹理格式的缓冲视频文件,若使用三层纹理缓冲,则生成带有yuv42纹理格式的缓冲视频文件,生成与纹理格式相对应的缓冲视频文件,这种设置方式,通过三层纹理对象中获取与所述缓冲视频文件的文件类型相匹配的目标纹理对象,同时对多个文件类型进行纹理渲染,提高纹理渲染的层级渲染效率,能够同时多个不同文件类型的视频进行纹理渲染,提高了缓冲视频整体的渲染效率,充分利用预置的解码规则对当前的视频文件进行渲染,从而提升了视频整体的播放的分辨率,减少视频因画质不清晰而出现的播放问题。
100.步骤s154具体包括以下步骤:获取与所述缓冲视频文件的文件类型对应的shader模块;根据所述shader模块对所述缓冲视频文件进行加速渲染,得到渲染后的视频解码文件。
101.在一种实施例中,通过计算机预置的shader模块对缓冲视频文件进行加速渲染从而得到渲染后的视频解码文件,例如,当使用d3d对象(direct3d程序)对当前缓冲视频对象进行加速渲染,使用同一的视频显示格式为rgb纹理对象,则通过shader模块进行转化,从而得到rgb纹理对象为目标色彩的视频文件,这样设置可以加速渲染。视频与显示设备的帧率相同,显卡渲染一般是通过垂直同步来进对齐的。通过获取显卡同步时间来确定影片的起始点可以把cpu(中央处理芯片)的资源使用到极致,并且视频的效果也较平滑,提高整体的视频播放质量,从而增加用户整体的观影体验。
102.s160、根据所述生成时间对渲染后的所述视频解码文件进行播放。
103.具体的,计算机通过缓冲视频的生成时间,确定当前目标纹理对象的生成时间,在一种实施例中,当前目标纹理对象生成时间即为当前缓冲视频的缓冲结束时间点,当缓冲视频缓冲结束后,此时对缓冲后生成的缓冲文件进行渲染,此过程的缓冲时长为目标纹理生成时间节点,可通过时间节点判断缓冲视频文件是否结束缓冲处理,从而进一步确定生成时间对渲染后的视频解码文件进行播放,此时完成该视频文件的整体播放流程,这种设置方式,通过各视频渲染后的生成时间节点进行判别,从而实时对不同格式文件进行高效的播放,在经过加载、初始化解码、缓冲、渲染的一系列过程最终生成渲染后的视频解码文件。
104.具体的,由于视频在进行播放的同时一旦各帧画面显示不均匀,将会导致观看效果不佳。视频抖动分为两种:一种是画面的抖动和撕裂;另一种是画面的时间抖动,表现出来的是瞬间帧率时快时慢。这是每一帧的显示周期的工作情况,呈现第一帧的时间起点非常关键,显示屏和影片的帧率要成倍数关系,每一帧显示一个或多个显示屏刷新周期。例如显示屏是60帧/s,那么第一帧缓存好之后,起点必须至少在两个刷新周期后,并且是和刷新周期对齐的,将视频文件同时使用cpu以及gpu分别进行满载进行渲染,若cpu以及gpu元件其中一个出现空闲,则此时切换模式,对带有对应cpu标识或gpu标识的视频进行渲染,采用上述方法能够很好地解决多媒体播放的分辨率、清晰度,防画面抖动,防清晰度抖动,很好地解决了当前多媒体播放时画质不清晰以及抖动等问题。
105.进一步的,如图4所示,根据多个模块进行缓冲以及渲染,通过合理调配cpu以及gpu的运行内存空间,根据多个模块协同工作,获取最终的视频文件,在一种实施例中,当进行缓冲解码任务时,readpacket模块首先开始运行,此时开始进行缓冲流程,依次是shader转化模块,fillbuffer缓冲模组、最后输出渲染后的视频文件,若待还冲视频文件未被渲染,则重新分配至waitframe模块,此时waitframe模块执行渲染任务,并依次从updatetext更新模块,draw渲染模块进行渲染从而得到最终的渲染后的视频文件,当计算机此时通过一个预置的视频检测装置对从draw渲染后的视频文件进行检测,若检测到缓冲后视频文件未被渲染则发送至waitframe模块进行重新渲染,直至缓冲文件成功渲染。
106.本发明实施例还提供超高清多媒体播放装置,该超高清多媒体播放装置可配置于服务器中,所述服务器同时与用户及服务器建立网络连接以实现数据信息的传输,该超高清多媒体播放装置用于执行超高清多媒体播放方法的任一实施例。具体地,请参阅图5,图5为本发明实施例提供的超高清多媒体播放装置的示意性框图。所述的超高清多媒体播放装置100,其中,所述装置配置于多媒体播放设备,所述装置包括:
107.信息获取单元110,用于接收用户输入的播放指令,获取与所述播放指令对应的视
频文件;
108.播放插件单元120,用于根据预置加载规则对所述视频文件添加与所述视频文件的文件类型对应的播放插件,得到待缓存文件;
109.视频解码单元130,用于根据预置的解码规则及所述待缓冲文件的文件类型对所述待缓存文件进行初始解码,以获取带有解码标识的待缓冲文件;
110.视频缓冲单元140,用于根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件;
111.渲染单元150,用于记录所述缓冲视频文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件;
112.视频播放单元160,根据所述生成时间对渲染后的所述视频解码文件进行播放。
113.具体的,在本发明实施例所提供的超高清多媒体播放装置应用于上述超高清多媒体播放方法,方法包括:第一步执行接收用户输入的播放指令,获取与所述播放指令对应的视频文件,第二步执行根据预置加载规则对所述视频文件添加与所述视频文件的文件类型对应的播放插件,生成待缓存文件,第三步执行根据预置的解码规则及所述待缓冲文件的文件类型对所述待缓存文件进行初始解码,以获取带有解码标识的待缓冲文件,第四步执行根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件,第五步执行记录所述缓冲视频文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件,第六步执行根据所述生成时间对渲染后的所述视频解码文件进行播放。通过上述方法得到视频解码文件,发送至用户的显示器设备,同步进行打开,从进行流畅播放,提升用户播放影片的整体的流畅度,提高视频文件整体画质的清晰度,进一步提高用户观影体验感。
114.进一步的,在探测文件类型时选择合适的加载文件方式,为了加速视频的缓冲,独立使用一个d3d对象和gpu对象进行解码和缓冲,如果目标视频支持硬件加速,则使用gpu解码,如果不支持,则使用cpu解码。通过对比压缩视频时参数与软件的不同,发现从码率、视频质量以及延迟角度出发,请参阅图7以及图8,如图所示,图像质量对比点状图以及多媒体格式对比柱状图可知:显卡选择视频编码格式h265效果最佳。选择d3d中的flip模式可以降低内存拷贝次数,使得性能最优,减少电脑可能的性能波动所带来的延迟。然后使用另一d3d对象,统一视频的显示格式为rgb纹理格式,通过shader模块转化为目标色彩空间,通过对不同类型的视频文件配置不同的纹理对象从而进行渲染操作,这样可以加速渲染。根据时间线来回切换帧维护播放器的状态,并对画面进行同步防止画面抖动。
115.上述超高清多媒体播放方法可以实现为计算机程序的形式,超高清多媒体播放方法可实现为计算机设备,该计算机程序可以在如图6所示的计算机设备上运行。该计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;计算机设备执行所述计算机程序时实现如上述实施例中所述的超高清多媒体播放方法。
116.参阅图6,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
117.该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行超高清多媒体播放方法,其中,存储介质503可以为易失性的存储介质或非易失性的存储介质。
118.该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
119.该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行超高清多媒体播放方法。
120.该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图6中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
121.其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现上述的超高清多媒体播放方法中对应的功能。
122.本领域技术人员可以理解,图6中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图6所示实施例一致,在此不再赘述。
123.应当理解,在本发明实施例中,处理器502可以是中央处理单元(central processing unit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
124.在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
125.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
126.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
127.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述
方法的全部或部分步骤。而前述的计算机可读存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、磁碟或者光盘等各种可以存储程序代码的介质。
128.本发明实施例提供了一种超高清多媒体播放方法、装置、计算机设备及存储介质,通过预置的加载规则对带有用户播放指令的视频文件添加播放插件,得到待缓存文件,每一播放插件均对应一个文件类型,将带有该类型的播放插件的待缓存文件进行初始解码以获取带有解码标识,再对带有解码标识的待缓冲文件进行缓冲处理得到对应的缓冲视频文件,通过对视频文件合理分配播放插件以及解码标识,并针对不同类型的文件进行初始缓冲,保证每一视频文件无损的进行解码,无需再将视频文件重复解码,节约视频文件解码以及加载时间,提高视频文件的清晰度。
129.另外,再根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件,记录所述缓冲视频文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件;根据所述生成时间对渲染后的所述视频解码文件进行播放,这种设置方式,根据缓冲视频文件的生成时间合理分配渲染以及缓冲渠道,减少渲染和缓冲的时长,从而提高视频文件整体的播放质量。
130.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种超高清多媒体播放方法,其特征在于,所述方法应用于多媒体播放设备,所述方法包括:接收用户输入的播放指令,获取与所述播放指令对应的视频文件;根据预置加载规则对所述视频文件添加与所述视频文件的文件类型对应的播放插件,得到待缓存文件;根据预置的解码规则及所述待缓冲文件的文件类型对所述待缓存文件进行初始解码,以获取带有解码标识的待缓冲文件;根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件;记录所述缓冲视频文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件;根据所述生成时间对渲染后的所述视频解码文件进行播放。2.根据权利要求1所述的超高清多媒体播放方法,其特征在于,所述根据预置加载规则对所述视频文件添加与所述视频文件的文件类型对应的播放插件,得到待缓存文件,包括:根据预置的加载规则确定所述视频文件的文件类型;根据所确定的文件类型分配对应的播放插件并添加至所述视频文件中,得到待缓存文件。3.根据权利要求2所述的超高清多媒体播放方法,其特征在于,所述根据预置的加载规则确定所述视频文件的文件类型之后,还包括:判断所述视频文件中是否存在与所确定的文件类型对应的播放插件;若所述视频文件中不存在对应的播放插件,执行所述根据所确定的文件类型分配对应的播放插件并添加至所述视频文件中的步骤;若所述视频文件中存在对应的播放插件,将所述视频文件作为待缓存文件。4.根据权利要求1所述的超高清多媒体播放方法,其特征在于,所述根据预置的解码规则及所述待缓冲文件的文件类型对所述待缓存文件进行初始解码,以获取带有解码标识的待缓冲文件,包括:根据预置的解码规则及所述文件对当前的待缓冲文件生成对应的解码标识;根据所述解码标识对所述待缓冲文件进行解码,得到带有解码标识的待缓冲文件。5.根据权利要求1所述的超高清多媒体播放方法,其特征在于,根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件,包括:根据与所述播放插件对应的缓冲规则确定所述待缓冲文件的缓冲路径,所述缓冲路径包含一个gpu缓冲标识以及独立的cpu缓冲标识;判断所述待缓冲文件是否识别所述缓冲路径中的gpu缓冲标识;若所述待缓冲文件识别所述gpu缓冲标识,则通过与所述gpu缓冲标识对应的第一缓冲阈进行缓冲得到缓冲视频文件;若所述待缓冲文件不识别所述gpu缓冲阈,则通过与所述cpu缓冲标识对应的第二缓冲阈进行缓冲得到缓冲视频文件。6.根据权利要求4所述的超高清多媒体播放方法,其特征在于,所述记录所述缓冲视频
文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件,包括:从所述解码规则中设置的三层纹理对象中获取与所述缓冲视频文件的文件类型相匹配的目标纹理对象;根据所述缓冲视频文件的生成时间确定所述目标纹理对象的生成时间;将所述目标纹理对象与所述缓冲视频文件进行组合,得到包含所述目标纹理对象的缓冲视频文件;对包含所述目标纹理对象的缓冲视频文件进行渲染得到渲染后的视频解码文件。7.根据权利要求6所述的超高清多媒体播放方法,其特征在于,所述对包含所述目标纹理对象的缓冲视频文件进行渲染得到渲染后的视频解码文件,包括:获取与所述缓冲视频文件的文件类型对应的shader模块;根据所述shader模块对所述缓冲视频文件进行加速渲染,得到渲染后的视频解码文件。8.根据权利要求1所述的超高清多媒体播放装置,其特征在于,所述装置配置于多媒体播放设备,所述装置包括:信息获取单元,用于接收用户输入的播放指令,获取与所述播放指令对应的视频文件;播放插件单元,用于根据预置加载规则对所述视频文件添加与所述视频文件的文件类型对应的播放插件,得到待缓存文件;视频解码单元,用于根据预置的解码规则及所述待缓冲文件的文件类型对所述待缓存文件进行初始解码,以获取带有解码标识的待缓冲文件;视频缓冲单元,用于根据所述待缓冲文件中的播放插件对应的缓冲规则对所述待缓冲文件进行缓冲处理,得到对应的缓冲视频文件;渲染单元,用于记录所述缓冲视频文件的生成时间并根据所述缓冲视频文件的文件类型进行渲染,得到渲染后的视频解码文件;视频播放单元,根据所述生成时间对渲染后的所述视频解码文件进行播放。9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的超高清多媒体播放方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的超高清多媒体播放方法。
技术总结
本发明公开了一种超高清多媒体播放方法、装置、计算机设备及存储介质,通过预置的加载规则对带有用户播放指令的视频文件添加播放插件,得到待缓存文件,每一播放插件均对应一个文件类型,将带有该类型的播放插件的待缓存文件进行初始解码以获取解码标识,再对带有解码标识的待缓冲文件进行缓冲处理得到缓冲视频文件,通过对视频文件合理分配播放插件以及解码标识,并针对不同类型的文件进行初始缓冲以及解码,保证视频文件无损的进行解码,节约视频文件解码以及加载时间,提高视频文件的清晰度。另外,对视频文件进行缓冲以及渲染,根据缓冲视频文件的生成时间合理分配渲染以及缓冲渠道,减少渲染和缓冲的时长,从而提高视频文件整体的播放质量。文件整体的播放质量。文件整体的播放质量。
技术研发人员:彭祥和
受保护的技术使用者:华强方特(深圳)科技有限公司
技术研发日:2023.07.11
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/