CN104092714A - 流媒体文件的播放方法及装置 - Google Patents
流媒体文件的播放方法及装置 Download PDFInfo
- Publication number
- CN104092714A CN104092714A CN201310443059.3A CN201310443059A CN104092714A CN 104092714 A CN104092714 A CN 104092714A CN 201310443059 A CN201310443059 A CN 201310443059A CN 104092714 A CN104092714 A CN 104092714A
- Authority
- CN
- China
- Prior art keywords
- http
- long
- connection
- long connection
- auxiliary
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
Abstract
本发明公开了一种流媒体文件的播放方法及装置,涉及互联网技术领域,能够解决因重建HTTP长连接导致的切换时延过长的问题。本发明的方法包括:向网络侧服务器请求建立超文本传输协议(HTTP)长连接;建立主长连接和辅HTTP长连接;通过所述主HTTP长连接接收所述网络侧服务器发送的第一流媒体数据;保持所述辅HTTP长连接与所述网络侧服务器的连接状态;当接收到播放切换指令时,断开所述主HTTP长连接,并通过辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。本发明主要应用于音乐在线播放的过程中。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种流媒体文件的播放方法及装置。
背景技术
流媒体(Streaming Media,简称SM)技术是一种将一连串媒体数据包顺序进行压缩并分段发送给终端的数据传输技术。终端如同流水线一样顺序接收多个流媒体数据包并依次进行解压缩播放,与普通的“先下载,后播放”的播放模式相比,流媒体技术能够实现音视频文件的在线播放。
在播放流媒体文件时,本地终端需要发起超文本传输协议(HyperTextTransfer Protocol,简称HTTP)连接,向网络侧服务器上报对流媒体文件的HTTP请求。终端在建立HTTP连接时对应建立一个底层的传输控制协议(Transmission Control Protocol,简称TCP)连接,用以支持上层HTTP的数据传输。通常用户在上网时,终端会不停的发起HTTP请求,一次HTTP请求对应一次HTTP连接,终端通过不同的HTTP请求获取不同的数据资源。例如,终端首先发起HTTP连接1请求某门户网站的首页页面,然后断开HTTP连接1,建立HTTP连接2请求首页页面链接的视频子页面,接着终端断开HTTP连接2,建立HTTP连接3请求视频子页面中的某个视频文件。
这种数据请求方式需要频繁发起并断开HTTP连接,对本地终端的处理资源以及网络侧服务器的信令开销占用较多,同时由于在HTTP的断开和新HTTP的连接之间存在时延,因此终端获取数据的时间间隔较大,影响用户使用。基于这种缺陷,目前出现了一种改进型的数据请求方式,称为HTTP长连接(HTTPKeep-alive),这种数据请求方式能够在首次发起HTTP请求时建立HTTP连接和TCP连接,并且在HTTP请求结束后仍保持HTTP连接以便终端发起下一个HTTP请求,从而实现基于一次HTTP连接的多次HTTP请求,继而提高了HTTP请求的性能,能够减少相关资源的开销。
在通过HTTP长连接播放流媒体文件的过程中,发明人发现,由于流媒体文件的播放形式为在线播放,终端请求流媒体数据包的过程贯穿于文件播放始终,因此如果用户在播放当前流媒体文件时切换播放另一流媒体文件,则在当前流媒体数据包传输完毕之前,终端无法中止当前HTTP请求的传输过程,进而无法发起针对下一个流媒体文件的HTTP请求。终端只能断开HTTP长连接并建立新的HTTP长连接来请求另一流媒体文件的流媒体数据包。这种处理方式实际上仍是对HTTP连接的重新建立,需要重新建立底层的TCP连接,两次连接之间的时间间隔较长,需要用户等待较长的时间,特别是对于2G或3G的移动终端用户而言,等待时间远远超过服务质量(Quality of Service,简称QoS)中的标准要求。
此外,为解决重新建立HTTP长连接对时延的影响,目前部分技术方案还通过基于底层的TCP协议代替上层HTTP协议请求流媒体数据。但是TCP协议属于私有协议,不如HTTP协议通用,网络侧服务器与本地终端之间、网络侧服务器站点与站点之间的TCP协议不尽相同,容易导致本地终端因协议不同而对网络侧服务器的HTTP响应进行防火拦截,使得流媒体数据包传输失败。并且在网络资源平台化的趋势下,协议兼容性差的缺陷会严重影响第三方开发商与资源平台之间的数据流通,阻碍资源共享进程的发展。
发明内容
本发明实施例提供一种流媒体文件的播放方法及装置,能够解决因重建HTTP长连接导致的切换时延过长的问题。
一方面,本发明实施例提供了一种流媒体文件的播放方法,包括:
向网络侧服务器请求建立超文本传输协议(HTTP)长连接;
建立主长连接和辅HTTP长连接;
通过所述主HTTP长连接接收所述网络侧服务器发送的第一流媒体数据;
保持所述辅HTTP长连接与所述网络侧服务器的连接状态;
当接收到播放切换指令时,断开所述主HTTP长连接,并通过辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。
另一方面,本发明实施例还提供了一种流媒体文件的播放装置,包括:
连接建立请求单元,用于向网络侧服务器请求建立超文本传输协议(HTTP)长连接;
连接建立单元,用于建立主长连接和辅HTTP长连接;
连接控制单元,用于控制通过所述连接建立单元建立的所述主HTTP长连接接收网络侧服务器发送的第一流媒体数据;
状态控制单元,用于控制保持所述连接建立单元建立的所述辅HTTP长连接与所述网络侧服务器的连接状态;
指令接收单元,用于接收播放切换指令;
所述连接控制单元还用于当所述指令接收单元接收到所述播放切换指令时,断开所述主HTTP长连接,通过所述状态控制单元控制保持连接状态的辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。
本发明实施例提供的流媒体文件的播放方法及装置,除能够为当前需要请求的第一流媒体数据建立主HTTP长连接以外,还可以建立辅HTTP长连接以备后用。在通过主HTTP长连接接收第一流媒体数据的过程中保持辅HTTP长连接与网络侧服务器的连接状态。当接收到请求第二流媒体数据的播放切换指令时,直接断开主HTTP长连接,并通过辅HTTP长连接来接收网络侧服务器发送的第二流媒体数据。由于辅HTTP长连接是在主HTTP长连接请求第一流媒体数据的过程中通过后台线程建立的,因此对第一流媒体文件的播放并不产生影响,同时与现有技术中在用户进行播放切换操作后建立新的HTTP长连接相比,可以在需要新的HTTP长连接时直接使用已建立的辅HTTP长连接,从而节省临时建立HTTP长连接的耗时,进而缩短流媒体文件的切换时延。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中终端接收并播放流媒体文件的示意图;
图2为本发明实施例中流媒体文件的播放方法的流程图;
图3为本发明实施例中另一个流媒体文件的播放方法的流程图;
图4为本发明实施例中终端建立主辅HTTP长连接的示意图;
图5为本发明实施例中终端通过辅HTTP长连接向网络侧服务器发送定期发送握手报文的示意图;
图6为本发明实施例中第一个流媒体文件的播放装置的结构示意图;
图7为本发明实施例中第二个流媒体文件的播放装置的结构示意图;
图8为本发明实施例中第三个流媒体文件的播放装置的结构示意图。
具体实施方式
下面将结合本实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例进行说明,首先对终端通过HTTP长连接获取并播放流媒体文件的过程进行简要介绍。
如图1所示,当用户选择在线播放歌曲《祖国颂》时,终端建立一个HTTP长连接,向网络侧服务器发送HTTP请求,请求歌曲《祖国颂》的流媒体文件。网络侧服务器在从数据库中获取到歌曲《祖国颂》的流媒体文件后,将该流媒体文件切分为多个流媒体数据包,然后顺序对多个流媒体数据包进行编码压缩发送给终端。终端在接收到第一个压缩数据包后(有时出于播放流畅性的考虑会在接收到几个压缩数据包后),开始对接收到的压缩数据包进行解压缩和解码操作,然后对解码后的流媒体数据包进行播放,由此形成边接收流媒体数据包边播放的在线播放模式。
当歌曲《祖国颂》播放完毕后(此时对应的流媒体数据包也传输完毕),用户选择播放另一首歌曲《让世界充满爱》,则终端可以在不断开HTTP长连接的情况下,通过已建立的HTTP长连接向网络侧服务器发起另一个HTTP请求,请求歌曲《让世界充满爱》的流媒体数据包进行播放。但是对于用户在歌曲播放完毕之前切换播放其他歌曲的情况,由于歌曲《祖国颂》播放完毕前对应的流媒体数据包也未传输完毕,终端无法断开歌曲《祖国颂》的HTTP请求,因此只能断开当前的HTTP长连接,停止歌曲《祖国颂》流媒体数据包的传输,然后建立新的HTTP长连接向网络侧服务器请求歌曲《让世界充满爱》的流媒体数据包。通常建立HTTP长连接的耗时较长,对于2G网络中的移动终端而言,目前的测试结果显示建立HTTP长连接的平均耗时为7000毫秒,也就是说从进行播放切换操作到播放下一首歌曲《让世界充满爱》之间用户至少需要等待7秒的时间,这个量级的耗时无论对于运营商还是对于用户而言,显然都是难以接收的。
为缩短流媒体文件的切换耗时,本实施例提供了一种流媒体文件的播放方法,该方法可以应用于电脑、手机、平板电脑等终端设备中,效果较为显著的,该方法优选应用于手机、平板电脑等通过无线通讯方式与网络侧服务器进行数据交互的移动设备中。如图2所示,该方法包括:
201、向网络侧服务器请求建立HTTP长连接。
202、建立主HTTP长连接和辅HTTP长连接。
在第一次播放流媒体文件时,终端为该流媒体数据的获取建立一条主HTTP长连接,同时再建立至少一条备用的辅HTTP长连接。
本实施例中,终端建立的辅HTTP长连接数量可以为一条也可以为多条,当用户同时播放多个流媒体文件时(例如在线播放一首歌曲并同时播放某网页上的视频),终端为每一条主HTTP长连接建立一条或多条辅HTTP长连接,本实施例对终端建立的辅HTTP长连接数量不做限制。
203、通过主HTTP长连接接收网络侧服务器发送的第一流媒体数据。
在建立主HTTP长连接后,终端通过建立好的主HTTP长连接向网络侧服务器发送HTTP请求,请求首次播放流媒体文件对应的第一流媒体数据。
204、保持辅HTTP长连接与网络侧服务器的连接状态。
在建立辅HTTP长连接之后,终端通过后台线程的运行对辅HTTP长连接进行维护,使之保持与网络侧服务器的连接状态。
205、当接收到播放切换指令时,断开主HTTP长连接,并通过辅HTTP长连接接收网络侧服务器发送的第二流媒体数据。
当接收到用于指示播放另一个流媒体文件的播放切换指令时,无论当前的第一流媒体数据是否传输完毕,终端都将断开当前使用的主HTTP长连接,然后以步骤204中后台维护的辅HTTP长连接作为新的主HTTP长连接,通过新的主HTTP长连接向网络侧服务器发送HTTP请求,接收并播放网络侧服务器发送的第二流媒体数据。
本发明实施例提供的流媒体文件的播放方法,除能够为当前需要请求的第一流媒体数据建立主HTTP长连接以外,还可以建立辅HTTP长连接以备后用。在通过主HTTP长连接接收第一流媒体数据的过程中保持辅HTTP长连接与网络侧服务器的连接状态。当接收到请求第二流媒体数据的播放切换指令时,直接断开主HTTP长连接,并通过辅HTTP长连接来接收网络侧服务器发送的第二流媒体数据。由于辅HTTP长连接是在主HTTP长连接请求第一流媒体数据的过程中通过后台线程建立的,因此对第一流媒体文件的播放并不产生影响,同时与现有技术中在用户进行播放切换操作后建立新的HTTP长连接相比,可以在需要新的HTTP长连接时直接使用已建立的辅HTTP长连接,从而节省临时建立HTTP长连接的耗时,进而缩短流媒体文件的切换时延。
为了更好的对本实施例产生的技术效果进行说明,下面通过在不同网络条件下进行大量测试得到的数据结果,对现有技术和本发明实施例进行比较。如下表所示,以首片数据为128K码率、50Kbytes大小的动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III,简称MP3)文件为例,对于2.5G网络、3G网络以及Wi-Fi网络,现有技术中的切换耗时平均为本实施例中切换耗时的6到7倍,由此可以看出,本实施例提供的流媒体文件的播放方法能够大大降低用户的切换等待时间。
作为对图2所示方法的细化和进一步扩展,本实施例还提供了一种流媒体文件的播放方法,如图3所示,该方法包括:
301、向网络侧服务器请求建立HTTP长连接。
本步骤的实现方式与图2中步骤201的实现方式相同此处不再赘述。
302、建立主HTTP长连接和辅HTTP长连接。
如图4所示,终端建立一条用于请求当前媒体流数据的HTTP长连接1作为主HTTP长连接,然后建立3条备用HTTP长连接2、3和4作为辅HTTP长连接。具体的,终端建立辅HTTP长连接的时机可以有如下两种选择:
1)终端选择在建立主HTTP长连接的同时建立辅HTTP长连接。在用户选择播放第一流媒体文件时,终端通过后台运行多条不同线程的方式实现主、辅HTTP长连接的并行建立
2)终端在建立主HTTP长连接之后、用户进行播放切换操作之前,建立辅HTTP长连接。终端可以根据初始化设置的滞后时长建立辅HTTP长连接,例如在建立主HTTP长连接后30秒启动线程建立辅HTTP长连接,也可以根据运营商对用户行为习惯的学习结果确定特定时间点进行建立。例如基于大多数用户在流媒体文件播放20秒后进行播放切换操作的习惯,终端可以选择在流媒体文件开始播放后的第5秒或者第10秒启动线程建立辅HTTP长连接。
除上述两种建立时机以外,在本实施例的另一种实现方式中,终端也可以周期性建立辅HTTP长连接,该辅HTTP长连接的建立时机由终端的内部时钟以及预设时间间隔决定,与是否建立主HTTP长连接、建立主HTTP长连接的时刻和数量无关。当终端建立了一条主HTTP长连接后,从周期性建立的辅HTTP长连接中选择一条辅HTTP长连接分配给该主HTTP长连接。
303、通过主HTTP长连接接收网络侧服务器发送的第一流媒体数据。
本步骤的实现方式与图2步骤203的实现方式相同,此处不再赘述。
304、通过辅HTTP长连接定期向网络侧服务器发送握手报文。
为了保持辅HTTP长连接与网络侧服务器的连接状态,在本实施例中,终端通过发送握手报文的方式实现辅HTTP长连接的状态保持。通常,网络侧服务器中都会预设置有超时时长,如果某个HTTP长连接在该超时时长内没有向网络侧服务器发送HTTP请求,则网络侧服务器会断开当前连接的HTTP长连接。因此在本实施例中,终端通过发送握手报文的方式避免网络侧服务器断开辅HTTP长连接。
由于握手报文的作用在于保持辅HTTP长连接与网络侧服务器的连接状态,其报文内容本身并无实际意义,因此为节省网络侧服务器的信令开销,本实施例中以1比特的任意字节作为握手报文发送给网络侧服务器。
具体的,如图5所示,网络侧服务器的连接超时时长为50秒,在HTTP长连接1接收第一流媒体数据的过程中,终端分别通过HTTP长连接2、HTTP长连接3和HTTP长连接4以20秒的时间间隔向网络侧服务器发送1比特数据。优选的,为进一步减少握手报文发送过频造成的网络侧服务器信令消耗,终端在不超过连接超时时长前提下,可以提高发送比特数据的时间间隔,例如将发送时间间隔提高到45秒。
需要说明的是,步骤304的执行贯穿于从步骤301至步骤307使用该辅HTTP长连接结束的整个过程中,本实施例中将其独立为一个步骤仅为便于描述。
305、当接收到播放切换指令时,判断第一流媒体数据是否接收完毕,得出判断结果。
作为本实施例的一个优选方案,在接收到用户触发的播放切换指令后,终端首先判断第一流媒体数据是否接收完毕,如果接收完毕则执行步骤306,仍通过主HTTP长连接接收并播放第二流媒体数据,如果未接收完毕则执行步骤307,通过辅HTTP长连接接收并播放第二流媒体数据。
通常,终端接收流媒体数据的速度与播放流媒体数据的速度之间没有必然联系,对于存在缓冲技术的场景而言,终端通常早于播放完成时刻完成数据的接收。例如某视频文件的播放时长为4分30秒,终端可能在播放到3分40秒时就已完成全部流媒体数据的接收。如果用户触发播放切换指令的动作发生在数据传输完毕之前,例如在流媒体文件播放到1分20秒时,则由于无法中断主HTTP长连接的数据传输过程,终端需要按照步骤307的实现方式选择辅HTTP长连接接收并播放第二流媒体数据,如果用户触发播放切换指令的动作发生在数据传输完毕之后,例如在流媒体文件播放到3分40秒到4分30秒之间,或者在流媒体文件播放完毕之后,则终端可以继续通过主HTTP长连接向网络侧服务器发起接收第二流媒体数据的请求,在这种情况下,不必启用辅HTTP长连接,由此可以进一步节省用户的等待时间,同时减少终端的线程资源消耗。
306、通过主HTTP长连接继续接收第二流媒体数据。
终端通过主HTTP长连接再次发起HTTP请求,向网络侧服务器请求接收第二流媒体数据。
307、断开主HTTP长连接,并通过辅HTTP长连接接收网络侧服务器发送的第二流媒体数据。
本步骤的实现方式与图2步骤205的实现方式相同,此处不再赘述。
进一步的,在将辅HTTP长连接升级为主HTTP长连接以后,终端可以为新的主HTTP长连接建立一条或多条二级辅HTTP长连接以备后用,二级辅HTTP长连接的表述仅为与前述辅HTTP长连接进行区分,实际应用中两者同质无差异。终端建立二级辅HTTP长连接的实现方式与步骤302中对应的实现方式相同,此处不再赘述。
对于步骤302中建立多条辅HTTP长连接的方案,为进一步节省终端的CPU线程开销以及网络侧服务器的信令开销,更为优选的方案为:终端在将某一条辅HTTP长连接升级为主HTTP长连接之后,还可以首先判断是否还存有备用的辅HTTP长连接,如果还存有备用的辅HTTP长连接,则终端取消建立二级辅HTTP长连接,如果已无备用的辅HTTP长连接,则再建立一条或多条二级辅HTTP长连接。
为进一步节省终端的CPU线程开销以及网络侧服务器的信令开销,作为对步骤302的改进,在本实施例的另一个优选方案中,终端一次仅建立1条辅HTTP长连接,在断开主HTTP长连接并启用辅HTTP长连接后,终端再建立1条二级辅HTTP长连接,由此减少后台启动的线程数量和向网络侧服务器发送的握手报文数量。
本实施例提供的流媒体文件的播放方法,除能够如图2所示方法通过建立辅HTTP长连接的方式缩短播放切换时的等待时间以外,还可以在用户进行播放切换时首先判断主HTTP长连接上的第一流媒体数据是否传输完毕,如果传输完毕,则仍采用主HTTP长连接请求第二流媒体数据,由此节省辅HTTP长连接的耗费数量,进而减少二级辅HTTP长连接的建立次数,降低HTTP长连接建立所消耗的各种相关资源。与此同时,由于使用同一HTTP长连接发起新请求的速度要快于使用新HTTP长连接起新请求的速度,因此本实施例提供的方法还能够进一步缩短播放切换时的用户等待时间。
此外,本实施例提供的方法还可以仅为主HTTP长连接建立一条辅HTTP长连接,当该辅HTTP长连接升级为主HTTP长连接后再建立新的辅HTTP长连接(或称为二级辅HTTP长连接),由此减少建立及维护过多辅HTTP长连接对各种资源的消耗。
参考图2或图3所示方法的实现,本实施例还提供了一种流媒体文件的播放装置,该装置位于手机、平板电脑等终端设备中,用以对图2或图3所示的方法进行实现。如图6所示,所述装置包括:连接建立请求单元61、连接建立单元62、连接控制单元63、状态控制单元64以及指令接收单元65,其中,
所述连接建立请求单元61,用于向网络侧服务器请求建立HTTP长连接;
所述连接建立单元62,用于建立主HTTP长连接和辅HTTP长连接;
所述连接控制单元63,用于控制通过所述连接建立单元62建立的所述主HTTP长连接接收网络侧服务器发送的第一流媒体数据;
所述状态控制单元64,用于控制保持所述连接建立单元62建立的所述辅HTTP长连接与所述网络侧服务器的连接状态;
所述指令接收单元65,用于接收播放切换指令;
所述连接控制单元63还用于当所述指令接收单元65接收到所述播放切换指令时,断开所述主HTTP长连接,通过所述状态控制单元64控制保持连接状态的辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。
进一步的,如图7所示,所述连接建立单元62,包括:
第一建立子单元71,用于在建立所述主HTTP长连接时,后台建立所述辅HTTP长连接。
进一步的,如图7所示,所述连接建立单元62,还包括:
第二建立子单元72,用于在所述主HTTP建立完成后,在根据用户行为习惯的学习结果确定的特定时间点上,后台建立所述辅HTTP长连接。
进一步的,所述状态控制单元64用于通过所述辅HTTP长连接定期向所述网络侧服务器发送握手报文,发送所述握手报文的时间间隔短于HTTP长连接的超时时长。
进一步的,如图8所示,所述装置还包括:
判断单元81,用于在所述连接控制单元63断开所述主HTTP长连接之前,判断所述第一流媒体数据是否接收完毕,得出判断结果;
所述连接控制单元63还用于当所述判断单元81的判断结果为是时,通过所述主HTTP长连接继续接收所述第二流媒体数据;
所述连接控制单元63还用于当所述判断结果为否时,断开所述主HTTP长连接,通过辅HTTP长连接接收所述第二流媒体数据。
本发明实施例提供的流媒体文件的播放装置,除能够为当前需要请求的第一流媒体数据建立主HTTP长连接以外,还可以建立辅HTTP长连接以备后用。在通过主HTTP长连接接收第一流媒体数据的过程中保持辅HTTP长连接与网络侧服务器的连接状态。当接收到请求第二流媒体数据的播放切换指令时,直接断开主HTTP长连接,并通过辅HTTP长连接来接收网络侧服务器发送的第二流媒体数据。由于辅HTTP长连接是在主HTTP长连接请求第一流媒体数据的过程中通过后台线程建立的,因此对第一流媒体文件的播放并不产生影响,同时与现有技术中在用户进行播放切换操作后建立新的HTTP长连接相比,可以在需要新的HTTP长连接时直接使用已建立的辅HTTP长连接,从而节省临时建立HTTP长连接的耗时,进而缩短流媒体文件的切换时延。
此外,本实施例提供的流媒体文件的播放装置,还可以在用户进行播放切换时首先判断主HTTP长连接上的第一流媒体数据是否传输完毕,如果传输完毕,则仍采用主HTTP长连接请求第二流媒体数据,由此节省辅HTTP长连接的耗费数量,进而减少二级辅HTTP长连接的建立次数,降低HTTP长连接建立所消耗的各种相关资源。与此同时,由于使用同一HTTP长连接发起新请求的速度要快于使用新HTTP长连接起新请求的速度,因此本实施例提供的装置还能够进一步缩短播放切换时的用户等待时间。
最后,本实施例提供的流媒体文件的播放装置,还可以仅为主HTTP长连接建立一条辅HTTP长连接,当该辅HTTP长连接升级为主HTTP长连接后再建立新的辅HTTP长连接(或称为二级辅HTTP长连接),由此减少建立及维护过多辅HTTP长连接对各种资源的消耗。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种流媒体文件的播放方法,其特征在于,包括:
向网络侧服务器请求建立超文本传输协议(HTTP)长连接;
建立主长连接和辅HTTP长连接;
通过所述主HTTP长连接接收所述网络侧服务器发送的第一流媒体数据;
保持所述辅HTTP长连接与所述网络侧服务器的连接状态;
当接收到播放切换指令时,断开所述主HTTP长连接,并通过辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。
2.根据权利要求1所述的方法,其特征在于,所述建立辅HTTP长连接的步骤,包括:
在建立所述主HTTP长连接时,后台建立所述辅HTTP长连接。
3.根据权利要求1所述的方法,其特征在于,所述建立辅HTTP长连接的步骤,包括:
在所述主HTTP长连接建立完成后,在根据用户行为习惯的学习结果确定的特定时间点上,建立所述辅HTTP长连接。
4.根据权利要求1所述的方法,其特征在于,所述保持所述辅HTTP长连接与所述网络侧服务器的连接状态的步骤,包括:
通过所述辅HTTP长连接定期向所述网络侧服务器发送握手报文,发送所述握手报文的时间间隔短于HTTP长连接的超时时长。
5.根据权利要求1所述的方法,其特征在于,在所述断开所述主HTTP长连接的步骤之前,所述方法进一步包括:
判断所述第一流媒体数据是否接收完毕,得出判断结果;
若所述判断结果为是,则通过所述主HTTP长连接继续接收所述第二流媒体数据;
若所述判断结果为否,则断开所述主HTTP长连接,并通过所述辅HTTP长连接接收所述第二流媒体数据。
6.根据权利要求1所述的方法,其特征在于,在通过所述辅HTTP长连接接收所述第二流媒体数据的过程中,所述方法进一步包括:
为接收所述第二流媒体数据的辅HTTP长连接建立二级辅HTTP长连接。
7.一种流媒体文件的播放装置,其特征在于,包括:
连接建立请求单元,用于向网络侧服务器请求建立超文本传输协议(HTTP)长连接;
连接建立单元,用于建立主长连接和辅HTTP长连接;
连接控制单元,用于控制通过所述连接建立单元建立的所述主HTTP长连接接收网络侧服务器发送的第一流媒体数据;
状态控制单元,用于控制保持所述连接建立单元建立的所述辅HTTP长连接与所述网络侧服务器的连接状态;
指令接收单元,用于接收播放切换指令;
所述连接控制单元还用于当所述指令接收单元接收到所述播放切换指令时,断开所述主HTTP长连接,通过所述状态控制单元控制保持连接状态的辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。
8.根据权利要求7所述的装置,其特征在于,所述连接建立单元,包括:
第一建立子单元,用于在建立所述主HTTP长连接时,后台建立所述辅HTTP长连接。
9.根据权利要求7所述的装置,其特征在于,所述连接建立单元,还包括:
第二建立子单元,用于在所述主HTTP长连接建立完成后,根据用户行为习惯的学习结果确定特定时间点,后台建立所述辅HTTP长连接。
10.根据权利要求7所述的装置,其特征在于,所述状态控制单元用于通过所述辅HTTP长连接定期向所述网络侧服务器发送握手报文,发送所述握手报文的时间间隔短于HTTP长连接的超时时长。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
判断单元,用于在所述连接控制单元断开所述主HTTP长连接之前,判断所述第一流媒体数据是否接收完毕,得出判断结果;
所述连接控制单元还用于当所述判断单元的判断结果为是时,通过所述主HTTP长连接继续接收所述第二流媒体数据;
所述连接控制单元还用于当所述判断结果为否时,断开所述主HTTP长连接,通过所述辅HTTP长连接接收所述第二流媒体数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310443059.3A CN104092714B (zh) | 2013-09-25 | 2013-09-25 | 流媒体文件的播放方法及装置 |
PCT/CN2014/086736 WO2015043406A1 (zh) | 2013-09-25 | 2014-09-17 | 获取流媒体数据的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310443059.3A CN104092714B (zh) | 2013-09-25 | 2013-09-25 | 流媒体文件的播放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104092714A true CN104092714A (zh) | 2014-10-08 |
CN104092714B CN104092714B (zh) | 2016-02-17 |
Family
ID=51640394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310443059.3A Active CN104092714B (zh) | 2013-09-25 | 2013-09-25 | 流媒体文件的播放方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104092714B (zh) |
WO (1) | WO2015043406A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743381A (zh) * | 2018-12-27 | 2019-05-10 | 北京字节跳动网络技术有限公司 | 客户端与服务端长连接交互方法及装置 |
CN110166506A (zh) * | 2018-02-12 | 2019-08-23 | 中国移动通信有限公司研究院 | 超文本传输协议Http的连接方法及节点设备 |
CN110351319A (zh) * | 2018-04-04 | 2019-10-18 | 中国移动通信有限公司研究院 | 一种请求消息传输方法、装置及传输设备 |
CN110574022A (zh) * | 2017-05-16 | 2019-12-13 | 苹果公司 | 减少用于呈现远程媒体项目的启动延迟 |
CN111770157A (zh) * | 2020-06-24 | 2020-10-13 | 广东浪潮大数据研究有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN112583818A (zh) * | 2020-12-08 | 2021-03-30 | 清华大学 | 针对移动Web服务的自适应传输协议选择方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112564983B (zh) * | 2020-12-23 | 2023-05-26 | 奇安信网神信息技术(北京)股份有限公司 | 数据传输方法、装置、计算机系统和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005117300A1 (en) * | 2004-05-25 | 2005-12-08 | Agency For Science, Technology And Research | Method and system for data transfer |
CN101426181A (zh) * | 2008-11-12 | 2009-05-06 | 中国移动通信集团广东有限公司 | 具有即时互动的智能化多媒体信息手机浏览系统及实现方法 |
CN103312766A (zh) * | 2011-11-15 | 2013-09-18 | 华为技术有限公司 | 一种支持应用客户端永久在线的方法、系统及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141459B (zh) * | 2007-10-25 | 2010-04-14 | 南京远古科技有限公司 | 使用http与p2p相结合实现数据传输或流媒体传输的方法 |
CN101599982B (zh) * | 2008-06-06 | 2014-03-05 | 广东宇天科技有限公司 | 手机信息浏览装置、系统及实现方法 |
CN102355597A (zh) * | 2011-08-17 | 2012-02-15 | 北京天地云箱科技有限公司 | Http视频点播加速方法及加速系统、本地播放设备 |
-
2013
- 2013-09-25 CN CN201310443059.3A patent/CN104092714B/zh active Active
-
2014
- 2014-09-17 WO PCT/CN2014/086736 patent/WO2015043406A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005117300A1 (en) * | 2004-05-25 | 2005-12-08 | Agency For Science, Technology And Research | Method and system for data transfer |
CN101426181A (zh) * | 2008-11-12 | 2009-05-06 | 中国移动通信集团广东有限公司 | 具有即时互动的智能化多媒体信息手机浏览系统及实现方法 |
CN103312766A (zh) * | 2011-11-15 | 2013-09-18 | 华为技术有限公司 | 一种支持应用客户端永久在线的方法、系统及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110574022A (zh) * | 2017-05-16 | 2019-12-13 | 苹果公司 | 减少用于呈现远程媒体项目的启动延迟 |
CN110574022B (zh) * | 2017-05-16 | 2024-03-01 | 苹果公司 | 减少用于呈现远程媒体项目的启动延迟 |
CN110166506A (zh) * | 2018-02-12 | 2019-08-23 | 中国移动通信有限公司研究院 | 超文本传输协议Http的连接方法及节点设备 |
CN110351319A (zh) * | 2018-04-04 | 2019-10-18 | 中国移动通信有限公司研究院 | 一种请求消息传输方法、装置及传输设备 |
CN110351319B (zh) * | 2018-04-04 | 2022-04-01 | 中国移动通信有限公司研究院 | 一种请求消息传输方法、装置及传输设备 |
CN109743381A (zh) * | 2018-12-27 | 2019-05-10 | 北京字节跳动网络技术有限公司 | 客户端与服务端长连接交互方法及装置 |
CN109743381B (zh) * | 2018-12-27 | 2022-04-05 | 北京字节跳动网络技术有限公司 | 客户端与服务端长连接交互方法及装置 |
CN111770157A (zh) * | 2020-06-24 | 2020-10-13 | 广东浪潮大数据研究有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN111770157B (zh) * | 2020-06-24 | 2023-04-18 | 广东浪潮大数据研究有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN112583818A (zh) * | 2020-12-08 | 2021-03-30 | 清华大学 | 针对移动Web服务的自适应传输协议选择方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2015043406A1 (zh) | 2015-04-02 |
CN104092714B (zh) | 2016-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104092714B (zh) | 流媒体文件的播放方法及装置 | |
CN110933517B (zh) | 码率切换方法、客户端和计算机可读存储介质 | |
EP2503772A1 (en) | Set top box version upgrade method and system | |
CN108063769B (zh) | 一种内容服务的实现方法、装置及内容分发网络节点 | |
US9356985B2 (en) | Streaming video to cellular phones | |
CN102158553A (zh) | 用于远程桌面的播放多媒体文件的方法和装置 | |
CN103348657B (zh) | 流媒体播放方法、设备及系统 | |
CN105471869A (zh) | 一种互联网电视内容请求的连接复用方法及系统 | |
CN104902316A (zh) | 同步播放时间的方法、装置、智能音箱及移动终端 | |
CN105228080A (zh) | 多屏互动方法、系统及浏览器 | |
US8774388B2 (en) | Telephone terminal, telephone communication system, and telephone terminal configuration program | |
CN102387187A (zh) | 服务器、客户端及利用其远程播放视频文件的方法和系统 | |
CN111954028A (zh) | 音频数据的投屏方法、装置、设备及存储介质 | |
CN100512311C (zh) | 基于单个连接的移动流媒体协商的方法 | |
CN103607638A (zh) | 网络媒体播放方法、智能显示终端及系统 | |
US20180123971A1 (en) | Application Implementation Method and Service Controller | |
CN109040018A (zh) | 数据匹配方法、装置、显示终端及可读存储介质 | |
WO2017071642A1 (zh) | 媒体播放方法、装置和计算机存储介质 | |
CN104066015A (zh) | 移动终端的流媒体播放方法及装置 | |
CN113556612A (zh) | 一种浏览器上播放h.265视频流的方法及系统 | |
CN105978846A (zh) | 流媒体业务的处理方法及装置 | |
CN103906007A (zh) | 一种彩信转发方法及装置 | |
CN104038778A (zh) | 多媒体重定向播放的控制方法及装置 | |
WO2010130079A1 (zh) | 业务请求处理方法、装置及系统 | |
KR100841412B1 (ko) | 사용자 단말기에 따른 최적의 멀티미디어 서비스 제공 방법및 이를 구현하는 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20141008 Assignee: Ocean interactive (Beijing) Information Technology Co., Ltd. Assignor: Tencent Technology (Shenzhen) Co., Ltd. Contract record no.: 2016990000422 Denomination of invention: Stream media file playing method and device Granted publication date: 20160217 License type: Common License Record date: 20161009 |
|
LICC | Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model |