流媒体业务的处理方法及装置的制造方法
【专利摘要】本发明实施例提供一种流媒体业务的处理方法及装置,其中的方法包括:从服务器下载待播放的流媒体文件内容;在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则终止所述从服务器下载待播放的流媒体文件内容的操作。本发明实施例使得用户终端可以及时响应来自用户的预置控制指令,避免用户长时间等待的问题,从而可以节省时间资源。
【专利说明】
流媒体业务的处理方法及装置
技术领域
[0001]本发明实施例涉及流媒体技术领域,尤其涉及一种流媒体业务的处理方法及装置。
【背景技术】
[0002]流媒体是指在网络中使用流式传输的方式进行播放的媒体格式。流媒体具有以流的形式在网络中实时、连续传输的特点,对于网络中的视频、音频等流媒体文件,可以做到边下载边播放。
[0003]例如,在具体应用中,可以将视频文件部署在互联网的服务器中,终端的视频播放器不断向服务器请求待播放的视频内容,服务器不断地将对应的视频内容发送至终端的视频播放器,视频播放器获得一部分能播放的视频内容后就开始播放。由此,用户可以在个人电脑、手机等多种终端上体验点播、直播视频的业务。
[0004]然而,在网速较慢的情况下,服务器对视频播放器的请求响应速度较慢,此时,如果用户频繁拖动视频播放的进度条,视频播放器又会向服务器发出新的视频内容请求,导致视频播放器不断地和服务器进行交互,而此时视频播放器还在等待之前请求的视频内容,从而造成视频播放器出现ANR(Applicat1n Not Responding,应用程序无响应)的情况。此外,在网速较慢的情况下,如果用户点击退出视频播放器,此时,视频播放器正在和服务器进行交互,需要等待视频播放器接收当前请求的视频内容之后,才能退出播放器,导致用户需要长时间的等待。
【发明内容】
[0005]本发明实施例提供一种流媒体业务的处理方法及装置,用以解决现有技术中经常出现应用程序无响应,造成用户长时间等待的缺陷,从而节省时间资源。
[0006]本发明实施例提供一种流媒体业务的处理方法,包括:
[0007]从服务器下载待播放的流媒体文件内容;
[0008]在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则终止所述从服务器下载待播放的流媒体文件内容的操作。
[0009]本发明实施例提供一种流媒体业务的处理装置,包括:
[0010]下载模块,用于从服务器下载待播放的流媒体文件内容;及
[0011]终止模块,用于在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则终止所述从服务器下载待播放的流媒体文件内容的操作。
[0012]本发明实施例提供的流媒体业务的处理方法及装置,在通过网络进行在线的流媒体文件播放过程中,在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则终止所述从服务器下载待播放的流媒体文件内容的操作。使得用户终端可以及时响应来自用户的预置控制指令,避免用户长时间等待的问题,从而可以节省时间资源。
【附图说明】
[0013]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1示出了本发明的一种流媒体业务的处理方法实施例一的步骤流程图;
[0015]图2示出了本发明的一种流媒体业务的处理方法实施例二的步骤流程图;
[0016]图3示出了本发明的一种流媒体业务的处理方法实施例三的步骤流程图;
[0017]图4示出了本发明的一种流媒体业务的处理方法实施例四的步骤流程图;及
[0018]图5示出了本发明的一种流媒体业务的处理装置实施例的结构框图。
【具体实施方式】
[0019]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0020]本发明实施例适用于可以播放流媒体文件的用户终端,该用户终端可以是无线终端也可以是有线终端,无线终端可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(PCS,Personal Communicat1n Service)电话、个人数字助理(PDA,Personal Digital Assistant)等设备。无线终端也可以称为系统、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(User Agent)、用户设备(User Device)、或用户装备(User Equipment)等。本发明对于用户终端的具体形式不加以限制。
[0021]需要说明的是,本发明实施例中的流媒体包括但不限于:视频文件或视频流或音频文件或音频流。为了便于说明,本发明实施例中均以视频文件为例进行描述,其它形式的流媒体文件相互参照即可。
[0022]实施例一
[0023]参照图1,示出了本发明的一种流媒体业务的处理方法实施例一的步骤流程图,具体可以包括:
[0024]步骤101、从服务器下载待播放的流媒体文件内容;
[0025]在本发明实施例中,当用户终端通过网络进行在线的流媒体文件播放时,首先向服务器发起获取流媒体文件的请求,当服务器接收到用户终端发起的获取流媒体文件的请求后,与所述用户终端建立网络连接,即建立了用户终端与服务器之间的获取流媒体文件的请求所关联的链路。
[0026]在所述网络连接建立成功之后,用户终端可以通过所述网络连接,根据当前的播放进度向服务器不断请求对应的流媒体文件内容,基于边下载边播放的方式,用户终端获得一部分能播放的流媒体文件内容后,就进行媒体播放。
[0027]步骤102、在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则终止所述从服务器下载待播放的流媒体文件内容的操作。
[0028]在本发明的一种优选实施例中,所述预置控制指令至少可以包括如下指令中的任一:跳转播放指令、停止播放指令、以及退出指令。
[0029]其中,所述跳转播放指令(seek指令)是指用户通过拖拽播放进度条,要求从指定的时间点开始播放。用户终端根据该时间点,找到对应的流媒体文件内容,开始播放;如果是在线播放,并且用户终端中还未下载该时间点对应的流媒体文件内容,就需要向服务器请求下载该时间点对应的新的流媒体文件内容。然而,如果原本待播放的流媒体文件内容还未下载完成,用户终端会等待原本待播放的流媒体文件内容下载完成后,再响应上述新的流媒体文件内容的请求,在网络条件较差的情况下,由于下载速度较慢会导致用户终端出现ANR的情况,用户需要等待较长时间,从而浪费时间资源。
[0030]所述停止播放指令可以指用户点击暂停播放或者停止播放按钮发出的指令。所述退出指令可以指用户点击关闭播放器或者退出播放器按钮发出的指令。同样地,当用户终端通过网络进行在线的流媒体文件播放时,如果原本待播放的流媒体文件内容还未下载完成,此时接收到来自用户的停止播放指令或者退出指令,也会导致用户终端出现ANR的情况,用户需要长时间的等待,从而浪费时间资源。
[0031 ]因此,本发明实施例在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的上述预置控制指令中的任意一种,则立刻终止所述从服务器下载待播放的流媒体文件内容的操作。由此,用户终端可以及时响应来自用户的预置控制指令,避免用户长时间等待的问题,从而可以节省时间资源。
[0032]综上,本发明实施例在通过网络进行在线的流媒体文件播放过程中,在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则终止所述从服务器下载待播放的流媒体文件内容的操作。使得用户终端可以及时响应来自用户的预置控制指令,避免用户长时间等待的问题,从而可以节省时间资源。
[0033]实施例二
[0034]本实施例在上述实施例一的基础上,还可以包括如下可选技术方案。在本实施例中,可以设置强制断开标识符,根据该强制断开标识符的状态来确定当前流媒体文件播放过程处于正常状态还是尝试断开状态,其中,正常状态,表示用户在正常观看流媒体文件内容;尝试断开状态,表示用户发出预置控制指令,并且试图终止当前还未完成的下载流媒体文件内容的操作。
[0035]参照图2,示出了本发明的一种流媒体业务的处理方法实施例二的步骤流程图,具体可以包括:
[0036]步骤201、从服务器下载待播放的流媒体文件内容;
[0037]步骤202、在所述待播放的流媒体文件内容下载未完成时,检测强制断开标识符的状态;
[0038]其中,强制断开标识符可用于表示当前的下载操作处于正常状态还是尝试断开状态,在本发明实施例中,可以在从服务器下载待播放的流媒体文件内容之前,将所述强制断开标识符的状态初始化为正常状态,在流媒体内容下载的过程中,可以通过如下步骤将所述强制断开标识符的状态更新为尝试断开状态:
[0039]在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则将所述强制断开标识符的状态更新为尝试断开状态。
[0040]在本发明的一种应用示例中,设置变量forceDsiconnect为强制断开标识符,并且将forceDsiconnect的值初始化为False,表示当前状态为正常状态,在流媒体文件内容下载过程中,通过线程I检测是否接收到来自用户的预置控制指令,若接收到来自用户的跳转播放指令、停止播放指令、以及退出指令中的任意一种预置控制指令,则将forceDsiconnect的值更新为True,表示当前状态为尝试断开状态;通过线程2周期性地检测forceDsiconnect的值,若forceDsiconnect的值为True,并且所述待播放的流媒体文件内容下载未完成,则终止所述从服务器下载待播放的流媒体文件内容的操作。
[0041]可以理解,上述通过变量forceDsiconnect作为强制断开标识符,以及利用变量forceDsiconnect的布尔值表示强制断开标识符的状态,仅作为本发明的一种应用示例,本发明对于强制断开标识符的具体形式不加以限制。
[0042]步骤203、在所述强制断开标识符的状态为尝试断开状态时,判定接收到来自用户的预置控制指令;
[0043]步骤204、终止所述从服务器下载待播放的流媒体文件内容的操作。
[0044]在本发明的一种优选实施例中,所述方法还可以包括如下步骤:
[0045]在终止所述从服务器下载待播放的流媒体文件内容的操作之后,执行所述预置控制指令对应的操作。
[0046]在本发明实施例中,在检测到接收到来自用户的预置控制指令时,可以立刻终止未完成的下载操作,从而立即响应用户的预置控制指令,相对于现有技术,不用等待未完成的下载操作执行完毕,因此,可以避免出现ANR的情况,可以快速响应用户的预置控制指令,节省时间资源。
[0047]在本发明的另一种优选实施例中,所述方法还可以包括如下步骤:
[0048]在终止所述从服务器下载待播放的流媒体文件内容的操作之后,将所述强制断开标识符的状态更新为正常状态。
[0049]本发明实施例通过检测强制断开标识符的状态来确定当前流媒体文件播放过程处于正常状态还是尝试断开状态,如果是尝试断开状态,说明接收到用户的预置控制指令,则终止当前还未完成的下载流媒体文件内容的操作,避免出现ANR的情况,从而可以快速响应用户的预置控制指令,节省时间资源。
[0050]实施例三
[0051]在具体应用中,HLS (HTTP Live Streaming,动态码率自适应技术)基于HTTP渐进下载的流媒体传输协议,可以实现流媒体的直播和点播,也是目前最常用的流媒体传输协议之一。为了适应在互联网上进行流媒体传输,在HLS协议中,在对音视频文件进行封装时,按照时间段将音视频文件切割成一块一块的文件序列(这个过程一般成为切片),比如每隔5秒钟保存一个切片文件,用户终端通过从服务器不断地下载切片文件,将下载完成的切片文件在用户终端进行播放,从而实现音视频文件的边下载边播放。
[0052]本实施例以基于HLS协议的流媒体业务为例,描述本发明的实现过程,可以理解,在实际应用中,本领域技术人员可以根据需要选择合适的流媒体传输协议,例如,还可以采用 RTSP(Real Time Streaming Protocol,实时流传输协议)/RTP(Real-time TransportProtocol,实时传输协议)等协议,本发明实施例对于流媒体传输协议不加以限制。
[0053]参照图3,示出了本发明的一种流媒体业务的处理方法实施例三的步骤流程图,应用于解决跳转播放指令(seek指令)导致ANR的情况,具体可以包括:
[0054]步骤301、初始化 forceDisconnect 的值为 False ;
[0055]步骤302、从服务器下载待播放的切片文件;
[0056]在本发明实施例中,可以利用fetchFile函数实现从服务器获取切片文件的功能。该fetchFile函数的定义具体如下:
[0057]boolean fetchFile(String tfsFileName, String tfsSuffix, OutputStreamoutput);
[0058]步骤303、接收到来自用户的seek指令;
[0059]步骤304、根据所述seek指令对应的播放时间点,向服务器请求下载所述播放时间点对应的切片文件,以及更新forceDisconnect的值为True ;
[0060]步骤305、在所述待播放的切片文件下载未完成时,检测到forceDisconnect的值为True,终止所述从服务器下载待播放的切片文件的操作。
[0061]在具体应用中,在从服务器下载待播放的切片文件的过程中,可以周期性检测forceDisconnect的值,在forceDisconnect的值为True时,终止所述从服务器下载待播放的切片文件的操作。具体地,可以将当前缓冲区(buffer)中的未下载完成的临时数据清空,并且直接断开当前下载待播放的切片文件的套接字连接,以终止下载所述待播放的切片文件的操作,从而可以及时响应用户的seek操作,避免用户长时间等待。
[0062]通过本发明实施例,即使在网络较差的情况下,用户频繁发出seek指令,用户终端仍然可以及时响应该seek指令,避免出现ANR的情况,可以节省用户的时间资源。
[0063]实施例四
[0064]参照图4,示出了本发明的一种流媒体业务的处理方法实施例四的步骤流程图,应用于解决停止播放指令或退出指令导致ANR的情况,具体可以包括:
[0065]步骤401、初始化 forceDisconnect 的值为 False ;
[0066]步骤402、从服务器下载待播放的切片文件;
[0067]步骤403、接收到来自用户的停止播放指令或者退出指令;
[0068]步骤404、更新 forceDisconnect 的值为 True ;
[0069]步骤405、在所述待播放的切片文件下载未完成时,检测到forceDisconnect的值为True,终止所述从服务器下载待播放的切片文件的操作。
[0070]通过本发明实施例,在网络较差的情况下,即使用户频繁发出停止播放指令或者退出指令,用户终端仍然可以及时响应该停止播放指令或者退出指令,避免出现ANR的情况,可以节省用户的时间资源。
[0071]装置实施例
[0072]参照图5,示出了本发明的一种流媒体业务的处理装置实施例的结构框图,具体可以包括:
[0073]下载模块510,用于从服务器下载待播放的流媒体文件内容;及
[0074]终止模块520,用于在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则终止所述从服务器下载待播放的流媒体文件内容的操作。
[0075]在本发明的一种优选实施例中,所述终止模块520,具体可以包括:
[0076]控制指令判定子模块,用于判定是否接收到来自用户的预置控制指令;
[0077]所述控制指令判定子模块,具体可以包括:
[0078]标识符检测单元,用于检测强制断开标识符的状态;
[0079]判定单元,用于在所述强制断开标识符的状态为尝试断开状态时,判定接收到来自用户的预置控制指令。
[0080]在本发明的另一种优选实施例中,所述装置还可以包括:
[0081]状态更新模块,用于更新所述强制断开标识符的状态为尝试断开状态;
[0082]所述状态更新模块,具体可以包括:
[0083]状态更新子模块,用于在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则将所述强制断开标识符的状态更新为尝试断开状态。
[0084]在本发明的又一种优选实施例中,所述装置还可以包括:
[0085]控制指令执行模块,用于在终止所述从服务器下载待播放的流媒体文件内容的操作之后,执行所述预置控制指令对应的操作。
[0086]在本发明的再一种优选实施例中,所述预置控制指令包括如下指令中的任一:跳转播放指令、停止播放指令、以及退出指令。
[0087]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0088]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0089]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种流媒体业务的处理方法,其特征在于,包括: 从服务器下载待播放的流媒体文件内容; 在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则终止所述从服务器下载待播放的流媒体文件内容的操作。2.根据权利要求1所述的方法,其特征在于,所述接收到来自用户的预置控制指令的步骤,包括: 检测强制断开标识符的状态; 在所述强制断开标识符的状态为尝试断开状态时,判定接收到来自用户的预置控制指令。3.根据权利要求2所述的方法,其特征在于,通过如下步骤更新所述强制断开标识符的状态为尝试断开状态: 在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则将所述强制断开标识符的状态更新为尝试断开状态。4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在终止所述从服务器下载待播放的流媒体文件内容的操作之后,执行所述预置控制指令对应的操作。5.根据权利要求1至4任一所述的方法,其特征在于,所述预置控制指令包括如下指令中的任一:跳转播放指令、停止播放指令、以及退出指令。6.一种流媒体业务的处理装置,其特征在于,包括: 下载模块,用于从服务器下载待播放的流媒体文件内容;及 终止模块,用于在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则终止所述从服务器下载待播放的流媒体文件内容的操作。7.根据权利要求6所述的装置,其特征在于,所述终止模块,包括: 控制指令判定子模块,用于判定是否接收到来自用户的预置控制指令; 所述控制指令判定子模块,包括: 标识符检测单元,用于检测强制断开标识符的状态; 判定单元,用于在所述强制断开标识符的状态为尝试断开状态时,判定接收到来自用户的预置控制指令。8.根据权利要求7所述的装置,其特征在于,所述装置还包括: 状态更新模块,用于更新所述强制断开标识符的状态为尝试断开状态; 所述状态更新模块,包括: 状态更新子模块,用于在所述待播放的流媒体文件内容下载未完成时,若接收到来自用户的预置控制指令,则将所述强制断开标识符的状态更新为尝试断开状态。9.根据权利要求6所述的装置,其特征在于,所述装置还包括: 控制指令执行模块,用于在终止所述从服务器下载待播放的流媒体文件内容的操作之后,执行所述预置控制指令对应的操作。10.根据权利要求6至9任一所述的装置,其特征在于,所述预置控制指令包括如下指令中的任一:跳转播放指令、停止播放指令、以及退出指令。
【文档编号】H04L29/06GK105978846SQ201510854937
【公开日】2016年9月28日
【申请日】2015年11月27日
【发明人】郑吉剑
【申请人】乐视致新电子科技(天津)有限公司