CN110381355B - 一种用于控制流媒体播放的方法、设备及可读介质 - Google Patents

一种用于控制流媒体播放的方法、设备及可读介质 Download PDF

Info

Publication number
CN110381355B
CN110381355B CN201910629776.2A CN201910629776A CN110381355B CN 110381355 B CN110381355 B CN 110381355B CN 201910629776 A CN201910629776 A CN 201910629776A CN 110381355 B CN110381355 B CN 110381355B
Authority
CN
China
Prior art keywords
streaming media
media file
information
buffering
target
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
CN201910629776.2A
Other languages
English (en)
Other versions
CN110381355A (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 Zhangmen Science and Technology Co Ltd
Original Assignee
Shanghai Zhangmen Science and 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 Zhangmen Science and Technology Co Ltd filed Critical Shanghai Zhangmen Science and Technology Co Ltd
Priority to CN201910629776.2A priority Critical patent/CN110381355B/zh
Publication of CN110381355A publication Critical patent/CN110381355A/zh
Application granted granted Critical
Publication of CN110381355B publication Critical patent/CN110381355B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请的目的是提供一种用于控制流媒体播放的方法,该方法包括:在用户设备播放第一流媒体文件的过程中检测所述用户设备的当前网络状况信息;若所述当前网络状况信息满足预定的缓冲触发条件,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作,所述一个或多个第二流媒体文件在所述播放列表中列于所述第一流媒体文件之后。在缓冲完第一流媒体文件时缓冲下一个用户可能会播放的第二流媒体文件,为用户提前缓冲准备要播放的流媒体文件,从而避免当网络状况不好时,在播放完该第一流媒体文件后,进行下一流媒体文件的播放时出现卡顿、播放不流畅等影响视听效果的问题的出现。

Description

一种用于控制流媒体播放的方法、设备及可读介质
技术领域
本申请涉及通信领域,尤其涉及一种用于控制流媒体播放的技术。
背景技术
流媒体指在互联网/内联网(Internet/Intranet)中使用流式传输技术的连续时基媒体,如:音频、视频或多媒体文件。流式媒体在播放前并不下载整个文件,只将开始部分内容存入内存,流式媒体的数据流随时传送随时播放,只是在开始时有一些延迟。流媒体实现的关键技术就是流式传输。
现有技术当中,播放流媒体的方式主要包括:(1)在播放前下载流媒体文件,将该流媒体文件储存在用户设备中;(2)在线播放流媒体文件,对该流媒体文件进行实时缓存加载。
发明内容
本申请的一个目的是提供一种用于控制流媒体播放的方法与设备。
根据本申请的一个方面,提供了一种用于控制流媒体播放的方法,该方法包括:
在用户设备播放第一流媒体文件的过程中检测所述用户设备的当前网络状况信息;
若所述当前网络状况信息满足预定的缓冲触发条件,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作,其中,所述一个或多个第二流媒体文件在所述播放列表中列于所述第一流媒体文件之后。
根据本申请的另一个方面,提供了一种用于控制流媒体播放的设备,该设备包括:
一一模块,用于在用户设备播放第一流媒体文件的过程中检测所述用户设备的当前网络状况信息;
一二模块,用于若所述当前网络状况信息满足预定的缓冲触发条件,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作,其中,所述一个或多个第二流媒体文件在所述播放列表中列于所述第一流媒体文件之后。
根据本申请的一个方面,提供了一种用于控制流媒体播放的设备,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上所述任一方法的操作。
根据本申请的另一个方面,提供了存储指令的计算机可读介质,所述指令在被执行时使得系统进行如上所述任一方法的操作。
与现有技术相比,本申请在播放第一流媒体文件的过程中检测用户设备的当前网络状况信息,并在该网络状况信息满足预定的缓冲触发条件时,响应于第一流媒体文件的缓冲完成事件信息,对第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作;以实现在当前网络状况信息满足缓冲触发条件的前提下(例如当前网络状况不稳定、无线网络信号较弱等),在当前播放的第一流媒体文件缓冲完成后,对该第一流媒体文件所属的播放列表中的一个或多个第二流媒体文件执行缓冲操作。在缓冲完第一流媒体文件时即可缓冲下一个用户可能会播放的第二流媒体文件,为用户提前缓冲准备要播放的流媒体文件,从而避免当网络状况不好时,在播放完该第一流媒体文件后,进行下一流媒体文件的播放时出现卡顿、播放不流畅等影响视听效果的问题的出现。
进一步地,在对所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作的步骤中包括:根据目标第二流媒体文件在播放列表中的次序信息确定所述目标第二流媒体文件的缓冲控制参数信息,根据该目标第二流媒体文件的缓冲控制参数信息,对该目标第二流媒体文件执行缓冲操作。由于在满足预定的缓冲触发条件,并且在第一流媒体文件缓冲完成后,即触发对一个或多个第二流媒体文件的缓冲操作,为了避免对第二流媒体文件执行缓冲操作后,用户却没有播放该第二流媒体文件,从而造成了对网络资源的浪费。用户设备根据目标第二流媒体文件的缓冲控制参数信息,对目标第二流媒体文件执行缓冲操作,以避免因提前缓冲造成对网络资源的浪费。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个实施例的一种用于控制流媒体播放的方法流程图;
图2示出根据本申请一个实施例中播放列表的示意图;
图3示出根据本申请另一个实施例中播放列表的示意图;
图4示出根据本申请一个实施例中关于第一时刻以及第二时刻的示意图;
图5示出根据本申请一个实施例的一种用于控制流媒体播放的方法流程图;
图6示出根据本申请另一个实施例的一种用于控制流媒体播放的设备模块图;
图7示出可用于本申请各实施例的一种示例性系统的功能模块。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器 (Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器 (Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如 android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit, ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出了根据本申请一个实施例的一种用于控制流媒体播放的方法流程图,该方法包括步骤S101以及步骤S102。
具体而言,在步骤S101中,用户设备在用户设备播放第一流媒体文件的过程中检测所述用户设备的当前网络状况信息。在一些实施例中,所述用户设备包括但不限于手机、平板、笔记本电脑等计算设备,例如,用户设备中安装或者自带有流媒体播放器,通过该流媒体播放器进行流媒体文件的播放。在一些实施例中,所述第一流媒体文件为当前播放的流媒体文件。在一些实施例中,所述当前网络状况信息包括但不限于当前网络状况的丢包率、当前网络状况的网速、当前网络状况的传输速率,例如,该第一流媒体文件没有下载储存在用户设备中,该用户设备当前连接使用wifi1播放该第一流媒体文件,该wifi1对应的网络状况信息包括但不限于该wifi1对应的丢包率、该 wifi1对应的网速、该wifi1对应的传输速率。
例如,以网络状况的丢包率为例,说明用户设备是如何在播放第一流媒体文件的过程中检测当前网络状况信息的。网络丢包率是指数据包丢失部分与所传数据包总数的比值,正常传输时,网络丢包率应该控制在一定范围内。网络是否稳定,是否延迟,是否丢包,通常用ping命令即可检测出来。例如,用户设备中安装有可用于检测网络丢包率的应用,在该用户设备播放第一流媒体文件的过程中,通过该应用检测当前网络(例如wifi1)的丢包率,用户设备通过该应用的接口获取该应用检测的当前网络状况的丢包率。再例如,在用户设备(例如计算机)的桌面上按win+R打开运行窗口,输入CMD打开命令提示符窗口,在命令提示符窗口输入ping你要测试的网址-t进行测试,用服务器测试网络丢包,数据包:已发送=4,已接收=4,丢失=0(0%丢失),往返行程的估计时间(以毫秒为单位):最短=28ms,最长=35ms,平均= 32ms,上述信息意思是说,我们向服务器发送了4条数据的请求,结果全部收到4条数据包的返回,没有丢失,往返的时间最短为28ms,最长为35ms,平均为32ms。这就说明我们的网络是稳定的,没有数据丢失,当然一般来说 ping的时间越久越能测试网络的稳定性,一般ping一分钟左右,不丢包,就说明网络很稳定,该用户设备可从该服务器获取检测得到的当前网络状况的丢包率。关于当前网络状况的网速、当前网络状况的传输速率等的检测,本领域技术人员应能理解,也可以通过在用户设备中安装对应的检测应用,进而从该检测应用中获取相关数据,或者用户设备中自带检测功能,可实时检测当前网络状况的网速、传输速率等网络状态信息,在此,对具体的检测过程不做赘述。
在步骤S102中,若所述当前网络状况信息满足预定的缓冲触发条件,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作,其中,所述一个或多个第二流媒体文件在所述播放列表中列于所述第一流媒体文件之后。在一些实施例中,所述缓冲触发条件包括但不限于当前网络状况的丢包率高于丢包率阈值信息、当前网络状况的带宽低于带宽阈值信息。当前网络状况的丢包率、带宽以及传输速率等信息,在一定程度上可以反映出当前的网络状况的好坏(例如网络是否稳定)。例如,当前网络状况的丢包率高于一定的丢包率阈值信息,说明当前网络状况不稳定,此时,在线播放流媒体文件很容易出现卡顿,影响用户体验。因此,在当前网络状况的丢包率高于丢包率阈值信息时(即当前网络状况信息满足预定的缓冲触发条件),在当前播放的第一流媒体文件缓冲完成后,触发对该第一流媒体文件所属的播放列表中的一个或多个第二流媒体文件的缓冲操作。
例如,用户设备中设置或者安装有流媒体播放器,通过该流媒体播放器进行对流媒体文件的播放。该用户设备当前连接使用的网络为wifi1,并通过该流媒体播放器在线播放第一流媒体文件。例如,该用户设备通过安装在该用户设备中的网络检测应用检测该wifi1的传输速率,若检测到的该wifi1的传输速率低于传输速率阈值信息,则确定满足预定的缓冲触发条件。当该第一流媒体文件缓冲完成后,该用户设备检测到该缓冲完成事件信息,并且,用户设备中存在该第一流媒体文件所属的播放列表,该播放列表中包括一个或多个第二流媒体文件,并且,该一个或多个第二流媒体文件列于该第一流媒体文件之后。参考图3,一个或多个第二流媒体文件(例如Vk+1、Vk+2、 Vk+3、Vk+4……Vk+N、Vk+N+1)在播放列表中列于第一流媒体文件(例如Vk) 之后。在一些实施例中,在当前网络状况信息满足预定的缓冲触发条件时,当第一流媒体文件缓冲完成后,用户设备按照该一个或多个第二流媒体文件在播放列表中的排列顺序对该一个或多个第二流媒体文件执行缓冲操作。在用户设备播放第一流媒体文件时,通过检测用户设备的当前网络状况信息确定当前网络状况是否正常;从而在当前网络状况信息满足预定的缓冲触发条件时(例如当前网络状况不稳定、传输速率低)提前触发对该第一流媒体文件所属的播放列表中的一个或多个第二流媒体文件的缓冲操作(例如该第一流媒体文件缓冲完成,但该第一流媒体文件还没有播放完时,对下一个流媒体文件执行缓冲操作),以在当前网络状况不好的情况下,保证播放的流畅性,从而保障用户良好的视听体验。
在一些实施例中,所述缓冲触发条件是为了触发对第二流媒体文件的缓冲操作,现有技术中,在线播放流媒体文件时,是通过边播放边缓冲的方式进行的,当当前网络状况不好时,很容易出现卡顿现象,因此,本实施例基于缓冲触发条件,在第一流媒体文件缓冲完成后,对播放列表中的列于该第一流媒体文件之后的一个或多个第二流媒体文件执行缓冲操作。例如,当第一流媒体文件缓冲完成,但是还没有播放完成时,在此时执行对第二流媒体文件的缓冲操作,当该第一流媒体文件播放完成后,可顺利的继续进行第二流媒体文件的播放,从而给用户一个良好的视听体验。在一些实施例中,所述缓冲触发条件包括以下任一项:
(1)当前网络状况的丢包率高于丢包率阈值信息。网络丢包率是指数据包丢失部分与所传数据包总数的比值,正常传输时,网络丢包率应该控制在一定范围内。则通过检测当前网络状况的丢包率高于丢包率阈值信息,则可判断该网络不稳定,存在延迟,存在丢包情况,通常用ping命令即可检测出来。例如,用户设备中安装有可用于检测网络丢包率的应用,在该用户设备播放第一流媒体文件的过程中,通过该应用检测当前网络(例如wifi1)的丢包率,用户设备通过该应用的接口获取该应用检测的当前网络状况的丢包率。再例如,在用户设备(例如计算机)的桌面上按win+R打开运行窗口,输入 CMD打开命令提示符窗口,在命令提示符窗口输入ping你要测试的网址-t 进行测试,用服务器测试网络丢包,数据包:已发送=4,已接收=4,丢失=0(0%丢失),往返行程的估计时间(以毫秒为单位):最短=28ms,最长= 35ms,平均=32ms,上述信息意思是说,我们向服务器发送了4条数据的请求,结果全部收到4条数据包的返回,没有丢失,往返的时间最短为28ms,最长为35ms,平均为32ms。这就说明我们的网络是稳定的,没有数据丢失,当然一般来说ping的时间越久越能测试网络的稳定性,一般ping一分钟左右,不丢包,就说明网络很稳定,该用户设备可从该服务器获取检测得到的当前网络状况的丢包率。
(2)当前网络状况的带宽低于带宽阈值信息。例如,用户设备中安装有测试带宽的应用,通过该应用可实时检测当前网络状况的带宽,用户设备通过该应用的应用接口获取其检测的带宽。若该带宽低于带宽阈值信息,则确定满足缓冲触发条件。进而触发对第一流媒体文件所属的播放列表中的一个或多个第二流媒体文件的缓冲操作。
(3)当前网络状况的传输速率低于传输速率阈值信息。例如,用户设备中安装有测试传输速率的应用,通过该应用可实时检测当前网络状况的传输速率,用户设备通过该应用的应用接口获取其检测的传输速率。若该传输速率低于传输速率阈值信息,则确定满足缓冲触发条件。进而触发对第一流媒体文件所属的播放列表中的一个或多个第二流媒体文件的缓冲操作。
当然,本领域技术人员应能理解,以上所述的缓冲触发条件仅为举例,其他现有的或今后可能出现的缓冲触发条件如能适用于本申请,也包含在本申请的保护范围内,并以引用的方式包含于此。
在一些实施例中,用户设备中存在第一流媒体文件所属的播放列表,基于用户的设置选择,可能存在不同的播放模式的播放列表。例如,用户设备提供了多种播放模式(例如循环播放模式、顺序播放模式、随机播放模式、推荐播放模式等),用户可通过选择操作确定其中的一种播放模式。基于用户当前选择的不同的播放模式,用户设备根据用户选择的播放模式,以及该播放模式对应的算法确定每一种播放模式对应的播放列表,从而可根据确定出的播放列表确定第一流媒体文件、第二流媒体文件在该播放列表中的次序信息。所述播放列表包括以下任一项:
(1)基于用户设置的列表顺序对应的一个或多个流媒体文件。例如,用户选择了用户设备提供的多种播放模式中的循环播放模式。例如,用户建立了流媒体列表a。其中,该流媒体列表a中包括一个或多个流媒体文件。在一些实施例中,按照被添加到该流媒体列表a中的顺序,该一个或多个流媒体文件按序排列;在一些实施例中,用户可通过设置操作对该一个或多个流媒体文件的顺序进行调整(例如拖动其中的一个流媒体文件,以将其移动到目标位置)。
(2)随机选择的一个或多个流媒体文件。例如,用户选择了用户设备提供的多种播放模式中的随机播放模式。例如,在该随机播放模式下,用户设备基于随机播放算法(例如Shuffle算法、Random算法)确定播放列表,该播放列表中包括一个或多个流媒体文件,其中,当前播放的是第一流媒体文件,在该播放列表中列于该第一流媒体文件之后的一个或多个流媒体文件为第二流媒体文件,该第一流媒体文件以及该一个或多个第二流媒体文件均属于用户设备随机选择的该一个或多个流媒体文件。
(3)根据所述用户的用户画像信息推荐的一个或多个流媒体文件。用户画像又称用户角色,作为一种勾画目标用户、联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的应用。用户画像在各领域得到了广泛的应用。我们在实际操作的过程中往往会以最为浅显和贴近生活的话语将用户的属性、行为与期待联结起来。作为实际用户的虚拟代表,用户画像所形成的用户角色并不是脱离产品和市场之外所构建出来的,形成的用户角色需要有代表性能代表产品的主要受众和目标群体。例如,用户选择了用户设备提供的多种播放模式中的推荐播放模式。用户设备从服务器(例如流媒体文件播放器对应的服务器)中获取该用户对应的用户画像信息(例如该用户喜欢民谣、纯音乐、英文歌),进一步地,该用户设备根据获取的该用户画像信息从该服务器中获取对应的一个或多个流媒体文件(例如民谣、纯音乐、英文歌),并基于获取的该一个或多个流媒体文件生成播放列表,该播放列表中包括根据该用户的用户画像信息推荐的该一个或多个流媒体文件。
(4)播放所述第一流媒体文件的当前页面中的一个或多个流媒体文件。在一些实施例中,所述流媒体文件为音频文件;在另一些实施例中,所述流媒体文件为视频文件(例如小视频)。参考图4,图4呈现的是播放第一流媒体文件(例如Vk)的当前页面,在该当前页面中,在Vk所处的窗口中播放该第一流媒体文件,在该第一流媒体文件(例如Vk)的下方呈现有一个或多个流媒体文件(例如Vk+1、Vk+2、Vk+3、Vk+4……Vk+N、Vk+N+1)。用户设备基于该一个或多个流媒体文件(例如Vk+1、Vk+2、Vk+3、Vk+4……Vk+N、Vk+N+1)的排列顺序进行缓冲操作。
在一些实施例中,所述对所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作,包括步骤S1021(未示出)以及步骤S1022 (未示出)。在步骤S1021中,用户设备对于所述一个或多个第二流媒体文件中至少一个目标第二流媒体文件,根据所述目标第二流媒体文件在所述播放列表中的次序信息确定所述目标第二流媒体文件的缓冲控制参数信息;在步骤S1022中,用户设备根据所述目标第二流媒体文件的缓冲控制参数信息,对所述目标第二流媒体文件执行缓冲操作。在一些实施例中,所述播放列表中包括一个或多个第二流媒体文件,无论是哪种播放模式下的播放列表,每个第二流媒体文件在该播放列表中都有其对应的次序信息(例如第一个、第二个……第N个、第N+1个),相应的,目标第二流媒体文件(例如在缓冲完成第一流媒体文件后,需要缓冲的下一个流媒体文件)也有其对应的次序信息。参考图2所示的为第一流媒体文件(例如Vk)所属的播放列表,该播放列表包括一个或多个第二流媒体文件(例如Vk+1、Vk+2、Vk+3、Vk+4……Vk+N、 Vk+N+1),其中,每个第二流媒体文件按照各自的次序信息按序排列在该播放列表中。
例如,在播放列表中,第一流媒体文件列于该播放列表的首位(例如图2中的Vk),目标第二流媒体文件列于该播放列表的第N+1位(例如图 2中的Vk+N+1),用户设备根据该目标第二流媒体文件在该播放列表中的次序信息(例如Vk+N+1),计算从第一流媒体文件开始(例如Vk)到播放完目标第二流媒体文件(例如Vk+N+1)所需的播放时长(例如T1)、缓冲从第一流媒体文件开始(例如Vk)到缓冲完目标第二流媒体文件(例如Vk+N+1) 所需的缓冲时长(例如T2),从而得到该目标第二流媒体文件的缓冲控制参数信息(例如该播放时长T1以及该缓冲时长T2)。进一步地,用户设备根据该缓冲控制参数信息对该目标第二流媒体文件执行缓冲操作,例如,根据该缓冲控制参数信息确定该目标第二流媒体文件的最晚缓冲时刻,进而在该最晚缓冲时刻对该目标第二流媒体文件开始执行缓冲操作。在最晚缓冲时刻才开始对该目标第二流媒体文件执行缓冲操作,可以避免过早的提前缓冲该目标第二流媒体文件,若在缓冲完该目标第二流媒体文件后,用户并没有播放该目标第二流媒体文件,则会造成对流量的浪费,同时也是对网络资源的浪费。上述缓冲控制参数信息仅为举例,旨在说明确定该所述缓冲参数控制信息的目的是对目标第二流媒体文件执行缓冲操作,例如,确定该目标第二流媒体文件的最晚缓冲时刻,从而可以在该最晚缓冲时刻对该目标第二流媒体文件执行缓冲操作。下面将具体介绍如何根据该缓冲控制参数信息对该目标第二流媒体文件执行缓冲操作。
在一些实施例中,所述目标第二流媒体文件的缓冲控制参数信息包括以下至少任一项:
(1)播放所述第一流媒体文件以及所有第三流媒体文件所需的第一时长信息,其中,所述第三流媒体文件属于所述一个或多个第二流媒体文件、且在所述播放列表中列于所述目标第二流媒体文件之前。例如,参考图2,第一流媒体文件Vk为当前播放的流媒体文件,目标第二流媒体文件Vk+N+1与该第一流媒体文件Vk之间包括多个第三流媒体文件(例如Vk+1、Vk+2、Vk+3、 Vk+4……Vk+N)。所述第一时长信息为播放该第一流媒体文件Vk以及该多个第三流媒体文件(Vk+1、Vk+2、Vk+3、Vk+4……Vk+N)的时长(例如15分钟)。当然,根据该第一时长信息也可以确定播放完第三流媒体文件Vk+N时所对应的时刻,例如,以开始播放第一流媒体文件的起始点的时刻作为起始点0时刻 (例如9:00),则基于该第一时长信息(例如15分钟),可确定播放完第三流媒体文件Vk+N所对应的时刻(例如9:15)。在一些实施例中,每个流媒体文件都有其对应的播放文件,该播放文件中包括每个流媒体文件的播放时长信息,用户设备基于该第一流媒体文件以及多个第三流媒体文件的标识信息(例如名称)从服务器获取对应的播放文件,并可进一步地获取该第一流媒体文件以及多个第三流媒体文件对应的播放时长信息,将该播放时长信息相加即可得到该第一时长信息。
(2)缓冲所述第一流媒体文件以及所有第三流媒体文件所需的第二时长信息。例如,继续参考图2,第一流媒体文件包括Vk,第三流媒体文件包括 Vk+1、Vk+2、Vk+3、Vk+4……Vk+N。用户设备获取该第一流媒体文件以及多个第三流媒体文件的播放文件,其中,该播放文件包括流媒体文件的文件大小信息,进一步地,将该第一流媒体文件与多个第三流媒体文件的文件大小信息相加即可得到总的文件大小信息。用户设备检测可用于缓冲该第一流媒体文件以及多个第三流媒体文件的缓冲速度(例如平均缓冲速度)。在一些实施例中,将计算得出的总的文件大小除以该缓冲速度即可得到该第二时长信息(例如10分钟)。当然,根据该第二时长信息也可以确定缓冲完第三流媒体文件 Vk+N时所对应的时刻,例如,以开始缓冲第一流媒体文件的起始点的时刻作为起始点0时刻(例如9:00),则基于该第二时长信息(例如10分钟),可确定缓冲完第三流媒体文件Vk+N所对应的时刻(例如9:10)。
(3)缓冲所述目标第二流媒体文件所需的第三时长信息。例如,继续参考图2,目标第二流媒体文件为Vk+N+1,所述第三时长信息为缓冲该目标第二流媒体文件Vk+N+1所需的时长信息(例如2分钟)。
综上所述,所述目标第二流媒体文件的缓冲控制参数信息包括但不限于该第一时长信息(例如T1)、第二时长信息(例如T2)以及第三时长信息(例如T3)。进一步地,基于该第一时长信息(例如T1)、第二时长信息(例如T2) 以及第三时长信息(例如T3)对目标第二流媒体文件(例如Vk+N+1)执行缓冲操作。例如,基于该缓冲控制参数信息确定开始缓冲该目标第二流媒体文件的缓冲时刻,从而在该缓冲时刻开始对该目标第二流媒体文件执行缓冲操作。在一些实施例中,通过确定该缓冲时刻可以避免对目标第二流媒体文件的过早缓冲,进而避免对流量的浪费。
下面结合具体的实施例介绍如何根据该缓冲控制参数信息对该目标第二流媒体文件执行缓冲操作。
在一些实施例中,所述目标第二流媒体文件的缓冲控制参数信息包括所述第一时长信息与所述第二时长信息;其中,所述步骤S1022包括:若所述第一时长信息小于或等于所述第二时长信息,生成并提供网络警示信息或网络切换信息;否则,根据所述目标第二流媒体文件的缓冲控制参数信息,对所述目标第二流媒体文件执行缓冲操作。若第一时长信息(播放第一流媒体文件以及多个第三流媒体文件所需的总时长)小于或等于第二时长信息(缓冲第一流媒体文件以及多个第三流媒体文件所需的总的缓冲时长),则说明当前的网络状况(例如网速)很差,不利于在线播放流媒体文件,在该情况下,为了依然能保障用户有一个良好的体验,在一些实施例中,通过生成并提供网络警示信息或者网络切换信息的方式来保证该良好的用户体验。在一些实施例中,所述网络警示信息包括但不限于“当前信号较差,请切换至其他网络”的语言方式或者以“!”的符号方式提示用户可手动切换至其他网络进行在线播放,或者停止在线缓冲播放流媒体文件。在一些实施例中,所述网络切换信息包括但不限于向用户呈现推荐的无线网络的推荐信息(例如wifi1的信号较强,推荐使用wifi1),或者,直接为用户切换至当前信号较好的无线网络(例如wifi1)后向用户呈现网络切换信息(例如“当前网络较差,已为您切换至wifi1”)。通过生成并提供网络警示信息或者网络切换信息,可以在网络状况不好的情况下,依然能够最大限度的保障用户有一个良好的体验。若第一时长信息大于第二时长信息,则说明当前的网络状况可用于在线播放流媒体文件,可根据目标第二流媒体文件的缓冲控制参数信息,对该目标第二流媒体文件执行缓冲操作。
在一些实施例中,所述目标第二流媒体文件的缓冲控制参数信息包括所述第一时长信息、所述第二时长信息与所述第三时长信息;其中,所述步骤 S1022包括:若所述第一时长信息大于所述第二时长信息与所述第三时长信息之和,在早于或等于第一时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第一时刻等于在所述第一时长信息结束时刻前,所述第三时长信息所对应的时刻区间的起始时刻;否则,在早于或等于第二时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第二时刻为所述第二时长信息所对应的时刻区间的结束时刻。
例如,参见图2以及图4,其中,节点0表示开始播放第一流媒体文件 Vk时所对应的时刻;节点a表示播放完第一流媒体文件Vk至第三流媒体文件Vk+N时所对应的时刻,即第一时长信息的结束时刻;节点b表示第一时刻,若第一时长信息大于第二时长信息与第三时长信息之和,则在早于或等于该节点b对应的时刻开始对该目标第二流媒体文件Vk+N+1执行缓冲操作。则该第一时刻等于在第一时长信息结束时刻前(例如从节点a开始向前推算),所述第三时长信息所对应的时刻区域的起始时刻(即节点a与节点b之间的区域为第三时长信息对应的时刻区域,该时刻区域的起始时刻—节点b为该第一时刻)。例如,播放第一流媒体文件的开始时刻为0时刻,该第一时长信息为15分钟,可知播放完第三流媒体文件Vk+N的时刻为第15分钟。第三时长信息为10分钟,则在第一时长信息结束时刻前,第三时长信息所对应的时刻区间为[10,15],则第一时刻为该时刻区间[10,15]的起始时刻(第10分钟),则在早于或者等于第10分钟时对目标第二流媒体文件Vk+N+1执行缓冲操作。最晚在第10分钟对该目标第二流媒体文件Vk+N+1执行缓冲操作,即尽量往后压缩对目标第二流媒体文件Vk+N+1执行缓冲操作的第一时刻。这样可以避免缓存过多文件但中途用户退出播放而导致的流量多余消耗和缓存空间的不必要占用。
否则(第一时长信息小于或等于第二时长信息与第三时长信息之和),在早于或等于第二时刻开始对目标第二流媒体文件执行缓冲操作。其中,该第二时刻等于第二时长信息所对应的时刻区间的结束时刻。继续参见图2以及图4,第二时长信息为缓冲第一流媒体文件Vk至第三流媒体文件Vk+N所需的缓冲时长。例如,缓冲第一流媒体文件Vk的开始时刻为0时刻,该第二时长信息为12分钟,可知缓冲完第三流媒体文件Vk+N的时刻为第12分钟(例如节点c)。若第一时长信息小于或等于第二时长信息与第三时长信息之和,则在早于或等于第二时刻开始对目标第二流媒体文件Vk+N+1执行缓冲操作。在图4中,第二时长信息(12分钟)对应的时刻区间为[0,12],则第二时刻为该时刻区间[0,12]的结束时刻(第12分钟),在早于或者等于第12分钟时对目标第二流媒体文件Vk+N+1执行缓冲操作。最晚在第12分钟对该目标第二流媒体文件Vk+N+1执行缓冲操作,即尽量往后压缩对目标第二流媒体文件Vk+N+1执行缓冲操作的第一时刻。这样可以避免缓存过多文件但中途用户退出播放而导致的流量多余消耗和缓存空间的不必要占用。
在一些实施例中,所述步骤S1022包括:若所述第一时长信息小于或等于所述第二时长信息,生成并提供网络警示信息或网络切换信息;否则,若所述第一时长信息大于所述第二时长信息与所述第三时长信息之和,在早于或等于所述第一时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第一时刻等于在所述第一时长信息结束时刻前,所述第三时长信息所对应的时刻区间的起始时刻;否则,在早于或等于所述第二时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第二时刻为所述第二时长信息所对应的时刻区间的结束时刻。在一些实施例中,在满足第一时长信息大于第二时长信息,且第一时长信息大于第二时长信息与第三时长信息之和的前提下,用户设备在早于或等于第一时刻开始对目标第二流媒体文件执行缓冲操作;在满足第一时长信息大于第二时长信息,且第一时长信息小于或等于第二时长信息与第三时长信息之和,则用户设备在早于或等于第二时刻开始对目标第二流媒体文件执行缓冲操作。
若第一时长信息(播放第一流媒体文件以及多个第三流媒体文件所需的总时长)小于或等于第二时长信息(缓冲第一流媒体文件以及多个第三流媒体文件所需的总的缓冲时长),则说明当前的网络状况(例如网速)很差,不利于在线播放流媒体文件,在该情况下,为了依然能保障用户有一个良好的体验,在一些实施例中,通过生成并提供网络警示信息或者网络切换信息的方式来保证该良好的用户体验。在一些实施例中,所述网络警示信息包括但不限于“当前信号较差,请切换至其他网络”的语言方式或者以“!”的符号方式提示用户可手动切换至其他网络进行在线播放,或者停止在线缓冲播放流媒体文件。在一些实施例中,所述网络切换信息包括但不限于向用户呈现推荐的无线网络的推荐信息(例如wifi1的信号较强,推荐使用wifi1),或者,直接为用户切换至当前信号较好的无线网络(例如wifi1)后向用户呈现网络切换信息(例如“当前网络较差,已为您切换至wifi1”)。通过生成并提供网络警示信息或者网络切换信息,可以在网络状况不好的情况下,依然能够最大限度的保障用户有一个良好的体验。若第一时长信息大于第二时长信息,则说明当前的网络状况可用于在线播放流媒体文件,可根据目标第二流媒体文件的缓冲控制参数信息,对该目标第二流媒体文件执行缓冲操作。
例如,若所述第一时长信息小于或等于所述第二时长信息,且第一时长信息大于第二时长信息与第三时长信息之和。参见图2以及图4,其中,节点 0表示开始播放第一流媒体文件Vk时所对应的时刻;节点a表示播放完第一流媒体文件Vk至第三流媒体文件Vk+N时所对应的时刻,即第一时长信息的结束时刻;节点b表示第一时刻,若第一时长信息大于第二时长信息与第三时长信息之和,则在早于或等于该节点b对应的时刻开始对该目标第二流媒体文件Vk+N+1执行缓冲操作。则该第一时刻等于在第一时长信息结束时刻前 (例如从节点a开始向前推算),所述第三时长信息所对应的时刻区域的起始时刻(即节点a与节点b之间的区域为第三时长信息对应的时刻区域,该时刻区域的起始时刻—节点b为该第一时刻)。例如,播放第一流媒体文件的开始时刻为0时刻,该第一时长信息为15分钟,可知播放完第三流媒体文件 Vk+N的时刻为第15分钟。第三时长信息为10分钟,则在第一时长信息结束时刻前,第三时长信息所对应的时刻区间为[10,15],则第一时刻为该时刻区间[10,15]的起始时刻(第10分钟),则在早于或者等于第10分钟时对目标第二流媒体文件Vk+N+1执行缓冲操作。最晚在第10分钟对该目标第二流媒体文件Vk+N+1执行缓冲操作,即尽量往后压缩对目标第二流媒体文件Vk+N+1执行缓冲操作的第一时刻。这样可以避免缓存过多文件但中途用户退出播放而导致的流量多余消耗和缓存空间的不必要占用。
否则,在满足第一时长信息大于第二时长信息,且第一时长信息小于或等于第二时长信息与第三时长信息之和,则用户设备在早于或等于第二时刻开始对目标第二流媒体文件执行缓冲操作,在早于或等于第二时刻开始对目标第二流媒体文件执行缓冲操作。其中,该第二时刻等于第二时长信息所对应的时刻区间的结束时刻。继续参见图2以及图4,第二时长信息为缓冲第一流媒体文件Vk至第三流媒体文件Vk+N所需的缓冲时长。例如,缓冲第一流媒体文件Vk的开始时刻为0时刻,该第二时长信息为12分钟,可知缓冲完第三流媒体文件Vk+N的时刻为第12分钟(例如节点c)。若第一时长信息小于或等于第二时长信息与第三时长信息之和,则在早于或等于第二时刻开始对目标第二流媒体文件Vk+N+1执行缓冲操作。在图4中,第二时长信息(12 分钟)对应的时刻区间为[0,12],则第二时刻为该时刻区间[0,12]的结束时刻(第12分钟),在早于或者等于第12分钟时对目标第二流媒体文件Vk+N+1执行缓冲操作。最晚在第12分钟对该目标第二流媒体文件Vk+N+1执行缓冲操作,即尽量往后压缩对目标第二流媒体文件Vk+N+1执行缓冲操作的第一时刻。这样可以避免缓存过多文件但中途用户退出播放而导致的流量多余消耗和缓存空间的不必要占用。
在一些实施例中,所述步骤S1021包括:检测所述用户设备的当前可用带宽信息;对于所述一个或多个第二流媒体文件中至少一个目标第二流媒体文件,根据所述用户设备的当前可用带宽信息,以及所述目标第二流媒体文件在所述播放列表中的次序信息,确定所述目标第二流媒体文件的缓冲控制参数信息。在一些实施例中,所述可用带宽信息包括可用于缓冲当前播放的流媒体文件的带宽信息,例如,同样的带宽(例如终端的实时带宽)下,不同的流媒体播放应用对应的可用带宽信息可能是不同的,因此,在一些实施例中,所述可用带宽信息为可用于播放当前的第一流媒体文件的流媒体播放应用的可用带宽(例如平均网速)。用户设备检测该可用带宽信息,并基于该可用带宽信息、以及目标第二流媒体文件在播放列表中的次序信息,确定缓冲控制参数信息。例如,在该可用带宽信息的基础上,用户设备获取该第一流媒体文件以及多个第三流媒体文件的播放文件,其中,该播放文件包括流媒体文件的文件大小信息,进一步地,将该第一流媒体文件与多个第三流媒体文件的文件大小信息相加即可得到总的文件大小信息。用户设备检测可用于缓冲该第一流媒体文件以及多个第三流媒体文件的缓冲速度(例如平均缓冲速度)。在一些实施例中,将计算得出的总的文件大小除以该缓冲速度即可得到该第二时长信息(例如10分钟)。当然,根据该第二时长信息也可以确定缓冲完第三流媒体文件Vk+N时所对应的时刻,例如,以开始缓冲第一流媒体文件的起始点的时刻作为起始点0时刻(例如9:00),则基于该第二时长信息(例如10分钟),可确定缓冲完第三流媒体文件Vk+N所对应的时刻(例如 9:10)。例如,继续参考图2,在该当前可用带宽信息的基础上,用户设备根据缓冲速度以及目标第二流媒体文件Vk+N+1的文件大小计算第三时长信息 (例如2分钟)。从而在当前可用带宽信息的基础上,根据目标第二流媒体文件在播放列表中的次序信息确定该目标第二流媒体文件的缓冲控制参数信息。
在一些实施例中,所述方法还包括步骤S103(未示出),在步骤S103中,若所述当前网络状况信息满足预定的网络可用条件,响应于用户对第一目标流媒体文件的选择操作,基于所述选择操作对所述第一目标流媒体文件执行缓冲操作。在一些实施例中,若当前网络状况信息满足预定的网络可用条件,例如,该网络可用条件满足正常的对流媒体文件的缓冲操作,因此,为了节约资源以及避免不必要的流量损耗,用户设备响应于用户对第一目标流媒体文件的选择操作,对该第一目标流媒体文件执行缓冲操作即可。在一些实施例中,所述网络可用条件包括可用在缓冲流媒体文件上的网速(例如网速大于或者等于4M),若当前网络状况信息满足预定的网络可用条件(例如当前的可用网速大于或者等于网速阈值信息,可以用于正常的缓冲流媒体文件),用户可手动选择下一播放流媒体文件。例如,用户设备中不存在该第一流媒体文件所属的播放列表,在第一流媒体文件播放完成,或者还没有播放完成时,用户可手动选择第一目标流媒体文件,例如,该第一目标流媒体文件可以是任一一个其他的流媒体文件,用户通过点击该第一目标流媒体文件进行对该第一目标流媒体文件的选择操作,进一步地,用户设备对该第一目标流媒体文件执行缓冲操作。当然,本领域技术人员应能理解,以上所述的对第一目标流媒体文件的选择操作仅为举例,其他现有的或今后可能出现的选择操作如能适用于本申请,也包含在本申请的保护范围内,并以引用的方式包含于此。例如,在一些实施例中,用户设备中存在包含该第一流媒体文件的播放列表,用户设备从该播放列表中的一个或多个流媒体文件中进行选择操作,以确定第一目标流媒体文件。
在一些实施例中,所述方法还包括步骤S104(未示出),在步骤S104中,若所述当前网络状况信息满足预定的网络可用条件,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件在所属播放列表中的下一个流媒体文件执行缓冲操作。在一些实施例中,当用户设备中存在包含第一流媒体文件的播放列表时,为了尽可能的保障播放的流畅性,用户设备基于该播放列表自动为用户缓冲下一流媒体文件。
例如,参考图2,用户设备中存在包含第一流媒体文件的播放列表,并且,在该播放列表呈现有一个或多个流媒体文件,该一个或多个流媒体文件包括当前播放的第一流媒体文件(例如Vk),以及列于该第一流媒体文件(例如 Vk)之后的一个或多个第二流媒体文件(例如Vk+1、Vk+2、Vk+3、Vk+4……Vk+N、 Vk+N+1)。所述网络可用条件包括可用在缓冲流媒体文件上的网速(例如网速大于或者等于4M),若当前网络状况信息满足预定的网络可用条件,则在第一流媒体文件(例如Vk)缓冲完成后,用户设备对该播放列表中的下一个流媒体文件(例如Vk+1)执行缓冲操作。由于当前的网络状况正常,因此,当第一流媒体文件缓冲完成后,继续对该播放列表中的下一个流媒体文件执行缓冲操作即可,可以尽可能地保障播放的流畅性。
在一些实施例中,所述步骤S102包括:若所述当前网络状况信息满足预定的缓冲触发条件,且所述用户设备中存在包含所述第一流媒体文件的播放列表,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作,其中,所述一个或多个第二流媒体文件在所述播放列表中列于所述第一流媒体文件之后。在一些实施例中,用户通过用户设备播放的是播放列表中的第一流媒体文件,此时,若网络状况不正常(例如网速较差),则在该第一流媒体文件缓冲完成后,用户设备即对该播放列表中列于该第一流媒体文件之后的一个或多个第二流媒体文件执行缓冲操作,以保证播放的流畅性。
在一些实施例中,所述方法还包括步骤S105(未示出),在步骤S105中,若所述当前网络状况信息满足预定的缓冲触发条件,且所述用户设备中不存在包含所述第一流媒体文件的播放列表,响应于用户对第一目标流媒体文件的选择操作,基于所述选择操作对所述第一目标流媒体文件执行缓冲操作。在一些实施例中,用户通过用户设备播放没有播放列表的第一流媒体文件,例如,该第一流媒体文件是被分享到社交空间中的音频文件,但是,当前的网络状况不正常(例如网速较差),则用户设备基于用户的选择操作,对第一目标流媒体文件执行缓冲操作。例如,在该第一流媒体文件播放完成,或者没有播放完成时,用户点击选择了某流媒体播放应用的第一目标流媒体文件,用户设备基于该用户对该第一目标流媒体文件的选择操作,对该第一目标流媒体文件执行缓冲操作。
图5示出了根据本申请一个实施例的一种用于控制流媒体播放的方法流程图。用户设备播放当前文件(例如第一流媒体文件),并检测网络状态 (例如当前网络状况信息)。若当前网络状态较差(例如满足预定的缓冲触发条件),则判断是否存在播放列表(例如第一流媒体文件所属的播放列表)。若存在,缓冲完当前播放文件后根据播放列表继续缓冲(例如对该播放列表中列于该第一流媒体文件之后的一个或多个第二流媒体文件执行缓冲操作)。其中,在继续缓冲该播放列表时,该方法还包括检测当前平均网速(例如当前可用带宽信息),在该当前平均网速的前提下,计算完成第 1首歌(例如当前播放的第一流媒体文件)至N首歌(例如目标第二流媒体文件的前一个第二流媒体文件)的播放时长T1(例如第一时长信息);获取第1首歌(例如当前播放的第一流媒体文件)至N首歌的总文件大小,并计算完成第1至N首歌的缓冲所需时长T2(例如第二时长信息);获取第N+1首歌(例如目标第二流媒体文件)的总文件大小,并计算完成第N+1首歌的缓冲所需时长T3(例如第三时长信息)。若T1>T2,且T1- T2>T3,则最晚自(T1-T3)时刻开始缓存第N+1首歌(例如目标第二流媒体文件);若T1>T2,且T1-T2<=T3,则最晚自T2时刻开始缓存第N+1 首歌(例如目标第二流媒体文件);若T1<=T2,则说明网速(例如当前可用带宽信息)极差,提示用户(例如生成并提供网络警示信息),或者探测是否有其他优选网络(例如生成并提供网络切换信息),提示或帮助用户网络切换。其中,该方法还包括:若网络状态(例如当前网络状况信息)正常,当前播放文件缓冲完成后停止,手动(例如响应于用户的选择操作) 或自动切换至下一播放文件后开始缓冲新文件;该方法还包括:若不存在播放列表,当前播放文件缓冲完成后停止,手动切换(例如响应于用户的选择操作)至下一播放文件(例如第一目标流媒体文件)后开始缓冲新文件(例如第一目标流媒体文件)。
根据本申请的一个方面,本申请提供了一种用于控制流媒体文件的设备。参考图5,该设备包括一一模块以及一二模块。
具体而言,一一模块,用于在用户设备播放第一流媒体文件的过程中检测所述用户设备的当前网络状况信息。在一些实施例中,所述用户设备包括但不限于手机、平板、笔记本电脑等计算设备,例如,用户设备中安装或者自带有流媒体播放器,通过该流媒体播放器进行流媒体文件的播放。在一些实施例中,所述第一流媒体文件为当前播放的流媒体文件。在一些实施例中,所述当前网络状况信息包括但不限于当前网络状况的丢包率、当前网络状况的网速、当前网络状况的传输速率,例如,该第一流媒体文件没有下载储存在用户设备中,该用户设备当前连接使用wifi1播放该第一流媒体文件,该 wifi1对应的网络状况信息包括但不限于该wifi1对应的丢包率、该wifi1对应的网速、该wifi1对应的传输速率。
一二模块,用于若所述当前网络状况信息满足预定的缓冲触发条件,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作,其中,所述一个或多个第二流媒体文件在所述播放列表中列于所述第一流媒体文件之后。在一些实施例中,所述缓冲触发条件包括但不限于当前网络状况的丢包率高于丢包率阈值信息、当前网络状况的带宽低于带宽阈值信息。当前网络状况的丢包率、带宽以及传输速率等信息,在一定程度上可以反映出当前的网络状况的好坏(例如网络是否稳定)。例如,当前网络状况的丢包率高于一定的丢包率阈值信息,说明当前网络状况不稳定,此时,在线播放流媒体文件很容易出现卡顿,影响用户体验。因此,在当前网络状况的丢包率高于丢包率阈值信息时(即当前网络状况信息满足预定的缓冲触发条件),在当前播放的第一流媒体文件缓冲完成后,触发对该第一流媒体文件所属的播放列表中的一个或多个第二流媒体文件的缓冲操作。
在此,有关上述一一模块、一二模块的具体实现方式的示例与图1中有关步骤S101、S102的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述缓冲触发条件是为了触发对第二流媒体文件的缓冲操作,现有技术中,在线播放流媒体文件时,是通过边播放边缓冲的方式进行的,当当前网络状况不好时,很容易出现卡顿现象,因此,本实施例基于缓冲触发条件,在第一流媒体文件缓冲完成后,对播放列表中的列于该第一流媒体文件之后的一个或多个第二流媒体文件执行缓冲操作。例如,当第一流媒体文件缓冲完成,但是还没有播放完成时,在此时执行对第二流媒体文件的缓冲操作,当该第一流媒体文件播放完成后,可顺利的继续进行第二流媒体文件的播放,从而给用户一个良好的视听体验。在一些实施例中,所述缓冲触发条件包括以下任一项:
(1)当前网络状况的丢包率高于丢包率阈值信息。网络丢包率是指数据包丢失部分与所传数据包总数的比值,正常传输时,网络丢包率应该控制在一定范围内。则通过检测当前网络状况的丢包率高于丢包率阈值信息,则可判断该网络不稳定,存在延迟,存在丢包情况,通常用ping命令即可检测出来。例如,用户设备中安装有可用于检测网络丢包率的应用,在该用户设备播放第一流媒体文件的过程中,通过该应用检测当前网络(例如wifi1)的丢包率,用户设备通过该应用的接口获取该应用检测的当前网络状况的丢包率。再例如,在用户设备(例如计算机)的桌面上按win+R打开运行窗口,输入 CMD打开命令提示符窗口,在命令提示符窗口输入ping你要测试的网址-t 进行测试,用服务器测试网络丢包,数据包:已发送=4,已接收=4,丢失=0(0%丢失),往返行程的估计时间(以毫秒为单位):最短=28ms,最长= 35ms,平均=32ms,上述信息意思是说,我们向服务器发送了4条数据的请求,结果全部收到4条数据包的返回,没有丢失,往返的时间最短为28ms,最长为35ms,平均为32ms。这就说明我们的网络是稳定的,没有数据丢失,当然一般来说ping的时间越久越能测试网络的稳定性,一般ping一分钟左右,不丢包,就说明网络很稳定,该用户设备可从该服务器获取检测得到的当前网络状况的丢包率。
(2)当前网络状况的带宽低于带宽阈值信息。例如,用户设备中安装有测试带宽的应用,通过该应用可实时检测当前网络状况的带宽,用户设备通过该应用的应用接口获取其检测的带宽。若该带宽低于带宽阈值信息,则确定满足缓冲触发条件。进而触发对第一流媒体文件所属的播放列表中的一个或多个第二流媒体文件的缓冲操作。
(3)当前网络状况的传输速率低于传输速率阈值信息。例如,用户设备中安装有测试传输速率的应用,通过该应用可实时检测当前网络状况的传输速率,用户设备通过该应用的应用接口获取其检测的传输速率。若该传输速率低于传输速率阈值信息,则确定满足缓冲触发条件。进而触发对第一流媒体文件所属的播放列表中的一个或多个第二流媒体文件的缓冲操作。
当然,本领域技术人员应能理解,以上所述的缓冲触发条件仅为举例,其他现有的或今后可能出现的缓冲触发条件如能适用于本申请,也包含在本申请的保护范围内,并以引用的方式包含于此。
在一些实施例中,用户设备中存在第一流媒体文件所属的播放列表,基于用户的设置选择,可能存在不同的播放模式的播放列表。例如,用户设备提供了多种播放模式(例如循环播放模式、顺序播放模式、随机播放模式、推荐播放模式等),用户可通过选择操作确定其中的一种播放模式。基于用户当前选择的不同的播放模式,用户设备根据用户选择的播放模式,以及该播放模式对应的算法确定每一种播放模式对应的播放列表,从而可根据确定出的播放列表确定第一流媒体文件、第二流媒体文件在该播放列表中的次序信息。所述播放列表包括以下任一项:
(1)基于用户设置的列表顺序对应的一个或多个流媒体文件。例如,用户选择了用户设备提供的多种播放模式中的循环播放模式。例如,用户建立了流媒体列表a。其中,该流媒体列表a中包括一个或多个流媒体文件。在一些实施例中,按照被添加到该流媒体列表a中的顺序,该一个或多个流媒体文件按序排列;在一些实施例中,用户可通过设置操作对该一个或多个流媒体文件的顺序进行调整(例如拖动其中的一个流媒体文件,以将其移动到目标位置)。
(2)随机选择的一个或多个流媒体文件。例如,用户选择了用户设备提供的多种播放模式中的随机播放模式。例如,在该随机播放模式下,用户设备基于随机播放算法(例如Shuffle算法、Random算法)确定播放列表,该播放列表中包括一个或多个流媒体文件,其中,当前播放的是第一流媒体文件,在该播放列表中列于该第一流媒体文件之后的一个或多个流媒体文件为第二流媒体文件,该第一流媒体文件以及该一个或多个第二流媒体文件均属于用户设备随机选择的该一个或多个流媒体文件。
(3)根据所述用户的用户画像信息推荐的一个或多个流媒体文件。用户画像又称用户角色,作为一种勾画目标用户、联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的应用。用户画像在各领域得到了广泛的应用。我们在实际操作的过程中往往会以最为浅显和贴近生活的话语将用户的属性、行为与期待联结起来。作为实际用户的虚拟代表,用户画像所形成的用户角色并不是脱离产品和市场之外所构建出来的,形成的用户角色需要有代表性能代表产品的主要受众和目标群体。例如,用户选择了用户设备提供的多种播放模式中的推荐播放模式。用户设备从服务器(例如流媒体文件播放器对应的服务器)中获取该用户对应的用户画像信息(例如该用户喜欢民谣、纯音乐、英文歌),进一步地,该用户设备根据获取的该用户画像信息从该服务器中获取对应的一个或多个流媒体文件(例如民谣、纯音乐、英文歌),并基于获取的该一个或多个流媒体文件生成播放列表,该播放列表中包括根据该用户的用户画像信息推荐的该一个或多个流媒体文件。
(4)播放所述第一流媒体文件的当前页面中的一个或多个流媒体文件。在一些实施例中,所述流媒体文件为音频文件;在另一些实施例中,所述流媒体文件为视频文件(例如小视频)。参考图4,图4呈现的是播放第一流媒体文件(例如Vk)的当前页面,在该当前页面中,在Vk所处的窗口中播放该第一流媒体文件,在该第一流媒体文件(例如Vk)的下方呈现有一个或多个流媒体文件(例如Vk+1、Vk+2、Vk+3、Vk+4……Vk+N、Vk+N+1)。用户设备基于该一个或多个流媒体文件(例如Vk+1、Vk+2、Vk+3、Vk+4……Vk+N、Vk+N+1)的排列顺序进行缓冲操作。
在一些实施例中,所述一二模块包括一二一模块(未示出)以及一二二模块(未示出)。一二一模块,用于对于所述一个或多个第二流媒体文件中至少一个目标第二流媒体文件,根据所述目标第二流媒体文件在所述播放列表中的次序信息确定所述目标第二流媒体文件的缓冲控制参数信息;一二二模块,用于根据所述目标第二流媒体文件的缓冲控制参数信息,对所述目标第二流媒体文件执行缓冲操作。所述一二一模块、所述一二二模块的具体实现方式分别与前述步骤S1021、步骤S1022的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述目标第二流媒体文件的缓冲控制参数信息包括以下至少任一项:
(1)播放所述第一流媒体文件以及所有第三流媒体文件所需的第一时长信息,其中,所述第三流媒体文件属于所述一个或多个第二流媒体文件、且在所述播放列表中列于所述目标第二流媒体文件之前。例如,参考图2,第一流媒体文件Vk为当前播放的流媒体文件,目标第二流媒体文件Vk+N+1与该第一流媒体文件Vk之间包括多个第三流媒体文件(例如Vk+1、Vk+2、Vk+3、 Vk+4……Vk+N)。所述第一时长信息为播放该第一流媒体文件Vk以及该多个第三流媒体文件(Vk+1、Vk+2、Vk+3、Vk+4……Vk+N)的时长(例如15分钟)。当然,根据该第一时长信息也可以确定播放完第三流媒体文件Vk+N时所对应的时刻,例如,以开始播放第一流媒体文件的起始点的时刻作为起始点0时刻(例如9:00),则基于该第一时长信息(例如15分钟),可确定播放完第三流媒体文件Vk+N所对应的时刻(例如9:15)。在一些实施例中,每个流媒体文件都有其对应的播放文件,该播放文件中包括每个流媒体文件的播放时长信息,用户设备基于该第一流媒体文件以及多个第三流媒体文件的标识信息(例如名称)从服务器获取对应的播放文件,并可进一步地获取该第一流媒体文件以及多个第三流媒体文件对应的播放时长信息,将该播放时长信息相加即可得到该第一时长信息。
(2)缓冲所述第一流媒体文件以及所有第三流媒体文件所需的第二时长信息。例如,继续参考图2,第一流媒体文件包括Vk,第三流媒体文件包括 Vk+1、Vk+2、Vk+3、Vk+4……Vk+N。用户设备获取该第一流媒体文件以及多个第三流媒体文件的播放文件,其中,该播放文件包括流媒体文件的文件大小信息,进一步地,将该第一流媒体文件与多个第三流媒体文件的文件大小信息相加即可得到总的文件大小信息。用户设备检测可用于缓冲该第一流媒体文件以及多个第三流媒体文件的缓冲速度(例如平均缓冲速度)。在一些实施例中,将计算得出的总的文件大小除以该缓冲速度即可得到该第二时长信息(例如10分钟)。当然,根据该第二时长信息也可以确定缓冲完第三流媒体文件 Vk+N时所对应的时刻,例如,以开始缓冲第一流媒体文件的起始点的时刻作为起始点0时刻(例如9:00),则基于该第二时长信息(例如10分钟),可确定缓冲完第三流媒体文件Vk+N所对应的时刻(例如9:10)。
(3)缓冲所述目标第二流媒体文件所需的第三时长信息。例如,继续参考图2,目标第二流媒体文件为Vk+N+1,所述第三时长信息为缓冲该目标第二流媒体文件Vk+N+1所需的时长信息(例如2分钟)。
综上所述,所述目标第二流媒体文件的缓冲控制参数信息包括但不限于该第一时长信息(例如T1)、第二时长信息(例如T2)以及第三时长信息(例如T3)。进一步地,基于该第一时长信息(例如T1)、第二时长信息(例如T2) 以及第三时长信息(例如T3)对目标第二流媒体文件(例如Vk+N+1)执行缓冲操作。例如,基于该缓冲控制参数信息确定开始缓冲该目标第二流媒体文件的缓冲时刻,从而在该缓冲时刻开始对该目标第二流媒体文件执行缓冲操作。在一些实施例中,通过确定该缓冲时刻可以避免对目标第二流媒体文件的过早缓冲,进而避免对流量的浪费。
在一些实施例中,所述目标第二流媒体文件的缓冲控制参数信息包括所述第一时长信息与所述第二时长信息;其中,所述一二二模块用于:若所述第一时长信息小于或等于所述第二时长信息,生成并提供网络警示信息或网络切换信息;否则,根据所述目标第二流媒体文件的缓冲控制参数信息,对所述目标第二流媒体文件执行缓冲操作。所述一二二模块的具体实现方式分别与前述步骤S1022的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述目标第二流媒体文件的缓冲控制参数信息包括所述第一时长信息、所述第二时长信息与所述第三时长信息;其中,所述一二二模块用于:若所述第一时长信息大于所述第二时长信息与所述第三时长信息之和,在早于或等于第一时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第一时刻等于在所述第一时长信息结束时刻前,所述第三时长信息所对应的时刻区间的起始时刻;否则,在早于或等于第二时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第二时刻为所述第二时长信息所对应的时刻区间的结束时刻。所述一二二模块的具体实现方式分别与前述步骤S1022的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述一二二模块用于:若所述第一时长信息小于或等于所述第二时长信息,生成并提供网络警示信息或网络切换信息;否则,若所述第一时长信息大于所述第二时长信息与所述第三时长信息之和,在早于或等于所述第一时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第一时刻等于在所述第一时长信息结束时刻前,所述第三时长信息所对应的时刻区间的起始时刻;否则,在早于或等于所述第二时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第二时刻为所述第二时长信息所对应的时刻区间的结束时刻。所述一二二模块的具体实现方式分别与前述步骤S1022的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述一二一模块用于:检测所述用户设备的当前可用带宽信息;对于所述一个或多个第二流媒体文件中至少一个目标第二流媒体文件,根据所述用户设备的当前可用带宽信息,以及所述目标第二流媒体文件在所述播放列表中的次序信息,确定所述目标第二流媒体文件的缓冲控制参数信息。所述一二一模块的具体实现方式分别与前述步骤S1021的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还包括一三模块(未示出),一三模块用于,若所述当前网络状况信息满足预定的网络可用条件,响应于用户对第一目标流媒体文件的选择操作,基于所述选择操作对所述第一目标流媒体文件执行缓冲操作。所述一三模块的具体实现方式分别与前述步骤S103的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还包括一四模块(未示出),一四模块用于,若所述当前网络状况信息满足预定的网络可用条件,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件在所属播放列表中的下一个流媒体文件执行缓冲操作。所述一四模块的具体实现方式分别与前述步骤 S104的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述一二模块用于:若所述当前网络状况信息满足预定的缓冲触发条件,且所述用户设备中存在包含所述第一流媒体文件的播放列表,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作,其中,所述一个或多个第二流媒体文件在所述播放列表中列于所述第一流媒体文件之后。所述一二模块的具体实现方式分别与前述步骤S102的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还包括一五模块(未示出),一五模块用于,若所述当前网络状况信息满足预定的缓冲触发条件,且所述用户设备中不存在包含所述第一流媒体文件的播放列表,响应于用户对第一目标流媒体文件的选择操作,基于所述选择操作对所述第一目标流媒体文件执行缓冲操作。所述一五模块的具体实现方式分别与前述步骤S105的实施例相同或相近,故不再赘述,在此以引用方式包含于此。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
图7示出了可被用于实施本申请中所述的各个实施例的示例性系统;
如图7所示在一些实施例中,系统1000能够作为各所述实施例中的任意一个网络设备、第一用户设备或第二用户设备。在一些实施例中,系统1000可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备1020)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器1005)。
对于一个实施例,系统控制模块1010可包括任意适当的接口控制器,以向(一个或多个)处理器1005中的至少一个和/或与系统控制模块1010通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块1010可包括存储器控制器模块1030,以向系统存储器1015提供接口。存储器控制器模块1030可以是硬件模块、软件模块和/或固件模块。
系统存储器1015可被用于例如为系统1000加载和存储数据和/或指令。对于一个实施例,系统存储器1015可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器1015可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块1010可包括一个或多个输入/输出(I/O) 控制器,以向NVM/存储设备1020及(一个或多个)通信接口1025提供接口。
例如,NVM/存储设备1020可被用于存储数据和/或指令。NVM/存储设备1020可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器 (Hard Disk,HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备1020可包括在物理上作为系统1000被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备1020可通过网络经由(一个或多个)通信接口 1025进行访问。
(一个或多个)通信接口1025可为系统1000提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统1000可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器(例如,存储器控制器模块1030)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统1000可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统1000可具有更多或更少的组件和 /或不同的架构。例如,在一些实施例中,系统1000包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器 (RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器 (ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器 (MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (12)

1.一种用于控制流媒体播放的方法,其中,所述方法包括:
在用户设备播放第一流媒体文件的过程中检测所述用户设备的当前网络状况信息;
若所述当前网络状况信息满足预定的缓冲触发条件,响应于所述第一流媒体文件的缓冲完成事件信息,检测所述用户设备的当前可用带宽信息,对于所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件中至少一个目标第二流媒体文件,根据所述用户设备的当前可用带宽信息以及所述目标第二流媒体文件在所述播放列表中的次序信息确定所述目标第二流媒体文件的缓冲控制参数信息,其中,所述一个或多个第二流媒体文件在所述播放列表中列于所述第一流媒体文件之后,所述缓冲控制参数信息包括播放所述第一流媒体文件以及所有第三流媒体文件所需的第一时长信息,所述第三流媒体文件属于所述一个或多个第二流媒体文件、且在所述播放列表中列于所述目标第二流媒体文件之前;
根据所述目标第二流媒体文件的缓冲控制参数信息确定所述目标第二流媒体文件的最晚缓存时刻,并基于所述最晚缓存时刻对所述目标第二流媒体文件执行缓冲操作;
其中,所述缓冲触发条件包括以下任一项:
当前网络状况的丢包率高于丢包率阈值信息;
当前网络状况的带宽低于带宽阈值信息;
当前网络状况的传输速率低于传输速率阈值信息。
2.根据权利要求1所述的方法,其中,所述播放列表包括以下任一项:
基于用户设置的列表顺序对应的一个或多个流媒体文件;
随机选择的一个或多个流媒体文件;
根据所述用户的用户画像信息推荐的一个或多个流媒体文件;
播放所述第一流媒体文件的当前页面中的一个或多个流媒体文件。
3.根据权利要求1所述的方法,其中,所述目标第二流媒体文件的缓冲控制参数信息还包括以下至少任一项:
缓冲所述第一流媒体文件以及所有第三流媒体文件所需的第二时长信息;
缓冲所述目标第二流媒体文件所需的第三时长信息。
4.根据权利要求3所述的方法,其中,所述目标第二流媒体文件的缓冲控制参数信息包括所述第一时长信息与所述第二时长信息;
其中,所述根据所述目标第二流媒体文件的缓冲控制参数信息,对所述目标第二流媒体文件执行缓冲操作,包括:
若所述第一时长信息小于或等于所述第二时长信息,生成并提供网络警示信息或网络切换信息;否则,根据所述目标第二流媒体文件的缓冲控制参数信息,对所述目标第二流媒体文件执行缓冲操作。
5.根据权利要求3所述的方法,其中,所述目标第二流媒体文件的缓冲控制参数信息包括所述第一时长信息、所述第二时长信息与所述第三时长信息;
其中,所述根据所述目标第二流媒体文件的缓冲控制参数信息,对所述目标第二流媒体文件执行缓冲操作,包括:
若所述第一时长信息大于所述第二时长信息与所述第三时长信息之和,在早于或等于第一时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第一时刻等于在所述第一时长信息结束时刻前,所述第三时长信息所对应的时刻区间的起始时刻;否则,在早于或等于第二时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第二时刻为所述第二时长信息所对应的时刻区间的结束时刻。
6.根据权利要求5所述的方法,其中,所述若所述第一时长信息大于所述第二时长信息与所述第三时长信息之和,在早于或等于第一时刻开始对所述目标第二流媒体文件执行缓冲操作;否则,在早于或等于第二时刻开始对所述目标第二流媒体文件执行缓冲操作,包括:
若所述第一时长信息小于或等于所述第二时长信息,生成并提供网络警示信息或网络切换信息;否则,
若所述第一时长信息大于所述第二时长信息与所述第三时长信息之和,在早于或等于所述第一时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第一时刻等于在所述第一时长信息结束时刻前,所述第三时长信息所对应的时刻区间的起始时刻;否则,在早于或等于所述第二时刻开始对所述目标第二流媒体文件执行缓冲操作,其中,所述第二时刻为所述第二时长信息所对应的时刻区间的结束时刻。
7.根据权利要求1至6中任一项所述的方法,其中,所述方法还包括:
若所述当前网络状况信息满足预定的网络可用条件,响应于用户对第一目标流媒体文件的选择操作,基于所述选择操作对所述第一目标流媒体文件执行缓冲操作。
8.根据权利要求1至6中任一项所述的方法,其中,所述方法还包括:
若所述当前网络状况信息满足预定的网络可用条件,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件在所属播放列表中的下一个流媒体文件执行缓冲操作。
9.根据权利要求1所述的方法,其中,所述若所述当前网络状况信息满足预定的缓冲触发条件,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作,包括:
若所述当前网络状况信息满足预定的缓冲触发条件,且所述用户设备中存在包含所述第一流媒体文件的播放列表,响应于所述第一流媒体文件的缓冲完成事件信息,对所述第一流媒体文件所属播放列表中的一个或多个第二流媒体文件执行缓冲操作,其中,所述一个或多个第二流媒体文件在所述播放列表中列于所述第一流媒体文件之后。
10.根据权利要求9所述的方法,其中,所述方法还包括:
若所述当前网络状况信息满足预定的缓冲触发条件,且所述用户设备中不存在包含所述第一流媒体文件的播放列表,响应于用户对第一目标流媒体文件的选择操作,基于所述选择操作对所述第一目标流媒体文件执行缓冲操作。
11.一种用于控制流媒体播放的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至10中任一项所述方法的操作。
12.一种存储指令的计算机可读介质,所述指令在被执行时使得系统进行如权利要求1至10中任一项所述方法的操作。
CN201910629776.2A 2019-07-12 2019-07-12 一种用于控制流媒体播放的方法、设备及可读介质 Active CN110381355B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910629776.2A CN110381355B (zh) 2019-07-12 2019-07-12 一种用于控制流媒体播放的方法、设备及可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910629776.2A CN110381355B (zh) 2019-07-12 2019-07-12 一种用于控制流媒体播放的方法、设备及可读介质

Publications (2)

Publication Number Publication Date
CN110381355A CN110381355A (zh) 2019-10-25
CN110381355B true CN110381355B (zh) 2021-10-26

Family

ID=68252919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910629776.2A Active CN110381355B (zh) 2019-07-12 2019-07-12 一种用于控制流媒体播放的方法、设备及可读介质

Country Status (1)

Country Link
CN (1) CN110381355B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454393A (zh) * 2016-11-23 2017-02-22 天脉聚源(北京)传媒科技有限公司 一种视频缓存方法及装置
CN108055250A (zh) * 2017-12-01 2018-05-18 暴风集团股份有限公司 视频播放装置、方法及终端
CN108259975A (zh) * 2018-02-01 2018-07-06 广州市百果园信息技术有限公司 视频播放方法、存储介质和终端
CN108337553A (zh) * 2018-02-08 2018-07-27 深圳市兆驰股份有限公司 一种多媒体数据预下载方法
JP2018125874A (ja) * 2018-03-20 2018-08-09 ソニー株式会社 送信装置及び送信方法、並びに受信装置及び受信方法
CN109831689A (zh) * 2019-01-28 2019-05-31 维沃移动通信有限公司 一种数据缓冲方法及移动终端

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103024446A (zh) * 2012-12-31 2013-04-03 传聚互动(北京)科技有限公司 网络视频的加载缓冲方法和系统
US20170171278A1 (en) * 2015-12-14 2017-06-15 Le Holdings (Beijing) Co., Ltd. Method and electronic device for continuously playing video
CN105872603A (zh) * 2016-03-22 2016-08-17 乐视网信息技术(北京)股份有限公司 一种媒体文件下载方法及装置
CN106303563B (zh) * 2016-08-19 2020-04-14 腾讯科技(深圳)有限公司 流媒体在线播放方法、装置、执行终端以及存储介质
KR20180097858A (ko) * 2017-02-24 2018-09-03 삼성전자주식회사 디스플레이장치 및 그 제어방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454393A (zh) * 2016-11-23 2017-02-22 天脉聚源(北京)传媒科技有限公司 一种视频缓存方法及装置
CN108055250A (zh) * 2017-12-01 2018-05-18 暴风集团股份有限公司 视频播放装置、方法及终端
CN108259975A (zh) * 2018-02-01 2018-07-06 广州市百果园信息技术有限公司 视频播放方法、存储介质和终端
CN108337553A (zh) * 2018-02-08 2018-07-27 深圳市兆驰股份有限公司 一种多媒体数据预下载方法
JP2018125874A (ja) * 2018-03-20 2018-08-09 ソニー株式会社 送信装置及び送信方法、並びに受信装置及び受信方法
CN109831689A (zh) * 2019-01-28 2019-05-31 维沃移动通信有限公司 一种数据缓冲方法及移动终端

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于P2P-DVE的预下载机制";范辰;《科技传播》;20141231;全文 *
"计算机制作音乐类作品在线播放系统设计";薛卓艳;《现代电子技术》;20181215;第41卷(第24期);全文 *

Also Published As

Publication number Publication date
CN110381355A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN110417641B (zh) 一种发送会话消息的方法与设备
WO2020221189A1 (zh) 一种管理寄宿程序的方法与设备
CN112685121B (zh) 一种呈现会话入口的方法与设备
US10838691B2 (en) Method and apparatus of audio/video switching
WO2022037011A1 (zh) 一种用于提供视频信息的方法与设备
WO2020200152A1 (zh) 控制社交分享信息在社交空间的呈现状态的方法与设备
WO2022142619A1 (zh) 一种私密音视频通话的方法与设备
CN110413179B (zh) 一种呈现会话消息的方法与设备
WO2021120612A1 (zh) 一种呈现消息通知的方法与设备
CN114666652A (zh) 一种用于播放视频的方法、设备、介质及程序产品
CN110515692B (zh) 一种用于启动阅读应用的方法与设备
CN112822430B (zh) 一种会议群组合并的方法与设备
CN111526396B (zh) 一种用于控制激励视频播放的方法与设备
CN110381355B (zh) 一种用于控制流媒体播放的方法、设备及可读介质
WO2021022979A1 (zh) 一种信息流展示方法与设备
WO2023165320A1 (zh) 播放参数配置方法及装置
CN111932230A (zh) 一种修改红包的方法与设备
CN111092791A (zh) 一种确定从应用至服务器的可用网络带宽的方法与设备
CN115712752A (zh) 一种用于推荐视频的方法、设备、介质及程序产品
WO2021036561A1 (zh) 一种在视频通话过程中传递信息的方法与设备
CN111796895B (zh) 一种切换标签页的方法与设备
CN110321205B (zh) 一种在宿主程序中管理寄宿程序的方法与设备
CN111385353B (zh) 一种提供应用呈现信息的方法与设备
CN113157162A (zh) 一种用于撤回会话消息的方法、设备、介质及程序产品
CN110336913B (zh) 一种在电话呼叫过程中呈现呼叫视频的方法、设备与计算机可读介质

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