System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种音视频播放方法及系统技术方案_技高网

一种音视频播放方法及系统技术方案

技术编号:40407699 阅读:6 留言:0更新日期:2024-02-20 22:29
本发明专利技术提供了一种音视频播放方法及系统,其中,所述方法包括:在音视频播放SDK中添加指定渲染功能,所述指定渲染功能基于EGL和opengles实现;基于所述指定渲染功能,获取EGL Display对象,并初始化与所述EGL Display对象之间的连接;创建EGL Context实例和EGL Surface实例,并连接EGL Context实例和EGL Surface实例的上下文;根据连接得到的上下文,使用OpenGL ES API绘制图形。本发明专利技术提供的技术方案,能够提高音视频的播放效率。

【技术实现步骤摘要】

本专利技术涉及图像处理,特别涉及一种音视频播放方法及系统


技术介绍

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实例以及删除egl context实例;

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所述的系统,其特征在于,所述图形绘...

【专利技术属性】
技术研发人员:余丹兰雨晴林子恒于艺春贺江
申请(专利权)人:慧之安信息技术股份有限公司
类型:发明
国别省市:

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

1