一种视频解码方法技术

技术编号:39588812 阅读:9 留言:0更新日期:2023-12-03 19:40
本申请公开了一种视频解码方法

【技术实现步骤摘要】
一种视频解码方法、装置、设备和存储介质


[0001]本申请涉及视频处理
,尤其涉及一种视频解码方法

装置

设备和存储介质


技术介绍

[0002]在播放器视频解码过程中,主要有2种解码方式,即软解码和硬解码

软解码就是用
CPU
来解码,需要
CPU
的性能与处理能力较强,但对流媒体格式兼容性比较好,因为软解库是自行开发的,质量能控制

硬解码是要机器中专门的解码芯片来完成,质量因厂家的技术能力而定,部分厂商技术实力强,兼容性和解码效果做的比较好,而有些厂商技术实力稍差,兼容性和解码效果差强人意;另外,硬解码需要内部缓存多个帧后才对外输出第一个帧

这两个因素导致硬解码在首帧解码速度上明显比软解慢

在功耗方面,因为软解码过多的依赖
CPU
,因此对
CPU
的性能消耗是非常大的,硬解码的出现就是为了补充软解码
CPU
占用过多导致卡顿的一种替代性方案

[0003]对于一款好的播放器来说,应兼顾两者,能做到软硬解自适应体验最好

而现有技术方案大多需要在播放初始化阶段由用户手动选择软解码方式或者硬解码方式,当用户不了解设备的硬解码性能时,在设备硬解码性能较差或不具备硬解码性能时选择硬解码方式,容易导致视频解码出错,若直接选择软解码方式进行视频解码,容易过多消耗设备
CPU
性能,导致卡顿,从而使得视频解码效率低


技术实现思路

[0004]本申请提供了一种视频解码方法

装置

设备和存储介质,用于改善现有技术在视频播放初始化阶段需要由用户手动选择软解码方式或者硬解码方式,存在视频解码效率低的技术问题

[0005]有鉴于此,本申请第一方面提供了一种视频解码方法,包括:
[0006]同时创建软解码和硬解码两个后台线程对预先内置的测试视频进行解码,并记录所述测试视频的解码结果;
[0007]根据所述解码结果选择相应的解码方式对待解码视频进行解码

[0008]可选的,所述解码结果包括硬解码结果

硬解码耗时和软解码耗时

[0009]可选的,所述根据所述解码结果选择相应的解码方式对待解码视频进行解码,包括:
[0010]若所述硬解码结果为失败,则创建软解码线程对待解码视频进行解码;
[0011]若所述硬解码结果为成功且所述硬解码耗时小于或等于所述软解码耗时,则创建硬解码线程对待解码视频进行解码;
[0012]若所述硬解码结果为成功且所述硬解码耗时大于所述软解码耗时,则同时创建软解码线程和硬解码线程对待解码视频进行解码

[0013]可选的,所述同时创建软解码线程和硬解码线程对待解码视频进行解码,包括:
[0014]同时创建软解码线程和硬解码线程;
[0015]当开始播放所述待解码视频时,将接收到的所述待解码视频的第一组图像组数据发送给软解码线程进行解码并渲染显示;
[0016]从所述待解码视频的第二组图像组数据开始,将接收到的图像组数据同时发送给软解码线程和硬解码线程进行解码并对软解码线程解码后的视频数据进行渲染显示;
[0017]当硬解码线程解码的视频数据的时间戳大于当前显示视频的时间戳时,对硬解码线程解码后的视频数据进行渲染显示并结束软解码线程

[0018]本申请第二方面提供了一种视频解码装置,包括:
[0019]预解码单元,用于同时创建软解码和硬解码两个后台线程对预先内置的测试视频进行解码,并记录所述测试视频的解码结果;
[0020]解码单元,用于根据所述解码结果选择相应的解码方式对待解码视频进行解码

[0021]可选的,所述解码结果包括硬解码结果

硬解码耗时和软解码耗时

[0022]可选的,所述解码单元,具体用于:
[0023]若所述硬解码结果为失败,则创建软解码线程对待解码视频进行解码;
[0024]若所述硬解码结果为成功且所述硬解码耗时小于或等于所述软解码耗时,则创建硬解码线程对待解码视频进行解码;
[0025]若所述硬解码结果为成功且所述硬解码耗时大于所述软解码耗时,则同时创建软解码线程和硬解码线程对待解码视频进行解码

[0026]可选的,所述同时创建硬解码线程和硬解码线程对待解码视频进行解码,包括:
[0027]同时创建硬解码线程和硬解码线程;
[0028]当开始播放所述待解码视频时,将接收到的所述待解码视频的第一组图像组数据发送给软解码线程进行解码并渲染显示;
[0029]从所述待解码视频的第二组图像组数据开始,将接收到的图像组数据同时发送给软解码线程和硬解码线程进行解码并对软解码线程解码后的视频数据进行渲染显示;
[0030]当硬解码线程解码的视频数据的时间戳大于当前显示视频的时间戳时,对硬解码线程解码后的视频数据进行渲染显示并结束软解码线程

[0031]本申请第三方面提供了一种视频解码设备,所述设备包括处理器以及存储器;
[0032]所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0033]所述处理器用于根据所述程序代码中的指令执行第一方面任一种所述的视频解码方法

[0034]本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码被处理器执行时实现第一方面任一种所述的视频解码方法

[0035]从以上技术方案可以看出,本申请具有以下优点:
[0036]本申请提供了一种视频解码方法,包括:同时创建软解码和硬解码两个后台线程对预先内置的测试视频进行解码,并记录测试视频的解码结果;根据解码结果选择相应的解码方式对待解码视频进行解码

[0037]本申请中,通过内置测试视频预先解码,根据测试视频的解码结果获取设备的硬解码性能,进而可以根据设备的硬解码性能选择相应的解码方式对待解码视频进行解码,避免了在视频播放初始化阶段需要由用户手动选择软解码方式或者硬解码方式,存在视频
解码效率低的技术问题

附图说明
[0038]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图

[0039]图1为本申请实施例提供的一种视频解码方法的一个流程示意图;
[0040]图2为本申请实施例提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种视频解码方法,其特征在于,包括:同时创建软解码和硬解码两个后台线程对预先内置的测试视频进行解码,并记录所述测试视频的解码结果;根据所述解码结果选择相应的解码方式对待解码视频进行解码
。2.
根据权利要求1所述的视频解码方法,其特征在于,所述解码结果包括硬解码结果

硬解码耗时和软解码耗时
。3.
根据权利要求2所述的视频解码方法,其特征在于,所述根据所述解码结果选择相应的解码方式对待解码视频进行解码,包括:若所述硬解码结果为失败,则创建软解码线程对待解码视频进行解码;若所述硬解码结果为成功且所述硬解码耗时小于或等于所述软解码耗时,则创建硬解码线程对待解码视频进行解码;若所述硬解码结果为成功且所述硬解码耗时大于所述软解码耗时,则同时创建软解码线程和硬解码线程对待解码视频进行解码
。4.
根据权利要求3所述的视频解码方法,其特征在于,所述同时创建软解码线程和硬解码线程对待解码视频进行解码,包括:同时创建软解码线程和硬解码线程;当开始播放所述待解码视频时,将接收到的所述待解码视频的第一组图像组数据发送给软解码线程进行解码并渲染显示;从所述待解码视频的第二组图像组数据开始,将接收到的图像组数据同时发送给软解码线程和硬解码线程进行解码并对软解码线程解码后的视频数据进行渲染显示;当硬解码线程解码的视频数据的时间戳大于当前显示视频的时间戳时,对硬解码线程解码后的视频数据进行渲染显示并结束软解码线程
。5.
一种视频解码装置,其特征在于,包括:预解码单元,用于同时创建软解码和硬解码两个后台线程对预先内置的测试视频进行解码,并记录所述测试视频的解码结果;解码单元,用于根据所述解码结果选择相应的解码方式对待...

【专利技术属性】
技术研发人员:刘博王刚王家宾薛有义
申请(专利权)人:天翼数字生活科技有限公司
类型:发明
国别省市:

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

1