直播间内直播流播放方法、装置、计算机存储介质及设备制造方法及图纸

技术编号:16842598 阅读:35 留言:0更新日期:2017-12-20 00:55
本发明专利技术涉及网络直播技术领域,尤其涉及直播间内直播流播放方法、装置、计算机存储介质及设备,包括利用解码线程对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码;将解码后得到的数据存储到直播数据输出列表中并进行播放;在解码线程进行解码的过程中:判断直播流数据缓存队列中已缓存且未解码的直播流数据的第一时间长度是否大于第一时间长度阈值;若第一时间长度小于或等于第一时间长度阈值,则拉流线程拉取新的直播流数据并缓存到直播流数据缓存队列中;若第一时间长度大于第一时间长度阈值,则拉流线程停止拉取新的直播流数据,直至第一时间长度小于或等于第一时间长度阈值。本发明专利技术解决了直播过程出现的卡顿,使得直播过程流畅。

Direct live streaming method, device, computer storage medium and equipment

The present invention relates to the technical field of broadcast network, in particular to the studio live streaming playback method, device, computer storage media and equipment, including the use of decoding threads to live streaming data cache and cache queue has not decoded live streaming data is decoded; the decoded data from the storage to the live data output list and in the play; decoding threads in the decoding process: to determine whether the first time live streaming live streaming data cache and no length has been decoded data in the buffer queue length greater than the threshold value of the first time; if the first time length is less than or equal to the threshold length of the first time, then pull flow thread pull new live streaming data and cache to the live stream data in the buffer queue; if the first time length is greater than the threshold length of the first time, then pull the thread to stop flow pull live stream of new Data, until the first time length is less than or equal to the threshold of the first time length. The invention solves the problems appearing in the process of making live Carlton, live smoothly.

【技术实现步骤摘要】
直播间内直播流播放方法、装置、计算机存储介质及设备
本专利技术涉及网络直播
,尤其涉及直播间内直播流播放方法、装置、计算机存储介质及设备。
技术介绍
随着直播平台的兴起,各种各样的直播软件层出不穷,从传统的PC端播放器,到浏览器中的Flash播放器,再到移动端的播放器,均可以进行直播间视频流的观看。对于直播软件而言,其核心技术是直播流的拉取和解码。在现有的直播软件中,通常,直播流的拉取和解码在同一个线程中执行,而,对于直播流而言,直播流的分辨率越大,解码该直播流的时间越长,这样,直播流的解码过程势必会影响到直播流的拉取过程,从而出现来不及拉取新的直播流的现象,导致直播过程卡顿。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的直播间内直播流播放方法、装置、计算机存储介质及设备。本专利技术实施例提供一种直播间内直播流播放方法,包括:利用解码线程对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码;将所述解码线程解码后得到的数据存储到直播数据输出列表中;将所述直播数据输出列表中的数据进行播放;其中,在所述解码线程对所述直播流数据缓存队列中已缓存且未解码的直播流数据进行解码的过程中:判断所述直播流数据缓存队列中已缓存且未解码的直播流数据的第一时间长度是否大于第一时间长度阈值;若所述第一时间长度小于或等于所述第一时间长度阈值,则拉流线程拉取新的直播流数据,并将拉取到的新的直播流数据缓存到所述直播流数据缓存队列中;若所述第一时间长度大于所述第一时间长度阈值,则所述拉流线程停止拉取新的直播流数据,直至所述第一时间长度小于或等于所述第一时间长度阈值。优选的,所述直播流数据包含视频流数据和/或音频流数据,所述直播流数据缓存队列对应包含视频流数据缓存队列和/或音频流数据缓存队列,所述解码线程对应包含视频解码线程和/或音频解码线程。优选的,在所述利用解码线程对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码之前,所述方法还包括:基于与所述直播流对应的指定路径,打开所述直播流;调用线程创建函数,创建所述拉流线程;获取所述直播流的数据流通道;基于所述数据流通道,调用所述线程创建函数建立所述解码线程。优选的,在所述调用所述线程创建函数建立所述解码线程之后,所述方法还包括:判断所述第一时间长度是否小于第二时间长度阈值;若所述第一时间长度小于所述第二时间长度阈值,则所述解码线程不动作;若所述第一时间长度大于或等于所述第二时间长度阈值,则所述解码线程执行对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码的步骤。优选的,还包括:判断所述直播流数据输出列表中的数据是否大于预设数量;若所述直播流数据输出列表中的数据大于预设数量,则所述解码线程停止解码。本专利技术实施例还提供一种直播间内直播流播放装置,包括:解码模块,用于利用解码线程对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码;存储模块,用于将所述解码线程解码后得到的数据存储到直播数据输出列表中;播放模块,用于将所述直播数据输出列表中的数据进行播放;其中,在所述解码线程对所述直播流数据缓存队列中已缓存且未解码的直播流数据进行解码的过程中:判断所述直播流数据缓存队列中已缓存且未解码的直播流数据的第一时间长度是否大于第一时间长度阈值;若所述第一时间长度小于或等于所述第一时间长度阈值,则拉流线程拉取新的直播流数据,并将拉取到的新的直播流数据缓存到所述直播流数据缓存队列中;若所述第一时间长度大于所述第一时间长度阈值,则所述拉流线程停止拉取新的直播流数据,直至所述第一时间长度小于或等于所述第一时间长度阈值。优选的,所述直播流数据包含视频流数据和/或音频流数据,所述直播流数据缓存队列对应包含视频流数据缓存队列和/或音频流数据缓存队列,所述解码线程对应包含视频解码线程和/或音频解码线程。优选的,所述装置还包括:打开模块,用于基于与所述直播流对应的指定路径,打开所述直播流;创建模块,用于调用线程创建函数,创建所述拉流线程;获取模块,用于获取所述直播流的数据流通道;调用基于所述数据流通道,调用所述线程创建函数建立所述解码线程。本专利技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:利用解码线程对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码;将所述解码线程解码后得到的数据存储到直播数据输出列表中;将所述直播数据输出列表中的数据进行播放;其中,在所述解码线程对所述直播流数据缓存队列中已缓存且未解码的直播流数据进行解码的过程中:判断所述直播流数据缓存队列中已缓存且未解码的直播流数据的第一时间长度是否大于第一时间长度阈值;若所述第一时间长度小于或等于所述第一时间长度阈值,则拉流线程拉取新的直播流数据,并将拉取到的新的直播流数据缓存到所述直播流数据缓存队列中;若所述第一时间长度大于所述第一时间长度阈值,则所述拉流线程停止拉取新的直播流数据,直至所述第一时间长度小于或等于所述第一时间长度阈值。本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:利用解码线程对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码;将所述解码线程解码后得到的数据存储到直播数据输出列表中;将所述直播数据输出列表中的数据进行播放;其中,在所述解码线程对所述直播流数据缓存队列中已缓存且未解码的直播流数据进行解码的过程中:判断所述直播流数据缓存队列中已缓存且未解码的直播流数据的第一时间长度是否大于第一时间长度阈值;若所述第一时间长度小于或等于所述第一时间长度阈值,则拉流线程拉取新的直播流数据,并将拉取到的新的直播流数据缓存到所述直播流数据缓存队列中;若所述第一时间长度大于所述第一时间长度阈值,则所述拉流线程停止拉取新的直播流数据,直至所述第一时间长度小于或等于所述第一时间长度阈值。本专利技术实施例中的一个或多个技术方案,至少具有如下技术效果或优点:本申请利用拉流线程对直播流数据进行拉取,并利用解码线程对直播流数据进行解码,拉流线程和解码线程相互独立,从而解码过程不再影响拉流过程,另外,在利用解码线程对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码的过程中,判断直播流数据缓存队列中已缓存且未解码的直播流数据的第一时间长度是否大于第一时间长度阈值,若第一时间长度小于或等于第一时间长度阈值,则拉流线程拉取新的直播流数据,并将拉取到的新的直播流数据缓存到直播流数据缓存队列中,若第一时间长度大于第一时间长度阈值,则拉流线程停止拉取新的直播流数据,直至第一时间长度小于或等于第一时间长度阈值,从而避免了拉流线程的拉取速度大于解码线程的解码速度时系统内存不断被拉流线程拉取的新的直播流数据占用所出现的内存溢出,解决了直播过程出现卡顿的问题,使得直播过程流畅。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:图1示出了本专利技术实施例中的一种直播间内直播流播放方法的流程图;图2示出了本本文档来自技高网...
直播间内直播流播放方法、装置、计算机存储介质及设备

【技术保护点】
一种直播间内直播流播放方法,其特征在于,包括:利用解码线程对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码;将所述解码线程解码后得到的数据存储到直播数据输出列表中;将所述直播数据输出列表中的数据进行播放;其中,在所述解码线程对所述直播流数据缓存队列中已缓存且未解码的直播流数据进行解码的过程中:判断所述直播流数据缓存队列中已缓存且未解码的直播流数据的第一时间长度是否大于第一时间长度阈值;若所述第一时间长度小于或等于所述第一时间长度阈值,则拉流线程拉取新的直播流数据,并将拉取到的新的直播流数据缓存到所述直播流数据缓存队列中;若所述第一时间长度大于所述第一时间长度阈值,则所述拉流线程停止拉取新的直播流数据,直至所述第一时间长度小于或等于所述第一时间长度阈值。

【技术特征摘要】
1.一种直播间内直播流播放方法,其特征在于,包括:利用解码线程对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码;将所述解码线程解码后得到的数据存储到直播数据输出列表中;将所述直播数据输出列表中的数据进行播放;其中,在所述解码线程对所述直播流数据缓存队列中已缓存且未解码的直播流数据进行解码的过程中:判断所述直播流数据缓存队列中已缓存且未解码的直播流数据的第一时间长度是否大于第一时间长度阈值;若所述第一时间长度小于或等于所述第一时间长度阈值,则拉流线程拉取新的直播流数据,并将拉取到的新的直播流数据缓存到所述直播流数据缓存队列中;若所述第一时间长度大于所述第一时间长度阈值,则所述拉流线程停止拉取新的直播流数据,直至所述第一时间长度小于或等于所述第一时间长度阈值。2.如权利要求1所述的方法,其特征在于,所述直播流数据包含视频流数据和/或音频流数据,所述直播流数据缓存队列对应包含视频流数据缓存队列和/或音频流数据缓存队列,所述解码线程对应包含视频解码线程和/或音频解码线程。3.如权利要求1所述的方法,其特征在于,在所述利用解码线程对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码之前,所述方法还包括:基于与所述直播流对应的指定路径,打开所述直播流;调用线程创建函数,创建所述拉流线程;获取所述直播流的数据流通道;基于所述数据流通道,调用所述线程创建函数建立所述解码线程。4.如权利要求3所述的方法,其特征在于,在所述调用所述线程创建函数建立所述解码线程之后,所述方法还包括:判断所述第一时间长度是否小于第二时间长度阈值;若所述第一时间长度小于所述第二时间长度阈值,则所述解码线程不动作;若所述第一时间长度大于或等于所述第二时间长度阈值,则所述解码线程执行对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码的步骤。5.如权利要求1所述的方法,其特征在于,还包括:判断所述直播流数据输出列表中的数据是否大于预设数量;若所述直播流数据输出列表中的数据大于预设数量,则所述解码线程停止解码。6.一种直播间内直播流播放装置,其特征在于,包括:解码模块,用于利用解码线程对直播流数据缓存队列中已缓存且未解码的直播流数据进行解码;存储模块,用于将所述解码线程解码后得到的数据存储到直播数据输出列表中;播放模块,用于将所述直播数据输出列表中的数据进行播放;其中,在所述解码线程对所述直播流数据缓存队列中已缓存且未解码的直播流数据进行解码的过程中:判断所述直播流数据缓存队列中已缓存且未解码的直播流数据的第一时间长度是否大于第一时间长度阈值;若所述第一时间长度小于或等于所述第一时间长...

【专利技术属性】
技术研发人员:杨亮张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1