CN114679438B - 流媒体数据传输方法、装置、计算机设备和存储介质 - Google Patents

流媒体数据传输方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114679438B
CN114679438B CN202210203173.8A CN202210203173A CN114679438B CN 114679438 B CN114679438 B CN 114679438B CN 202210203173 A CN202210203173 A CN 202210203173A CN 114679438 B CN114679438 B CN 114679438B
Authority
CN
China
Prior art keywords
cache
data volume
media files
media
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210203173.8A
Other languages
English (en)
Other versions
CN114679438A (zh
Inventor
刘文泉
王勇
姚良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Itest Communication Technology Co ltd
Original Assignee
Shanghai Itest Communication Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Itest Communication Technology Co ltd filed Critical Shanghai Itest Communication Technology Co ltd
Priority to CN202210203173.8A priority Critical patent/CN114679438B/zh
Publication of CN114679438A publication Critical patent/CN114679438A/zh
Application granted granted Critical
Publication of CN114679438B publication Critical patent/CN114679438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种流媒体数据传输方法、装置、计算机设备和存储介质,该方法包括在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量;当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。当缓存内的数据量下降时,同时并行下载多个媒体文件,以充分利用网络带宽,从而提高缓存内的数据量,以使得流媒体播放流畅,保障用户体验。

Description

流媒体数据传输方法、装置、计算机设备和存储介质
技术领域
本发明涉及流媒体数据传输技术领域,特别涉及一种流媒体数据传输方法、装置、计算机设备和存储介质。
背景技术
HLS(HTTP Live Streaming)流媒体技术是目前较为主流的流媒体技术,目前OTT(Over The Top)普遍都采用HLS技术提供视频业务。HLS服务端将视频文件分割成若干个.ts文件以及.m3u8文件存在于服务器,ts文件为媒体数据,.m3u8文件为媒体数据索引,客户端访问服务器,根据.m3u8文件的按索引下载.ts文件进行播放。
HLS技术采用HTTP(Hyper Text Transfer Protocol,超文本传输协议)协议下载TS媒体文件,文件下载速率不仅受到网络带宽的影响,也受到TCP(Transmission ControlProtocol,传输控制协议)传输效率的影响,TCP传输效率与网络的时延、丢包和滑动窗口有关。尤其是网络时延对TCP的吞吐量的影响很大。
对于超高清4K视频,其码率约15Mbps,在网络和平台繁忙时,尽管网络接入带块大于15Mbps,但TCP的下载速率未必能达到,所以,导致基于HLS的4K视频质量难于保证。
发明内容
基于此,有必要针对上述技术问题,提供一种流媒体数据传输方法、装置、计算机设备和存储介质。
一种流媒体数据传输方法,包括:
在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。
在其中一个实施例中,所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤包括:
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载两个所述媒体文件;
检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于所述预设缓存数据量时,增加并行下载的所述媒体文件的数量。
在其中一个实施例中,所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤之后还包括:
检测所述缓存内的媒体文件的数据量是否小于预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据所述索引文件从所述服务器逐一下载较低码率的各所述媒体文件。
在其中一个实施例中,所述根据索引文件从服务器并行下载至少两个媒体文件的步骤包括:
根据索引文件从所述服务器并行下载预设数量的媒体文件,其中,所述预设数量小于或等于预设阈值数量且大于二。
在其中一个实施例中,所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤之后包括:
检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;
当所述缓存内的所述媒体文件的数据量大于或等于所述预设缓存数据量时,根据所述索引文件从所述服务器依序逐一下载各上所述媒体文件。
在其中一个实施例中,所述在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量的步骤包括:
在流媒体播放过程中,检测缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于预设缓存数据量;
所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件的步骤包括:
当所述缓存内的所述媒体文件的数据量在大于所述预设时间的时间内小于所述预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。
一种流媒体数据传输方法,包括:
响应于客户端的索引下载请求,向所述客户端发送索引文件;
响应于所述客户端的第一媒体下载请求,向所述客户端逐一发送媒体文件;
检测是否接收到所述客户端的第二媒体下载请求;
当接收到所述第二媒体下载请求时,响应于所述第二媒体下载请求,向所述客户端并行发送预设数量的所述媒体文件。
一种流媒体数据传输装置,包括:
缓存数据量检测模块,用于在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量;
并行下载模块,用于当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行上述任一实施例中所述的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述任一实施例中所述的步骤。
上述流媒体数据传输方法、装置、计算机设备和存储介质,当缓存内的数据量下降时,同时并行下载多个媒体文件,以充分利用网络带宽,从而提高缓存内的数据量,以使得流媒体播放流畅,保障用户体验。
附图说明
图1为一个实施例中流媒体数据传输方法的应用场景示意图;
图2A为一个实施例中流媒体数据传输方法的流程示意图;
图2B为另一个实施例中流媒体数据传输方法的流程示意图;
图3为一个实施例中流媒体数据传输装置的结构框图;
图4为一个实施例中计算机设备的内部结构图;
图5为一个实施例中客户端与服务端交互的逻辑示意图;
图6为一个实施例中客户端的功能模块图;
图7为一个实施例中客户端播放流媒体文件的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例一
本申请提供的流媒体数据传输方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、电视机、机顶盒、流媒体播放器、视频播放器等,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端102在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量;当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。服务器104响应于终端102的索引下载请求,向所述终端102发送索引文件;响应于所述终端102的第一媒体下载请求,向所述终端102逐一发送媒体文件;检测是否接收到所述终端102的第二媒体下载请求;当接收到所述第二媒体下载请求时,响应于所述第二媒体下载请求,向所述终端102并行发送预设数量的所述媒体文件。
实施例二
本实施例中,如图2A所示,提供了一种流媒体数据传输方法,其包括:
步骤210,在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量。
本实施例中,终端向服务器发送播放请求,从服务器下载所述索引文件,根据所述索引文件从所述服务器依序下载各媒体文件,并对媒体文件进行播放。本实施例中,在流媒体播放过程中,终端根据索引文件从服务器上依序逐一下载媒体文件,并且逐一播放媒体文件。在流媒体播放的过程中,实时检测缓存内的所述媒体文件的数据量是否小于预设缓存数据量。值得一提的是,本实施例中所指的逐一下载媒体文件指的是,每次下载一个媒体文件,在一个媒体文件下载完毕后,才进行下一个媒体文件的下载。本实施例中,逐一下载媒体文件的模式称为单一文件下载模式。
本实施例中,下载的媒体文件暂存于缓存内,该缓存也可以称为数据缓存存储器或者数据缓存模块,该缓存可以是终端的存储器中用于缓存的缓存空间,也可以是独立于存储器的缓存存储器。该缓存用于暂存媒体文件,下载后的媒体文件暂存于缓存内,终端读取缓存内的媒体文件进行播放,当播放一个媒体文件后,缓存将删除该播放完毕的媒体文件,这样,在播放流畅的情况下,缓存内的数据量保持动态平衡,并且维持在大于预设缓存数据量。该缓存内的媒体文件的数据量为缓存内的媒体文件的总的数据量。
通过检测缓存中内的媒体文件的数据量的大小,可检测出下载的媒体文件是否能够满足流媒体的流畅播放的需求。
步骤220,当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。
本实施例中,当缓存内的媒体文件的数据量小于预设缓存数据量时,意味着缓存内的媒体文件的下载速度跟不上媒体文件的播放速度,导致缓存内的媒体文件的数据量下降至小于预设缓存数据量,缓存内的媒体文件的数据量的持续下降,可能导致流媒体视频的播放出现卡顿。因此,为了避免流媒体视频的播放出现卡顿,终端根据索引文件从服务器中同时下载多个媒体文件,值得一提的是,本实施例中所述的并行下载,指的是同时下载,并行下载也称为多文件下载。本实施例中,并行下载媒体文件的模式称为多文件下载模式。在该多文件下载模式下,终端与服务器之间同时建立多个TCP连接,每一个TCP连接用于下载一个媒体文件,以同时下载多个媒体文件。
本实施例中,通过同时下载多个媒体文件,能够有效利用带宽,从而提高缓存内的数据量,以使得流媒体播放流畅,保障用户体验。
本实施例中,当所述缓存内的所述媒体文件的数据量大于或等于预设缓存数据量时,表明目前媒体文件的下载速度大于媒体文件的播放速度,能够满足流媒体的流畅播放的需求,因此,终端维持根据索引文件从所述服务器依序逐一下载各媒体文件。
上述实施例中,当缓存内的数据量下降时,同时并行下载多个媒体文件,以充分利用网络带宽,从而提高缓存内的数据量,以使得流媒体播放流畅,保障用户体验。
在一个实施例中,所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤包括:当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载两个所述媒体文件;检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;当所述缓存内的所述媒体文件的数据量小于所述预设缓存数据量时,增加并行下载的所述媒体文件的数量。
本实施例中,当终端由单一个媒体文件下载改为并行下载多个媒体文件后,终端保持实时检测缓存内的媒体文件的数据量是否小于所述预设缓存数据量,当缓存内的所述媒体文件的数据量依然小于所述预设缓存数据量时,增加并行下载的所述媒体文件的数量,根据索引文件从服务器上同时下载更多的媒体文件,从而进一步加大对带宽的利用,以使得缓存内的媒体文件的数据量提高。
一个实施例中,当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载两个所述媒体文件;实时检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;当所述缓存内的所述媒体文件的数据量小于所述预设缓存数据量时,根据索引文件从所述服务器并行下载三个所述媒体文件。
本实施例中,当逐一下载媒体文件无法满足播放流畅的需求时,将并行下载两个媒体文件,当并行下载两个媒体文件依然无法满足播放流程的需求时,将并行下载三个媒体文件,以使得下载的数据量大于播放的数据量,以提高缓存内的媒体文件的数据量,以保持流媒体播放的流畅。
在一个实施例中,所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤之后还包括:检测所述缓存内的媒体文件的数据量是否小于预设缓存数据量;当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据所述索引文件从所述服务器逐一下载较低码率的各所述媒体文件。
本实施例中,当终端由单一个媒体文件下载改为并行下载多个媒体文件后,终端保持实时检测缓存内的媒体文件的数据量是否小于所述预设缓存数据量,当缓存内的所述媒体文件的数据量依然小于所述预设缓存数据量时,表明并行下载多个媒体文件依然无法满足播放流畅的需求,可能存在网络堵塞的问题导致下载数据量无法提高,导致多个媒体文件并行下载也无法提高缓存的数据量,因此,降低播放的画质,从服务器中选择码率较低的媒体文件进行下载,以提高缓存内的媒体文件的数据量,这样,可通过降低画质,以保证流媒体播放的流畅。
一个实施例中,当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载两个所述媒体文件;实时检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;当所述缓存内的所述媒体文件的数据量小于所述预设缓存数据量时,根据索引文件从所述服务器并行下载三个所述媒体文件;实时检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;当所述缓存内的所述媒体文件的数据量小于所述预设缓存数据量时,从服务器中选择码率较低的媒体文件进行下载。
本实施例中,终端在缓存的数据量较小的情况下,首先由单一媒体文件下载改为多媒体文件并行下载,如果依然无法提高缓存的数据量,则提高并行下载的媒体文件的数量,如果依然无法提高缓存的数据量,则从服务器中选择码率较低的媒体文件进行下载,降低画质,以保证流媒体播放的流畅。
在一个实施例中,所述根据索引文件从服务器并行下载至少两个媒体文件的步骤包括:根据索引文件从所述服务器并行下载预设数量的媒体文件,其中,所述预设数量小于或等于预设阈值数量且大于二。
应该理解的是,如果存在多个终端同时从服务器进行媒体文件的并行下载,并且并行下载的文件数量较大,则可能导致服务器承受较大负荷,导致服务器运行效率下降,因此,本实施例中,并行下载媒体文件的数量小于或等于预设阈值数量且大于二,这样,能够使得终端并行下载媒体文件的数量不至于过多,避免导致服务器压力过大。
一个实施例中,所述预设阈值数量为三。本实施例中,终端同时下载的媒体文件的数量为三个,这样,能够有效利用带宽,提高缓存的数据量,并且避免对服务器造成较大的压力。
在一个实施例中,所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤之后包括:检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;当所述缓存内的所述媒体文件的数据量大于或等于所述预设缓存数据量时,根据所述索引文件从所述服务器依序逐一下载各上所述媒体文件。
本实施例中,当终端由单一个媒体文件下载改为并行下载多个媒体文件后,终端保持实时检测缓存内的媒体文件的数据量是否小于所述预设缓存数据量,当缓存内的所述媒体文件的数据量大于或等于预设缓存数据量时,表明目前缓存的数据量较大,可满足流畅播放的需求,因此,恢复至单一下载模式,即从服务器上逐一下载媒体文件。
在一个实施例中,所述在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量的步骤包括:在流媒体播放过程中,检测缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于预设缓存数据量;所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件的步骤包括:当所述缓存内的所述媒体文件的数据量在大于所述预设时间的时间内小于所述预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。
本实施例中,当在流媒体播放过程中,缓存内的数据量在一段时间内都保持小于预设缓存数据量,表明下载的媒体文件无法满足流畅播放需求已经了持续一段时间,因此,终端由单一个媒体文件下载改为并行下载多个媒体文件,以提高缓存内的数据量,以使得流媒体播放流畅。而对于缓存内的媒体文件的数据量在较短时间内小于预设缓存数据量,可视为缓存数据量的正常波动,则不触发并行下载的发生。即,当所述缓存内的所述媒体文件的数据量在大于所述预设时间的时间内大于所述预设缓存数据量时,则保持从服务器上依序逐一下载媒体文件。
在各实施例中,所述检测缓存内的媒体文件的数据量是否小于预设缓存数据量的步骤为:检测缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于预设缓存数据量。
本实施例中,无论是在正常播放过程中,还是由单一下载模式改为并行多文件下载模式,还是在多文件下载模式下增加并行下载的数量,都需要对缓存的数据量进行实时检测,该实时检测为检测缓存在一段时间内的数据量是否小于预设缓存数据量,如果缓存的数据量仅仅是在较短的一段时间内的低于预设缓存数据量,则表明缓存只是短暂的波动,而并不需要调整下载模式,而当缓存数据量在大于预设时间的较长的一段时间内均小于预设缓存数据量,则表明下载的媒体文件无法满足播放的需求,因此,需要调整下载模式。
一个实施例是,所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤包括:当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载两个所述媒体文件;检测所述缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于所述预设缓存数据量;当所述缓存内的所述媒体文件的数据量在大于预设时间的时间段内小于所述预设缓存数据量时,增加并行下载的所述媒体文件的数量。
一个实施例是,所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤之后还包括:检测所述缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于预设缓存数据量;当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据所述索引文件从所述服务器逐一下载较低码率的各所述媒体文件。
一个实施例是,当所述缓存内的所述媒体文件的数据量在大于预设时间的时间段内小于预设缓存数据量时,根据索引文件从所述服务器并行下载两个所述媒体文件;实时检测所述缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于所述预设缓存数据量;当所述缓存内的所述媒体文件的数据量小于所述预设缓存数据量时,根据索引文件从所述服务器并行下载三个所述媒体文件。
一个实施例是,所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤之后包括:检测所述缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于所述预设缓存数据量;当所述缓存内的所述媒体文件的数据量在大于预设时间的时间段内大于或等于所述预设缓存数据量时,根据所述索引文件从所述服务器依序逐一下载各上所述媒体文件。
实施例三
本实施例中,终端为客户端,服务器为服务端,本实施例中,流媒体数据传输方法,包括:
1)当视频播放缓存持续降低时,客户端转入多文件下载方式,即同时有多个TCP连接,下载多个TS文件,提高总的下载速率。
如图5所示,客户端与服务端同时建立多个TCP连接,同时下载多个TS文件。
2)如果在多文件下载情况下,视频播放缓存仍持续降低,则进入码率切换过程。
本实施例中,如图6所示,客户端的功能模块包括文件下载模块、m3u8文件解析模块、TS视频文件解码模块、视频播放模块和视频缓存控制模块;相较于传统客户端,视频缓存控制模块中增加“多文件下载控制”功能,以多文件下载,多TCP方式增加总的下载速率;当视频缓存下降时,传统方案采用的是切换低码率的方法降低缓存数据的消耗,而本实施例则改进为在降低码率前,先尝试采用多文件下载方式,保障业务体验不变。
本方法无需改变承载网,也不改变HLS业务平台,只需要对客户端软件作升级,不增加额外资源。本专利有效提升了HLS的传输效率,保障了4K视频业务的质量体验。
下面是客户端播放流媒体文件的具体过程,请结合图7:
1)客户端下载*.m3u8文件,获取TS文件列表;
2)客户端根据TS文件列表,按次序下载TS文件,并将下载的TS文件输入到播放缓存中;
3)播放器消耗缓存中的视频数据,缓存处于动态平衡中;
4)缓存控制模块实时监测缓存状态,当缓存数据下降时,缓存控制模块通知文件下模块采用多文件下载方式;
5)文件下载模块同时下载的TS文件数从1到2再到3,逐步增加,为了不增加服务端压力,同时下载的文件数量不超过3个;
6)如果缓存仍继续下降,则再采用降低码率的方式减少缓存数据的消耗。
实施例四
本申请中,还提供一种流媒体数据传输方法,应用于服务器,如图2B所示,该方法包括:
步骤251,响应于客户端的索引下载请求,向所述客户端发送索引文件;
步骤252,响应于所述客户端的第一媒体下载请求,向所述客户端逐一发送媒体文件;
步骤253,检测是否接收到所述客户端的第二媒体下载请求;
步骤254,当接收到所述第二媒体下载请求时,响应于所述第二媒体下载请求,向所述客户端并行发送预设数量的所述媒体文件。
本实施例中,索引下载请求由终端发送至服务器,用于请求下载索引文件,第一媒体下载请求由终端发送至服务器,用于请求下载单一个的媒体文件,第二媒体下载请求由终端发送至服务器,用于请求并行下载多个媒体文件。本实施例中,当终端的缓存内的数据量下降时,终端向服务器发出第二媒体下载请求,服务器响应该第二媒体下载请求,向所述客户端同时并行发送多个媒体文件,以充分利用网络带宽,从而提高终端的缓存内的数据量,以使得终端的流媒体播放流畅,保障用户体验。
应该理解的是,虽然图2A和图2B的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2A和图2B中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例五
本实施例中,如图3所示,提供一种流媒体数据传输装置,包括:
缓存数据量检测模块310,用于在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量;
并行下载模块320,用于当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件。
在一个实施例中,所述并行下载模块包括:
并行下载单元,用于当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载两个所述媒体文件;
数据量二次检测单元,用于检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;
并行数量增加单元,用于当所述缓存内的所述媒体文件的数据量小于所述预设缓存数据量时,增加并行下载的所述媒体文件的数量。
在一个实施例中,所述流媒体数据传输装置还包括:
数据量二次检测模块,用于检测所述缓存内的媒体文件的数据量是否小于预设缓存数据量;
码率降低下载模块,用于当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据所述索引文件从所述服务器逐一下载较低码率的各所述媒体文件。
在一个实施例中,所述并行下载模块还用于根据索引文件从所述服务器并行下载预设数量的媒体文件,其中,所述预设数量小于或等于预设阈值数量且大于二。
在一个实施例中,所述流媒体数据传输装置还包括:
数据量二次检测模块,用于检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;
单一下载模块,用于当所述缓存内的所述媒体文件的数据量大于或等于所述预设缓存数据量时,根据所述索引文件从所述服务器依序逐一下载各上所述媒体文件。
在一个实施例中,所述缓存数据量检测模块还用于在流媒体播放过程中,检测缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于预设缓存数据量;
所述并行下载模块还用于当所述缓存内的所述媒体文件的数据量在大于所述预设时间的时间内小于所述预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。
关于流媒体数据传输装置的具体限定可以参见上文中对于流媒体数据传输方法的限定,在此不再赘述。上述流媒体数据传输装置中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各单元可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个单元对应的操作。
实施例六
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种流媒体数据传输方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储索引文件和媒体文件。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种流媒体数据传输方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载两个所述媒体文件;
检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于所述预设缓存数据量时,增加并行下载的所述媒体文件的数量。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
检测所述缓存内的媒体文件的数据量是否小于预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据所述索引文件从所述服务器逐一下载较低码率的各所述媒体文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据索引文件从所述服务器并行下载预设数量的媒体文件,其中,所述预设数量小于或等于预设阈值数量且大于二。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;
当所述缓存内的所述媒体文件的数据量大于或等于所述预设缓存数据量时,根据所述索引文件从所述服务器依序逐一下载各上所述媒体文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在流媒体播放过程中,检测缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于预设缓存数据量;
当所述缓存内的所述媒体文件的数据量在大于所述预设时间的时间内小于所述预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:响应于客户端的索引下载请求,向所述客户端发送索引文件;
响应于所述客户端的第一媒体下载请求,向所述客户端逐一发送媒体文件;
检测是否接收到所述客户端的第二媒体下载请求;
当接收到所述第二媒体下载请求时,响应于所述第二媒体下载请求,向所述客户端并行发送预设数量的所述媒体文件。
实施例七
本实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载两个所述媒体文件;
检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于所述预设缓存数据量时,增加并行下载的所述媒体文件的数量。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
检测所述缓存内的媒体文件的数据量是否小于预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据所述索引文件从所述服务器逐一下载较低码率的各所述媒体文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据索引文件从所述服务器并行下载预设数量的媒体文件,其中,所述预设数量小于或等于预设阈值数量且大于二。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;
当所述缓存内的所述媒体文件的数据量大于或等于所述预设缓存数据量时,根据所述索引文件从所述服务器依序逐一下载各上所述媒体文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在流媒体播放过程中,检测缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于预设缓存数据量;
当所述缓存内的所述媒体文件的数据量在大于所述预设时间的时间内小于所述预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。
一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:响应于客户端的索引下载请求,向所述客户端发送索引文件;
响应于所述客户端的第一媒体下载请求,向所述客户端逐一发送媒体文件;
检测是否接收到所述客户端的第二媒体下载请求;
当接收到所述第二媒体下载请求时,响应于所述第二媒体下载请求,向所述客户端并行发送预设数量的所述媒体文件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种流媒体数据传输方法,其特征在于,包括:
在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件;
所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤包括:
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载两个所述媒体文件;
检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于所述预设缓存数据量时,增加并行下载的所述媒体文件的数量;
所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤之后还包括:检测所述缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于预设缓存数据量;当所述缓存内的所述媒体文件的数据量在大于所述预设时间的时间内小于预设缓存数据量时,根据所述索引文件从所述服务器逐一下载较低码率的各所述媒体文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当播放一个媒体文件后,缓存将删除该播放完毕的媒体文件。
3.根据权利要求1所述的方法,其特征在于,所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤之后还包括:
检测所述缓存内的媒体文件的数据量是否小于预设缓存数据量;
当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据所述索引文件从所述服务器逐一下载较低码率的各所述媒体文件。
4.根据权利要求1所述的方法,其特征在于,所述根据索引文件从服务器并行下载至少两个媒体文件的步骤包括:
根据索引文件从所述服务器并行下载预设数量的媒体文件,其中,所述预设数量小于或等于预设阈值数量且大于二。
5.根据权利要求1所述的方法,其特征在于,所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从所述服务器并行下载至少两个媒体文件的步骤之后包括:
检测所述缓存内的媒体文件的数据量是否小于所述预设缓存数据量;
当所述缓存内的所述媒体文件的数据量大于或等于所述预设缓存数据量时,根据所述索引文件从所述服务器依序逐一下载各上所述媒体文件。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述在流媒体播放过程中,检测缓存内的媒体文件的数据量是否小于预设缓存数据量的步骤包括:
在流媒体播放过程中,检测缓存内的媒体文件的数据量在大于预设时间的时间段内是否小于预设缓存数据量;
所述当所述缓存内的所述媒体文件的数据量小于预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件的步骤包括:
当所述缓存内的所述媒体文件的数据量在大于所述预设时间的时间内小于所述预设缓存数据量时,根据索引文件从服务器并行下载至少两个媒体文件。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202210203173.8A 2022-03-03 2022-03-03 流媒体数据传输方法、装置、计算机设备和存储介质 Active CN114679438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210203173.8A CN114679438B (zh) 2022-03-03 2022-03-03 流媒体数据传输方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210203173.8A CN114679438B (zh) 2022-03-03 2022-03-03 流媒体数据传输方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN114679438A CN114679438A (zh) 2022-06-28
CN114679438B true CN114679438B (zh) 2024-04-30

Family

ID=82072866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210203173.8A Active CN114679438B (zh) 2022-03-03 2022-03-03 流媒体数据传输方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114679438B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010003383A (ko) * 1999-06-23 2001-01-15 정선종 멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법
CN103139188A (zh) * 2011-12-05 2013-06-05 中国电信股份有限公司 流媒体传输方法与系统
EP2720436A1 (en) * 2012-10-11 2014-04-16 Wistron Corporation Streaming data downloading method and computer readable recording medium thereof
CN104580067A (zh) * 2013-10-11 2015-04-29 北京大学 基于多服务器的流媒体传输装置和流媒体传输方法
CN105227588A (zh) * 2014-05-28 2016-01-06 中国移动通信集团公司 一种流媒体文件的下载方法及用户终端
CN105245939A (zh) * 2015-08-07 2016-01-13 北京市空越技术有限公司 基于http代理的移动流媒体离线缓存系统及方法
WO2017035787A1 (zh) * 2015-09-01 2017-03-09 深圳好视网络科技有限公司 一种流媒体文件的存储方法、装置和系统
WO2017107378A1 (zh) * 2015-12-25 2017-06-29 深圳Tcl新技术有限公司 基于hls流媒体的视频数据加速下载方法及装置
WO2017125017A1 (zh) * 2016-01-20 2017-07-27 中兴通讯股份有限公司 缓存内容的调整方法、装置及系统
CN109803167A (zh) * 2017-11-17 2019-05-24 中国电信股份有限公司 流媒体文件传输方法、流媒体客户端和计算机可读存储介质
CN109874028A (zh) * 2017-12-01 2019-06-11 深圳市雷鸟信息科技有限公司 一种hls流媒体的播放方法、系统及存储介质
CN109982159A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 在线播放流媒体的方法和终端
CN111447506A (zh) * 2020-03-25 2020-07-24 武汉理工大学 云边环境下基于延迟和成本均衡的流媒体内容放置方法
CN112954445A (zh) * 2021-03-16 2021-06-11 深圳市迅雷网络技术有限公司 流媒体文件播放方法、装置、计算机设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459693A (zh) * 2008-12-29 2009-06-17 中兴通讯股份有限公司 一种流媒体下载方法及系统
US8751677B2 (en) * 2009-10-08 2014-06-10 Futurewei Technologies, Inc. System and method to support different ingest and delivery schemes for a content delivery network

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010003383A (ko) * 1999-06-23 2001-01-15 정선종 멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법
CN103139188A (zh) * 2011-12-05 2013-06-05 中国电信股份有限公司 流媒体传输方法与系统
EP2720436A1 (en) * 2012-10-11 2014-04-16 Wistron Corporation Streaming data downloading method and computer readable recording medium thereof
CN104580067A (zh) * 2013-10-11 2015-04-29 北京大学 基于多服务器的流媒体传输装置和流媒体传输方法
CN105227588A (zh) * 2014-05-28 2016-01-06 中国移动通信集团公司 一种流媒体文件的下载方法及用户终端
CN105245939A (zh) * 2015-08-07 2016-01-13 北京市空越技术有限公司 基于http代理的移动流媒体离线缓存系统及方法
WO2017035787A1 (zh) * 2015-09-01 2017-03-09 深圳好视网络科技有限公司 一种流媒体文件的存储方法、装置和系统
WO2017107378A1 (zh) * 2015-12-25 2017-06-29 深圳Tcl新技术有限公司 基于hls流媒体的视频数据加速下载方法及装置
WO2017125017A1 (zh) * 2016-01-20 2017-07-27 中兴通讯股份有限公司 缓存内容的调整方法、装置及系统
CN109803167A (zh) * 2017-11-17 2019-05-24 中国电信股份有限公司 流媒体文件传输方法、流媒体客户端和计算机可读存储介质
CN109874028A (zh) * 2017-12-01 2019-06-11 深圳市雷鸟信息科技有限公司 一种hls流媒体的播放方法、系统及存储介质
CN109982159A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 在线播放流媒体的方法和终端
CN111447506A (zh) * 2020-03-25 2020-07-24 武汉理工大学 云边环境下基于延迟和成本均衡的流媒体内容放置方法
CN112954445A (zh) * 2021-03-16 2021-06-11 深圳市迅雷网络技术有限公司 流媒体文件播放方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN114679438A (zh) 2022-06-28

Similar Documents

Publication Publication Date Title
CN111135569B (zh) 云游戏处理方法、装置、存储介质与电子设备
CN110636346B (zh) 一种码率自适应切换方法、装置、电子设备及存储介质
US8904116B2 (en) System and method of selectively caching information based on the interarrival time of requests for the same information
EP2605144B1 (en) Method and apparatus for caching
CN110198495B (zh) 一种视频下载和播放的方法、装置、设备和存储介质
US20170149860A1 (en) Partial prefetching of indexed content
CN110933482A (zh) 视频加载方法、装置、计算机可读存储介质和计算机设备
CN110809167B (zh) 一种视频播放方法、装置、电子设备及存储介质
US20150134846A1 (en) Method and apparatus for media segment request retry control
US9665646B1 (en) Method and system for providing bit rate adaptaion to video files having metadata
US8762563B2 (en) Method and apparatus for improving the adaptive bit rate behavior of a streaming media player
CN110225399B (zh) 流媒体处理方法、装置、计算机设备及存储介质
TWI640192B (zh) 串流媒體傳輸優化方法及快取裝置
AU2022208002B2 (en) Systems and methods for optimizing hard drive throughput
CN114040245B (zh) 视频播放方法、装置、计算机存储介质和电子设备
CN114679438B (zh) 流媒体数据传输方法、装置、计算机设备和存储介质
Pleşca et al. Multimedia prefetching with optimal Markovian policies
CN111225243A (zh) 一种视频块调度方法及系统
AU2020226900B2 (en) Adaptive retrieval of objects from remote storage
KR20220158275A (ko) 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법
US11057448B2 (en) Method for receiving adaptive streaming service
KR102543019B1 (ko) 높은 대역폭 네트워크들 상에서의 데이터의 버퍼링
Hung et al. An Effective Segment Pre-Fetching for Short-Form Video Streaming
CN116861113A (zh) 一种页面缓存方法、装置、设备及存储介质
KR102577348B1 (ko) 미디어 인지 분산 제어 장치 및 그의 컨텐츠 화질 개선 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant