System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及图像处理,特别涉及一种音视频播放方法及系统。
技术介绍
1、目前在音视频播放流程中,可以采用硬解码的方式对音视频进行解码。解码后得到的数据通常会从gpu拷贝到cpu之后,再进行后续的渲染处理。
2、然而,随着音视频数据量的提升,解码得到的数据量也通常较大,在将解码数据从gpu拷贝到cpu的过程中,一方面会对总线资源造成占用,另一方面会增加cpu的负载,从而影响音视频的播放效率。
技术实现思路
1、本专利技术提供一种音视频播放方法及系统,能够减少对cpu的占用,从而提高音视频的播放效率。
2、鉴于此,本专利技术一方面提供一种音视频播放方法,所述方法包括:
3、在音视频播放sdk中添加指定渲染功能,所述指定渲染功能基于egl和opengles实现;
4、基于所述指定渲染功能,获取egl display对象,并初始化与所述egl display对象之间的连接;
5、创建egl context实例和egl surface实例,并连接egl context实例和eglsurface实例的上下文;
6、根据连接得到的上下文,使用opengl es api绘制图形。
7、在一个实施方式中,所述方法还包括:
8、切换front buffer和back buffer显示,断开并释放与egl surface实例关联的egl context实例;
9、删除egl surface实例以
10、终止与egl display对象之间的连接。
11、在一个实施方式中,使用opengl es api绘制图形的步骤包括:
12、获取待绘制图形中的绘制指令,并识别所述绘制指令的类型;
13、根据所述绘制指令的类型,判断所述绘制指令是否存在可替换指令;
14、若存在,利用所述可替换指令替换所述绘制指令,并基于替换后的指令绘制图形。
15、在一个实施方式中,判断所述绘制指令是否存在可替换指令包括:
16、确定所述绘制指令所在的逻辑组,并在所述逻辑组中查询是否存在与所述绘制指令的绘制效果一致,但指令执行主体不一致的其它指令;
17、若存在所述其它指令,判定所述绘制指令存在可替换指令。
18、在一个实施方式中,利用所述可替换指令替换所述绘制指令包括:
19、在所述其它指令中确定执行主体为gpu的目标指令,并利用所述目标指令替换所述绘制指令。
20、本专利技术提供一种音视频播放系统,所述系统包括:
21、功能添加单元,用于在音视频播放sdk中添加指定渲染功能,所述指定渲染功能基于egl和opengles实现;
22、初始化单元,用于基于所述指定渲染功能,获取egl display对象,并初始化与所述egl display对象之间的连接;
23、上下文连接单元,用于创建egl context实例和egl surface实例,并连接eglcontext实例和egl surface实例的上下文;
24、图形绘制单元,用于根据连接得到的上下文,使用opengl es api绘制图形。
25、在一个实施方式中,所述系统还包括:
26、显示切换单元,用于切换front buffer和back buffer显示,断开并释放与eglsurface实例关联的egl context实例;
27、实例删除单元,用于删除egl surface实例以及删除egl context实例;
28、连接终止单元,用于终止与egl display对象之间的连接。
29、在一个实施方式中,所述图形绘制单元具体用于,获取待绘制图形中的绘制指令,并识别所述绘制指令的类型;根据所述绘制指令的类型,判断所述绘制指令是否存在可替换指令;若存在,利用所述可替换指令替换所述绘制指令,并基于替换后的指令绘制图形。
30、在一个实施方式中,所述图形绘制单元还用于,确定所述绘制指令所在的逻辑组,并在所述逻辑组中查询是否存在与所述绘制指令的绘制效果一致,但指令执行主体不一致的其它指令;若存在所述其它指令,判定所述绘制指令存在可替换指令。
31、在一个实施方式中,所述图形绘制单元还用于,在所述其它指令中确定执行主体为gpu的目标指令,并利用所述目标指令替换所述绘制指令。
32、本专利技术提供的技术方案,为音视频播放sdk添加egl和opengles实现的指定渲染功能,不需要将解码数据从gpu中拷贝到cpu中,就能实现渲染的功能。这样,硬解码播放可以直接在gpu内渲染,省去了拷贝到cpu中这一步骤,进一步减少cpu占用,提高了音视频播放的效率。
33、下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。
本文档来自技高网...【技术保护点】
1.一种音视频播放方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,使用OpenGL ES API绘制图形的步骤包括:
4.根据权利要求3所述的方法,其特征在于,判断所述绘制指令是否存在可替换指令包括:
5.根据权利要求4所述的方法,其特征在于,利用所述可替换指令替换所述绘制指令包括:
6.一种音视频播放系统,其特征在于,所述系统包括:
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:
8.根据权利要求6所述的系统,其特征在于,所述图形绘制单元具体用于,获取待绘制图形中的绘制指令,并识别所述绘制指令的类型;根据所述绘制指令的类型,判断所述绘制指令是否存在可替换指令;若存在,利用所述可替换指令替换所述绘制指令,并基于替换后的指令绘制图形。
9.根据权利要求8所述的系统,其特征在于,所述图形绘制单元还用于,确定所述绘制指令所在的逻辑组,并在所述逻辑组中查询是否存在与所述绘制指令的绘制效果一致,但
10.根据权利要求9所述的系统,其特征在于,所述图形绘制单元还用于,在所述其它指令中确定执行主体为GPU的目标指令,并利用所述目标指令替换所述绘制指令。
...【技术特征摘要】
1.一种音视频播放方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,使用opengl es api绘制图形的步骤包括:
4.根据权利要求3所述的方法,其特征在于,判断所述绘制指令是否存在可替换指令包括:
5.根据权利要求4所述的方法,其特征在于,利用所述可替换指令替换所述绘制指令包括:
6.一种音视频播放系统,其特征在于,所述系统包括:
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:
8.根据权利要求6所述的系统,其特征在于,所述图形绘...
【专利技术属性】
技术研发人员:余丹,兰雨晴,林子恒,于艺春,贺江,
申请(专利权)人:慧之安信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。