直播视频的显示方法、装置、终端和存储介质制造方法及图纸

技术编号:22446633 阅读:28 留言:0更新日期:2019-11-02 06:00
本发明专利技术实施例公开了一种直播视频的显示方法、装置、终端和存储介质。其中,方法包括:启动创建主界面的操作,所述主界面用于播放直播视频流;引用离屏表面初始化硬件解码器;接收到直播视频流后,利用所述硬件解码器解码所述直播视频流,并渲染至所述离屏表面上;在所述主界面上显示所述离屏表面上渲染后的视频。本发明专利技术实施例能够将视频的显示时间提前,达到快速显示视频的效果。

Display method, device, terminal and storage medium of live video

【技术实现步骤摘要】
直播视频的显示方法、装置、终端和存储介质
本专利技术实施例涉及直播技术,尤其涉及一种直播视频的显示方法、装置、终端及存储介质。
技术介绍
硬解码是指不依赖于CPU,通过专用的设备(子卡)单独完成视频解码,能够对多种编码格式和分辨率的视频进行解码。目前,在直播
,如图1所示,视频硬解码采用直接上屏的方式,也即:在用户进入直播间后,首先创建主界面,并在主界面创建完成后,引用主界面初始化硬件解码器;然后,通过硬件解码器解码直播视频流,再将解码后的内容渲染到主界面上。当前,主界面的创建依赖于SurfaceView的创建。而SurfaceView的创建过程耗时较长,导致主界面的整个创建过程耗时较长。进而使得初始化硬件解码器耗时过长,会导致解码并渲染第一帧图像的时间被推后;在用户看来,进入直播间后迟迟未出现图像,导致用户体验较差。
技术实现思路
本专利技术实施例提供一种直播视频的显示方法、装置、终端及存储介质,以将视频的显示时间提前,达到快速显示视频的效果。第一方面,本专利技术实施例提供了一种直播视频的显示方法,包括:启动创建主界面的操作,所述主界面用于播放直播视频流;引用离屏表面初始化硬件解码器;接收到直播视频流后,利用所述硬件解码器解码所述直播视频流,并渲染至所述离屏表面上;在所述主界面上显示所述离屏表面上渲染后的视频。第二方面,本专利技术实施例还提供了一种直播视频的显示装置,该装置包括:启动模块,用于启动创建主界面的操作,所述主界面用于播放直播视频流;初始化模块,用于引用离屏表面初始化硬件解码器;解码渲染模块,用于接收到直播视频流后,利用所述硬件解码器解码所述直播视频流,并渲染至所述离屏表面上;显示模块,用于在所述主界面上显示所述离屏表面上渲染后的视频。第三方面,本专利技术实施例还提供了一种终端,所述终端包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现任一实施例所述的直播视频的显示方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的直播视频的显示方法。本专利技术实施例中,通过启动创建主界面的操作,引用离屏表面初始化硬件解码器,使硬件解码器的初始化过程无需等到主界面创建完后才开始,而是基于耗时较短的离屏表面初始化,从而将初始化硬件解码器的时间点提前;在接收到直播视频流后,由于硬件解码器提前初始化,进而提前利用硬件解码器解码直播视频流,并渲染至离屏表面上;通过在主界面上显示离屏表面上渲染后的视频,实现了主界面显示视频与硬件解码器解码视频流的独立,硬件解码器的解码后输出的对象变为离屏表面,而不再依赖主界面。这样,在主界面创建完成后,初始化硬件解码器的过程已经完成,直接将离屏表面上渲染的视频显示到主界面上,从而缩短开始创建主界面到在主界面上显示视频的总时长,解决了现有技术中主界面显示视频耗时较长的技术问题,达到快速显示视频的效果。附图说明图1是现有技术提供的直播视频的显示方法的流程图;图2是本专利技术实施例一提供的直播视频的显示方法的流程图;图3是本专利技术实施例二提供的直播视频的显示方法的流程图;图4是本专利技术实施例三提供的一种直播视频的显示装置的模块结构图;图5是本专利技术实施例四提供的一种终端的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图2是本专利技术实施例一提供的直播视频的显示方法的流程图,本实施例可适用于在安卓系统中,在直播间主界面上显示直播视频的情况,该方法可以由直播视频的显示装置来执行,该装置可由硬件和/或软件组成,并一般可集成在终端中,具体包括如下步骤:S110、启动创建主界面的操作,主界面用于播放直播视频流。直播应用程序开启后,交互界面上会显示多个直播间的缩略图、主播头像或者直播间号的输入框。用户可以点击想要观看的直播间的缩略图、主播头像或者在输入框中输入直播间号,即可进入对应的直播间。直播视频的显示装置响应于用户进入直播间的操作,启动创建用于播放直播视频流主界面的操作。其中,主界面的创建过程包括:首先,根据直播间中弹幕通道、各功能控件、评论区等元素的布局,创建SurfaceView,然后使用surfaceView.surfaceCreated()方法创建主界面surface。由于创建SurfaceView的过程需要加载直播间各元素,并确定元素布局,耗时较长,导致主界面的创建过程耗时较长。S120、引用离屏表面初始化硬件解码器。硬件解码器用于对直播视频流进行解码。在硬件解码器进行解码前,需要初始化硬件解码器。相比于现有技术中的引用主界面初始化硬件解码器,本专利技术实施例引用离屏表面初始化硬件解码器。可选地,离屏表面在初始化硬件解码器之前创建。具体地,创建解码线程;通过解码线程,创建离屏表面。可见,在创建解码线程后,解码线程就可以直接创建离屏表面,而不需要耗时创建SurfaceView,也无需获取直播间布局。因此,离屏表面创建过程的耗时大大短于主界面的创建过程。在一示例中,硬件解码器的初始化过程是:首先使用MediaCodec的静态方法创建一个解码器MediaCodec,即mMediaCodec=MediaCodec。createDecoderByType(mMimeType)。然后,运行MediaCodec.configure(mediaformat,mSurface,null,0),最后直接调用mMediaCodec.start(),硬件解码器初始化完成。其中,参数mSurface表示离屏表面,也是硬件解码器的输出目的对象。本实施例中,解码器的初始化过程不需等到主界面创建完成才开始,例如,响应于用户进入直播间的操作,主界面的创建步骤与硬件解码器的初始化步骤可同时启动;又例如,在主界面的创建过程中,通过离屏表面初始化硬件解码器。在一个试验中,硬件解码器的初始化过程耗时可以大概为120毫秒,而主界面的创建过程耗时可以为200~700毫秒,在主界面创建完成前,硬件解码器初始化完成。S130、接收到直播视频流后,利用硬件解码器解码直播视频流,并渲染至离屏表面上。从服务器拉取直播音视频流。然后,对直播音视频流进行分离得到直播音频流和直播视频流。在硬件解码器初始化完成,且接收到直播视频流后,将直播视频流提供给硬件解码器,并通过硬件解码器解码直播视频流。接着,调用开放图形库(OpenGraphicsLibrary,OpenGL),将硬件解码器解码后的内容渲染到离屏表面上。S140、在主界面上显示离屏表面上渲染后的视频。在离屏表面渲染上第一帧图像时,主界面可能尚未创建完成或者已经创建完成。基于此,在离屏表面已渲染上第一帧图像且主界面创建完成后,调用OpenGL将离屏表面上的视频复制到主界面上,进而在主界面上显示离屏表面上渲染后的视频。在一试验中,从开始创建主界面到主界面显示第一帧图像,大概耗时800毫秒,期间主要的耗时操作是创建主界面的操作。而现有的直接上屏的方式,从创建主界面到主界面显示第一帧图像本文档来自技高网...

【技术保护点】
1.一种直播视频的显示方法,其特征在于,包括:启动创建主界面的操作,所述主界面用于播放直播视频流;引用离屏表面初始化硬件解码器;接收到直播视频流后,利用所述硬件解码器解码所述直播视频流,并渲染至所述离屏表面上;在所述主界面上显示所述离屏表面上渲染后的视频。

【技术特征摘要】
1.一种直播视频的显示方法,其特征在于,包括:启动创建主界面的操作,所述主界面用于播放直播视频流;引用离屏表面初始化硬件解码器;接收到直播视频流后,利用所述硬件解码器解码所述直播视频流,并渲染至所述离屏表面上;在所述主界面上显示所述离屏表面上渲染后的视频。2.根据权利要求1所述的方法,其特征在于,在所述引用离屏表面初始化硬件解码器之前,还包括:创建解码线程;通过所述解码线程,创建所述离屏表面。3.根据权利要求1所述的方法,其特征在于,在引用离屏表面初始化硬件解码器之前,还包括:获取用户设置的或者预先配置的视频参数;或者,从所述直播视频流中获取视频参数;所述视频参数包括编码格式和分辨率。4.根据权利要求3所述的方法,其特征在于,所述引用离屏表面初始化硬件解码器,包括:将所述编码格式和分辨率设置为所述硬件解码器的目标解码格式和目标解码分辨率;将所述离屏表面设置为所述硬件解码器的输出目的对象。5.根据权利要求3所述的方法,其特征在于,所述获取用户设置的或者预先配置的视频参数,包括:获取用户设置的或者预先配置的视频来源信息,所述视频来源信息包括视频流线路和画质;根据所述视频来源信息与所述视频参数的对应关系,确定与所述视频来源信息对应的视频参数。6.根据权利要求1所述的方法,其特征在于,在在所述主界面上显示...

【专利技术属性】
技术研发人员:李奇文
申请(专利权)人:广州虎牙信息科技有限公司
类型:发明
国别省市:广东,44

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

1