一种直播客户端快速启动播放的方法及系统技术方案

技术编号:14243314 阅读:102 留言:0更新日期:2016-12-21 20:56
本发明专利技术公开了一种直播客户端快速启动播放的方法及系统,涉及视频直播中的启动播放领域。该方法包括:当用户点击进入某直播房间后,直播客户端获取该直播房间的房间信息,并从中解析出视频播放的链接地址;根据解析出的链接地址向媒体服务器发出媒体数据流请求;媒体服务器收到请求后,向直播客户端下发媒体数据流;直播客户端一收到媒体数据流,就判断前1000~2000个字节内是否有媒体描述信息,若是,根据解析后的媒体描述信息初始化播放器;否则,需等待获取到完整的媒体数据流后,再初始化播放器;最后,对媒体数据流中的音视频数据进行解码并输出。本发明专利技术能在直播客户端实现视频播放的快速启动,达到即开即播的效果,用户体验好。

【技术实现步骤摘要】

本专利技术涉及视频直播中的启动播放领域,具体来讲是一种直播客户端快速启动播放的方法及系统
技术介绍
随着互联网技术的迅速发展,越来越多的用户可以使用电脑、手机等终端通过网络观看在线视频直播。在线视频直播是指利用互联网网络资源进行的现场视频直播服务,通过现场的视频拍摄同步发布到网络上,用户可以同一时间在网络上看到实时的现场情况。目前,随着网络传输技术的迅猛发展以及人们生活节奏的不断加快,用户在利用直播客户端(如电脑、手机等)进行直播视频的观看时,对启动播放的速度提出了越来高的要求。而现有的启动直播的方法通常采用的是一种等待流媒体数据(音频流数据、视频流数据)获取后,再进行播放器的初始化和音视频数据的软解码的方式。现有的方式中由于等待流媒体数据的时间较长,从而使得开启直播时的等待时间较长,无法达到即开即播的效果,使得用户体验较差。
技术实现思路
本专利技术的目的是为了克服上述
技术介绍
的不足,提供一种直播客户端快速启动播放的方法及系统,能在直播客户端实现视频播放的快速启动,达到即开即播的效果,用户体验好。为达到以上目的,本专利技术提供一种直播客户端快速启动播放的方法,包括以下步骤:A、当用户点击进入某直播房间后,直播客户端获取该直播房间的房间信息,并从房间信息中解析出相应的视频播放的链接地址,转入步骤B;B、直播客户端根据解析出的链接地址向媒体服务器发出媒体数据流请求,转入步骤C;C、媒体服务器收到直播客户端发来的请求后,向直播客户端下发媒体数据流,所述媒体数据流包括媒体描述信息和音视频数据,且媒体描述信息位于媒体数据流的前1000~2000个字节内,转入步骤D;D、直播客户端一收到直播客户端发来媒体数据流,就判断前1000~2000个字节内是否有媒体描述信息,若是,根据解析后的媒体描述信息初始化直播客户端的播放器,转入步骤E;否则,需等待获取到完整的媒体数据流后,再根据解析后的媒体描述信息初始化直播客户端的播放器,转入步骤E;E、利用初始化后的播放器对媒体数据流中的音视频数据进行解码并输出,结束。在上述技术方案的基础上,步骤C中,媒体服务器向直播客户端下发媒体数据流,具体包括以下步骤:媒体服务器首先下发媒体描述信息;待媒体描述信息下发结束后,再下发音视频数据。在上述技术方案的基础上,步骤C中所述音视频数据包括视频流和音频流;所述媒体描述信息包括播放器所需的配置参数:视频分辨率、视频格式、音频采样率、音频通道数以及音频格式。在上述技术方案的基础上,步骤D中,根据解析后的媒体描述信息初始化直播客户端的播放器,具体包括以下步骤:根据媒体编码标准对媒体描述信息进行解析,从中提取出播放器所需的配置参数;根据提取出的配置参数进行相关参数的配置并实例化直播客户端的播放器。在上述技术方案的基础上,步骤E具体包括以下步骤:步骤E1、媒体流解复用:利用初始化后的播放器从媒体数据流中分离出视频流和音频流,转入步骤E2;步骤E2、音视频流解码:通过软/硬解码方式,分别对视频流和音频流进行视频流解码和音频流解码,转入步骤E3;步骤E3、音视频输出或显示:将解码后的音频流输出到外部硬件设备中;将解码后的视频流通过OpenGL接口绘制到屏幕上显示。本专利技术同时还提供一种直播客户端快速启动播放的系统,包括直播客户端和媒体服务器;所述直播客户端包括信息获取模块、请求发送模块、播放器初始化模块和音视频解码输出模块;所述媒体服务器包括媒体数据流下发模块;所述信息获取模块用于:当用户点击进入某直播房间后,获取该直播房间的房间信息,并从房间信息中解析出相应的视频播放的链接地址;所述请求发送模块用于:根据信息获取模块解析出的链接地址,向媒体服务器发出媒体数据流请求;所述媒体数据流下发模块用于:收到直播客户端发来的请求后,向直播客户端下发媒体数据流,所述媒体数据流包括媒体描述信息和音视频数据,且媒体描述信息位于媒体数据流的前1000~2000个字节内;所述播放器初始化模块用于:一旦收到直播客户端发来媒体数据流,就判断前1000~2000个字节内是否有媒体描述信息,若是,根据解析后的媒体描述信息初始化直播客户端的播放器;否则,需等待获取到完整的媒体数据流后,再根据解析后的媒体描述信息初始化直播客户端的播放器;所述音视频解码输出模块用于:利用初始化后的播放器对媒体数据流中的音视频数据进行解码并输出。在上述技术方案的基础上,所述媒体数据流下发模块向直播客户端下发媒体数据流的具体流程为:所述媒体数据流下发模块首先下发媒体描述信息;待媒体描述信息下发结束后,再下发音视频数据。在上述技术方案的基础上,所述音视频数据包括视频流和音频流;所述媒体描述信息包括播放器所需的配置参数:视频分辨率、视频格式、音频采样率、音频通道数以及音频格式。在上述技术方案的基础上,所述播放器初始化模块根据解析后的媒体描述信息初始化直播客户端的播放器,具体包括以下操作:所述播放器初始化模块根据媒体编码标准对媒体描述信息进行解析,从中提取出播放器所需的配置参数;根据提取出的配置参数进行相关参数的配置并实例化直播客户端的播放器。在上述技术方案的基础上,所述音视频解码输出模块进行解码并输出的具体流程为:利用初始化后的播放器从媒体数据流中分离出视频流和音频流;再通过软/硬解码方式,分别对视频流和音频流进行视频流解码和音频流解码;将解码后的音频流输出到外部硬件设备中,将解码后的视频流通过OpenGL接口绘制到屏幕上显示。本专利技术的有益效果在于:(1)本专利技术中,媒体服务器与直播客户端进行RTMP协议交互时(即下发媒体数据流时),在前1000~2000个字节内下发的是媒体描述信息onMetaData,,其中包含播放器所需的配置参数;在播放器初始化时,若在前1000~2000个字节内读取到onMetaData数据,则直接解析onMetaData数据,获取配置参数详情后直接初始化播放器,而不需要等待真正的音视频数据获取后,再进行播放器的初始化和音视频数据的软解码。与现有技术的相比,本专利技术能在直播客户端实现视频播放的快速启动,达到即开即播的效果,用户体验佳。(2)本专利技术中,在进行视频显示时,是将解码后的视频流通过OpenGL接口绘制到屏幕上显示。由于解码后的视频帧数据一般为YUV格式,需要转换成RGB格式后才能在终端屏幕显示,而GPU具备并行计算能力,其格式转换的速度要比CPU直接处理要快,所以输出显示时直接调用OpenGL接口进行解码后的数据绘制显示,能达到快速渲染的效果。附图说明图1为本专利技术实施例中直播客户端快速启动播放的方法流程图;图2为媒体服务器向直播客户端下发媒体数据流的示意图;图3为步骤S6的具体流程图;图4为本专利技术实施例中直播客户端快速启动播放的系统的结构框图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步的详细描述。参见图1所示,本专利技术实施例提供一种直播客户端快速启动播放的方法,包括以下步骤:步骤S1:当用户点击进入某直播房间后,直播客户端获取该直播房间的房间信息,并从房间信息中解析出相应的视频播放的链接地址,转入步骤S2。步骤S2:直播客户端根据解析出的链接地址向媒体服务器发出媒体数据流请求,转入步骤S3。步骤S3:媒体服务器收到直播客户端发来的请求后,通过与直播客户端进行RTMP(本文档来自技高网...
一种直播客户端快速启动播放的方法及系统

【技术保护点】
一种直播客户端快速启动播放的方法,其特征在于,该方法包括以下步骤:A、当用户点击进入某直播房间后,直播客户端获取该直播房间的房间信息,并从房间信息中解析出相应的视频播放的链接地址,转入步骤B;B、直播客户端根据解析出的链接地址向媒体服务器发出媒体数据流请求,转入步骤C;C、媒体服务器收到直播客户端发来的请求后,向直播客户端下发媒体数据流,所述媒体数据流包括媒体描述信息和音视频数据,且媒体描述信息位于媒体数据流的前1000~2000个字节内,转入步骤D;D、直播客户端一收到直播客户端发来媒体数据流,就判断前1000~2000个字节内是否有媒体描述信息,若是,根据解析后的媒体描述信息初始化直播客户端的播放器,转入步骤E;否则,需等待获取到完整的媒体数据流后,再根据解析后的媒体描述信息初始化直播客户端的播放器,转入步骤E;E、利用初始化后的播放器对媒体数据流中的音视频数据进行解码并输出,结束。

【技术特征摘要】
1.一种直播客户端快速启动播放的方法,其特征在于,该方法包括以下步骤:A、当用户点击进入某直播房间后,直播客户端获取该直播房间的房间信息,并从房间信息中解析出相应的视频播放的链接地址,转入步骤B;B、直播客户端根据解析出的链接地址向媒体服务器发出媒体数据流请求,转入步骤C;C、媒体服务器收到直播客户端发来的请求后,向直播客户端下发媒体数据流,所述媒体数据流包括媒体描述信息和音视频数据,且媒体描述信息位于媒体数据流的前1000~2000个字节内,转入步骤D;D、直播客户端一收到直播客户端发来媒体数据流,就判断前1000~2000个字节内是否有媒体描述信息,若是,根据解析后的媒体描述信息初始化直播客户端的播放器,转入步骤E;否则,需等待获取到完整的媒体数据流后,再根据解析后的媒体描述信息初始化直播客户端的播放器,转入步骤E;E、利用初始化后的播放器对媒体数据流中的音视频数据进行解码并输出,结束。2.如权利要求1所述的直播客户端快速启动播放的方法,其特征在于:步骤C中,媒体服务器向直播客户端下发媒体数据流,具体包括以下步骤:媒体服务器首先下发媒体描述信息;待媒体描述信息下发结束后,再下发音视频数据。3.如权利要求1所述的直播客户端快速启动播放的方法,其特征在于:步骤C中所述音视频数据包括视频流和音频流;所述媒体描述信息包括播放器所需的配置参数:视频分辨率、视频格式、音频采样率、音频通道数以及音频格式。4.如权利要求3所述的直播客户端快速启动播放的方法,其特征在于:步骤D中,根据解析后的媒体描述信息初始化直播客户端的播放器,具体包括以下步骤:根据媒体编码标准对媒体描述信息进行解析,从中提取出播放器所需的配置参数;根据提取出的配置参数进行相关参数的配置并实例化直播客户端的播放器。5.如权利要求3所述的直播客户端快速启动播放的方法,其特征在于,步骤E具体包括以下步骤:步骤E1、媒体流解复用:利用初始化后的播放器从媒体数据流中分离出视频流和音频流,转入步骤E2;步骤E2、音视频流解码:通过软/硬解码方式,分别对视频流和音频流进行视频流解码和音频流解码,转入步骤E3;步骤E3、音视频输出或显示:将解码后的音频流输出到外部硬件设备中;将解码后的视频流通过OpenGL接口绘制到屏幕上显示。6.一种直播客户端快速启动播放的系统,包括直播客户...

【专利技术属性】
技术研发人员:郑伟
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

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

1