CN102761550A - 实现流媒体服务的方法、装置及系统 - Google Patents
实现流媒体服务的方法、装置及系统 Download PDFInfo
- Publication number
- CN102761550A CN102761550A CN2012102296792A CN201210229679A CN102761550A CN 102761550 A CN102761550 A CN 102761550A CN 2012102296792 A CN2012102296792 A CN 2012102296792A CN 201210229679 A CN201210229679 A CN 201210229679A CN 102761550 A CN102761550 A CN 102761550A
- Authority
- CN
- China
- Prior art keywords
- client
- medium data
- stream medium
- streaming media
- media server
- 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
Images
Abstract
本发明公开了实现流媒体服务的方法、装置及系统。本发明中,接收各客户端的注册消息,对各客户端进行注册;接收各注册客户端根据预先设置的时间周期上报的客户端能力信息,进行存储;接收客户端发送的流媒体数据下载请求,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,生成点对点P2P客户端列表;向发送流媒体数据下载请求的客户端返回P2P客户端列表,以使发送流媒体数据下载请求的客户端建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。本发明降低客户端获取流媒体数据所需时间,并且节约服务器带宽,提高服务器端的并发处理能力。
Description
技术领域
本发明涉及流媒体技术,尤其涉及一种实现流媒体服务的方法、装置及系统。
背景技术
近年来,随着网络宽带业务的快速发展,用户对于在数据网络环境下点播和观看音视频等多媒体的需求越来越迫切。流媒体技术作为在数据网上实时传输音、视频的主要方式,成为一种在数据网络上传递多媒体数据的主流技术,可以满足用户不断增长的点播和观看需求。
流媒体技术是指在数据网络上为用户提供流媒体服务,实现按时间先后次序传输和播放的连续音、视频数据流的技术。也就是说,采用流媒体技术传输的数据流具有三个特点:连续性、实时性以及时序性,即其传输的数据流具有严格的前后时序关系,这样,用户可以在下载部分流媒体数据时,即可利用相应的播放器对下载的流媒体数据进行播放,剩余部分的流媒体数据将继续进行下载,直至播放完毕,而无需等到整个流媒体数据全部下载完毕后,才进行播放。其中,使用流媒体技术提供多媒体音视频服务、实现流媒体服务的系统称为流媒体服务系统。
传统的流媒体服务系统一般采用客户端/服务器(C/S,Client/Server)模式,客户端与服务器通过实时流传输协议(RTSP,Real Time StreamingProtocol)进行通信,即用户通过客户端登录流媒体服务器,从流媒体服务器选取需要观看的节目,流媒体服务器根据一个或多个用户选取的同一节目,以单播或组播的方式依序将节目对应的流媒体数据推送给客户端,用户通过客户端播放依序接收的流媒体数据,以进行观看。
由上述可见,流媒体服务器提供的流媒体数据可以被多个客户端接收,当点播的用户数量增加时,只需要增加流媒体服务器的带宽资源即可,但随着用户数量的不断增加,由于流媒体服务器的带宽资源相对是有限的,因而,流媒体服务器的网络带宽资源成为流媒体服务系统能够接纳用户数量、为更多用户提供流媒体服务的瓶颈。
为了提高流媒体服务器能够接纳的用户数量以及网络带宽资源的利用效率,现有技术中,从流媒体服务器端考虑,可以采用更高压缩比的视频编码技术,使传输的流媒体数据量降低,或是,采用更高效的分发技术,例如,组播技术或者内容分发网络(CDN,Content Delivery Network)技术来降低流媒体服务器的带宽消耗。但上述方案需要大量的硬件支持,使得实现流媒体服务的成本较高。
随着点对点(P2P,Pear to Pear)技术的推广,为了降低流媒体服务的成本,P2P技术也被引入到流媒体服务系统中,客户端在从流媒体服务器下载流媒体数据的同时,也向其它客户端提供已下载的流媒体数据,并可从其它客户端获取尚未从流媒体服务器下载的流媒体数据,即流媒体服务器与各客户端组建为对等网络,各客户端之间使用P2P协议支持流媒体服务,从而分担流媒体服务器的流量,降低流媒体服务器的带宽压力,这样,无需在流媒体服务器端增加大量的硬件,从而达到降低流媒体服务成本的目的。
图1为现有结合RTSP和P2P实现流媒体服务的方法流程示意图。参见图1,该流程包括:
步骤101,客户端采用RTSP连接流媒体服务器,获得流媒体数据初始部分,存放在内容缓冲区;
步骤102,客户端在播放所述内容缓冲区数据的同时,采用P2P连接下载有该流媒体数据的其它客户端,从连接的其它客户端获取所述内容缓冲区中该流媒体数据未下载的后续部分,存放在内容缓冲区;
本步骤中,客户端在将下载的流媒体数据存放在内容缓冲区,并将该内容缓冲区进行共享,以便其它客户端能够通过P2P进行连接,以获取共享的流媒体数据,避免从流媒体服务器获取全部流媒体数据,从而有效降低流媒体服务器的带宽资源压力。
获取下载有该流媒体数据的其它客户端的信息,可以通过向流媒体服务系统中的各客户端发送相应查询信息,根据接收的查询响应信息中包含的内容,确定其它客户端是否下载有该流媒体数据。
步骤103,客户端清除内容缓冲区中播放过的流媒体数据,若内容缓冲区的剩余数据量小于第一门限值,则启动RTSP连接流媒体服务器,将流媒体数据的后续部分下载到内容缓冲区,若剩余数据量大于第二门限值,则终止RTSP下载。
本步骤中,内容缓冲区的剩余数据量大于第二门限值,表明可以从其它客户端通过P2P连接获取所需的流媒体数据,这样,可以终止从流媒体服务器获取流媒体数据,以节约流媒体数据的带宽资源。
由上述可见,现有结合RTSP和P2P实现流媒体服务的方法,客户端在获得流媒体数据初始部分的同时,采用P2P连接其它客户端,并获取该流媒体数据未下载的后续部分,提高了接入流媒体服务系统的用户数量,降低了流媒体服务器端的带宽压力。但是,用户从其它客户端得到P2P流媒体数据时,由于缺乏对其它客户端的控制,其它客户端无法保证P2P流媒体数据按顺序传送,使得其它客户端发送的流媒体数据相互之间具有重复现象,消耗了有效的带宽资源,降低了系统带宽资源的利用率,而用户正常播放节目需要按顺序获取流媒体数据码流,导致请求流媒体数据的客户端需要缓存不按顺序传输、以及重复传输的流媒体数据,并对缓存的流媒体数据进行解析,清除重复的流媒体数据,浪费了客户端的缓存资源量,增加了客户端用于处理缓存的流媒体数据的资源开销;进一步地,下载流媒体数据的客户端需要了解整个流媒体服务系统网络拓扑,以发送查询请求的方式,尝试与网络拓扑中的每个客户端(节点)进行连接,获取其它下载有该流媒体数据的客户端列表,然后再根据该客户端列表与相应其它客户端分别建立P2P连接,请求流媒体数据传输,使得从其它客户端获取流媒体数据所需的时间较长、启动速度较慢,且流媒体服务系统中传输的冗余消息多,消耗了有效的带宽资源,降低了带宽资源的利用率;而且,客户端之间彼此独立进行信息的交互,传输需要的流媒体数据,流媒体服务器无法获知当前下载客户端的状态,因而,需要为该客户端预留带宽资源,无法真正有效地提高流媒体服务器的带宽利用率,解决流媒体服务器的带宽瓶颈问题;此外,客户端自行控制P2P连接,流媒体服务器失去了对流媒体数据的控制,既不利于保障服务质量,也不利于流媒体数据传输的安全性,从而导致流媒体服务器在文件定位、客户端选择、容错以及安全机制方面存在很大的局限,尤其是安全领域的身份识别认证、授权、数据完整性、保密性和不可否认性等方面难于控制。例如,客户端由于无法获取整个流媒体服务概况信息,所以无法选择最优的其它客户端为其服务。同时,客户端需要根据门限值选择下载流媒体数据的流媒体服务器或其它客户端,需要在RTSP与P2P之间进行频繁切换,增加了客户端的实现复杂度。
发明内容
本发明的实施例提供一种实现流媒体服务的方法,降低客户端获取流媒体数据所需的时间、提高带宽资源的利用率。
本发明的实施例还提供一种实现流媒体服务的装置,降低客户端获取流媒体数据所需的时间、提高带宽资源的利用率。
本发明的实施例还提供一种实现流媒体服务的系统,降低客户端获取流媒体数据所需的时间、提高带宽资源的利用率。
为达到上述目的,本发明实施例提供的一种实现流媒体服务的方法,包括:
接收各客户端的注册消息,对各客户端进行注册;
接收各注册客户端根据预先设置的时间周期上报的客户端能力信息,进行存储;
接收客户端发送的流媒体数据下载请求,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,生成点对点P2P客户端列表;
向发送流媒体数据下载请求的客户端返回P2P客户端列表,以使发送流媒体数据下载请求的客户端建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。
一种实现流媒体服务的装置,该装置包括:注册模块、客户端能力信息存储模块以及下载请求处理模块,其中,
注册模块,用于接收各客户端的注册消息,对各客户端进行注册;
客户端能力信息存储模块,用于接收各注册客户端根据预先设置的时间周期上报的客户端能力信息,进行存储;
下载请求处理模块,用于接收客户端发送的流媒体数据下载请求,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,生成点对点P2P客户端列表;向发送流媒体数据下载请求的客户端返回P2P客户端列表,以使发送流媒体数据下载请求的客户端建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。
一种实现流媒体服务的系统,该系统包括:客户端以及流媒体服务器,其中,
客户端,用于向流媒体服务器发送注册消息进行注册;
根据预先设置的时间周期,向流媒体服务器上报自身的客户端能力信息;
接收流媒体服务器下发的P2P客户端列表,建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。
流媒体服务器,用于接收各客户端的注册消息,对各客户端进行注册;
接收各注册客户端根据预先设置的时间周期上报的客户端能力信息,进行存储;
接收客户端发送的流媒体数据下载请求,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,生成点对点P2P客户端列表,向发送流媒体数据下载请求的客户端返回P2P客户端列表。
由上述技术方案可见,本发明实施例提供的一种实现流媒体服务的方法、装置及系统,接收各客户端的注册消息,对各客户端进行注册;接收各注册客户端根据预先设置的时间周期上报的客户端能力信息,进行存储;接收客户端发送的流媒体数据下载请求,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,生成点对点P2P客户端列表;向发送流媒体数据下载请求的客户端返回P2P客户端列表,以使发送流媒体数据下载请求的客户端建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。这样,由流媒体服务器统一控制能够提供流媒体数据下载的客户端,避免了各客户端重复发送流媒体数据的现象,提高了带宽资源的利用率,并将P2P客户端列表发送至请求流媒体数据下载的客户端,使得请求流媒体数据下载的客户端无需向其它客户端发送查询请求,降低了客户端获取流媒体数据所需的时间。本申请可以节约服务器带宽,提高服务器端的并发处理能力,服务更多的用户。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,以下将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,还可以根据这些附图所示实施例得到其它的实施例及其附图。
图1为现有结合RTSP和P2P实现流媒体服务的方法流程示意图。
图2为本发明实施例实现流媒体服务的方法流程示意图。
图3为本发明客户端注册的方法流程示意图。
图4为本发明客户端取消注册的方法流程示意图。
图5为本发明播放流媒体服务的方法流程示意图。
图6为本发明将正常播放过程更改为快进播放过程的方法流程示意图。
图7为本发明暂停播放流媒体服务的方法流程示意图。
图8为本发明播放广告的方法流程示意图。
图9为本发明实施例实现流媒体服务的装置结构示意图。
图10为本发明实施例实现流媒体服务的系统结构示意图。
具体实施方式
以下将结合附图对本发明各实施例的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
现有结合RTSP和P2P实现流媒体服务的方法,由于请求流媒体数据的客户端缺乏对其它客户端的控制,使得传输流媒体数据的各客户端可能传输相同的流媒体数据,系统带宽资源利用率不高;同时,客户端在获得流媒体数据初始部分的同时,以发送请求的方式,尝试与网络拓扑中的每个客户端进行连接,获取下载有该流媒体数据的其它客户端列表,然后再根据该客户端列表与其它客户端分别建立P2P连接,请求流媒体数据传输,使得从其它客户端获取流媒体数据所需的时间较长,流媒体服务系统中传输的冗余消息多。本发明实施例中,考虑对RTSP协议原有方法进行扩展,采用流媒体服务器控制提供流媒体服务的各客户端,即通过对登录的客户端进行注册,并周期性向流媒体服务器上报当前缓存的流媒体数据信息以及客户端能力信息,在客户端从流媒体服务器下载流媒体数据时,流媒体服务器根据其它客户端上报的客户端能力信息,从中选取能够提供用户下载的流媒体数据的客户端,并通知用户,从而使该用户建立与提供流媒体数据的客户端的P2P连接,获取所需的流媒体数据。这样,当用户点播流媒体时,流媒体服务器首先使用与该用户相邻的缓存有点播的流媒体数据的其它用户传送流媒体数据;当没有可用的其它用户时,流媒体服务器再负责传送点播的流媒体数据。可避免该客户端尝试与网络拓扑中的每个客户端进行连接,从而导致获取流媒体数据所需时间较长的问题,既能解决流媒体服务器的带宽瓶颈问题,又能保证流媒体服务的文件定位、节点选择、安全机制等方面的问题。
具体来说,用户在客户端开机后注册到流媒体服务器,并且周期性报告客户端能力信息;当用户通过客户端点播流媒体数据时,流媒体服务器首先根据各客户端上报的客户端能力信息,从其相邻的客户端中查询是否存在能够提供点播的流媒体数据的客户端,如果存在,则下发信息通知点播的客户端建立P2P连接,告知其应该从何处接收,以及接收的流媒体数据信息,并且命令缓存有该流媒体数据的客户端给该客户端发送流媒体数据;如果不存在,则负责发送该客户端点播的流媒体数据。
进一步地,当用户通过客户端需要控制流媒体数据(媒体节目)时,流媒体服务器首先分析用户的控制操作,并将封装流媒体数据的方法携带在控制信令中,发送给提供流媒体数据的客户端,提供流媒体数据的客户端根据流媒体服务器的控制信令传输流媒体数据。例如,若用户请求某一段时间内的媒体节目,流媒体服务器只指定发送用户请求的时间段内的流媒体数据;若用户请求快进,流媒体服务器指定发送的流媒体数据为裁剪过的符合快进倍速的数据;若用户请求快退,流媒体服务器指定发送的流媒体数据为裁剪过的符合快退倍速的数据,即按照用户的控制操作,只发送符合用户控制操作请求的流媒体数据。
本发明实施例中,控制信令采用集中控制的方法,即流媒体服务器接收与发送所有的控制信令,客户端不能直接通过控制信令请求给它提供流媒体数据的其它客户端改变传输的流媒体数据,而必须经过流媒体服务器的处理,再由流媒体服务器根据具体的需要分发给发送流媒体数据的其它客户端进行处理。也就是说,请求流媒体数据的客户端只能与流媒体服务器建立控制信令的连接,并且只能发送控制信令到流媒体服务器,并接收流媒体服务器发送的回复消息或者控制消息,而不能越过流媒体服务器直接与其它的客户端进行信令控制;提供流媒体数据的其它客户端只接受流媒体服务器的指令,并根据指令的要求发送流媒体数据到指定的客户端,提供流媒体数据的其它客户端与请求流媒体数据的客户端之间,只进行流媒体数据的连接,而不用建立信令控制的连接,即RTSP的连接。
图2为本发明实施例实现流媒体服务的方法流程示意图。参见图2,该流程包括:
步骤201,接收各客户端的注册消息,对各客户端进行注册;
本步骤中,客户端启动后,采用RTSP连接流媒体服务器,通过注册(REGISTER)方法,向流媒体服务器发送注册(REGISTER)消息进行注册。注册的目的是绑定客户端与流媒体服务器,以便在后续流程中,流媒体服务器从注册的客户端中,选择能够为请求流媒体数据的客户端提供流媒体数据的客户端。
注册消息包括:注册用户的用户名信息、注册用户的网络地址信息以及注册流媒体服务器的位置信息等。
步骤202,接收各注册客户端根据预先设置的时间周期上报的客户端能力信息,进行存储;
本步骤中,流媒体服务器根据接收的客户端能力信息,判断上报客户端能力信息的客户端是否已注册,如果是,则在为该注册客户端分配的存储区中存储客户端能力信息,具体为:流媒体服务器接收各客户端上报的客户端能力信息,如果获取到与存储的注册消息中注册用户的网络地址信息相匹配的客户端,则存储该客户端的客户端能力信息;如果否,则将接收的客户端能力信息作丢弃处理。
客户端能力信息包括客户端缓存的流媒体数据信息,例如,流媒体数据名、大小以及流媒体数据帧标识信息等。进一步地,还可以包括客户端的网络负载信息或当前的带宽使用量,当然,还可以包括流媒体数据类型、传输协议以及流媒体数据格式等信息。
上报客户端能力信息通过通知(ANNOUNCE)方法实现,即周期性地发送通知消息到流媒体服务器,通知流媒体服务器其缓存的流媒体数据信息、或,缓存的流媒体数据信息以及客户端的网络负载信息,以便在后续流程中,流媒体服务器根据注册消息以及客户端能力信息,选择提供流媒体数据的客户端。
预先设置的时间周期可以根据实际需要确定。
步骤203,接收客户端发送的流媒体数据下载请求,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,生成P2P客户端列表;
本步骤中,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需流媒体数据的客户端包括:
A11,根据流媒体数据下载请求中携带的流媒体数据信息,匹配存储的各客户端能力信息中包含的客户端缓存的流媒体数据信息,获取匹配的客户端;
本步骤中,如果存储的客户端缓存的流媒体数据信息与流媒体数据下载请求中携带的流媒体数据信息相一致,例如,流媒体数据名、大小以及流媒体数据帧标识信息均相同,则匹配成功。
A12,从匹配的客户端中,选取能够提供下载流媒体数据的客户端。
本步骤中,在选取能够提供下载流媒体数据的客户端后,可以进一步包括:
将请求下载的流媒体数据按照选取的客户端数进行拆分,并分配给选取的各客户端以传输相应拆分的流媒体数据。具体来说,
如果客户端能力信息只包含缓存的流媒体数据信息,则从匹配的客户端中,随机选取一个或多个客户端,并将请求下载的流媒体数据进行拆分后,分配给相应选取的客户端,例如,如果选取的客户端为一个,则该客户端传输所有流媒体数据;如果选取的客户端为两个,则将请求下载的流媒体数据拆分为两部分,可以分配其中一个客户端传输前50%的流媒体数据,另一客户端传输后50%的流媒体数据;如果客户端能力信息包含缓存的流媒体数据信息以及客户端的网络负载信息,则从匹配的客户端中,再根据客户端的网络负载信息,选取网络负载较轻的一个或多个客户端。也就是说,
如果客户端能力信息只包含缓存的流媒体数据信息,从匹配的客户端中,随机选取一个或多个客户端,并将请求下载的流媒体数据进行拆分后,分配给相应选取的客户端;
如果客户端能力信息包含缓存的流媒体数据信息以及客户端的网络负载信息,则从匹配的客户端中,再根据客户端的网络负载信息,选取网络负载较轻的一个或多个客户端,并将请求下载的流媒体数据进行拆分后,分配给相应选取的客户端。
实际应用中,为每个选取的客户端分配待传输的流媒体数据的数据量,可根据各客户端的网络负载信息进行,例如,网络负载轻的客户端,可多分配待传输的流媒体数据的数据量,由于传输的流媒体数据可通过帧序号进行标识,因而,发送流媒体数据下载请求的客户端只需根据帧序号依序缓存接收的流媒体数据,即可实现顺序播放。
较佳地,在选取能够提供用户下载流媒体数据的客户端后,还可以对选取的客户端进行优化,即在随机选取一个或多个客户端或选取网络负载较轻的一个或多个客户端的步骤之后,并将请求下载的流媒体数据按照选取的客户端数进行拆分的步骤之前,进一步包括:
按照注册消息中包含的注册流媒体服务器的位置信息,从选取的客户端中,选取与注册流媒体服务器位置相近的客户端。
实际应用中,如果流媒体服务器根据存储的客户端能力信息,确定没有能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,则为请求流媒体数据下载的客户端分配带宽资源,并向该客户端发送下载请求对应的流媒体数据。
当然,本发明实施例中,如果流媒体服务器的带宽资源许可,也可以在选取能够提供用户下载流媒体数据的客户端的同时,也向发送下载请求的客户端发送相应的流媒体数据。
这样,当用户需要获取相关流媒体数据进行观看时,向流媒体服务器发送流媒体数据下载请求,流媒体服务器接收流媒体数据下载请求,根据系统的网络负载(带宽资源)情况,确定可以为该客户端分配带宽资源,则为该客户端分配带宽资源,并传输下载请求对应的流媒体数据,同时,根据其它客户端上报的客户端能力信息,获取能够提供该流媒体数据的客户端,形成P2P客户端列表。
实际应用中,客户端可以使用建立(SETUP)方法发送流媒体数据下载请求,请求建立流媒体服务连接,流媒体服务器端查询所有客户端上报的客户端能力信息,搜索最优的能够提供流媒体数据的客户端。
步骤204,向发送流媒体数据下载请求的客户端返回P2P客户端列表,以使发送流媒体数据下载请求的客户端建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。
本步骤中,可以通过设置参数(SET_PARAMETER)方法通知发送请求的客户端,使之建立传输流媒体数据的P2P连接,以及,将分配的流媒体数据信息通知给相应选取的客户端。
获取请求下载的流媒体数据包括:
A21,确认P2P连接建立,客户端使用播放(PLAY)方法向流媒体服务器发送播放消息;
本步骤中,由于P2P客户端列表中的各客户端网络负载均较轻,因而,一般均可与发送流媒体数据下载请求的客户端建立起P2P连接。当然,实际应用中,也可以在发送流媒体数据下载请求的客户端与P2P客户端列表中的客户端建立起P2P连接后,再将该建立P2P连接的客户端信息返回至流媒体服务器,流媒体服务器再为建立P2P连接的客户端分配所传输的相应流媒体数据,然后将分配的流媒体数据信息通知给建立P2P连接的客户端。
A22,流媒体服务器接收播放消息,使用流动(POUR)方法发送流动消息,携带分配的待传输的流媒体数据信息,通知已与发送流媒体数据下载请求的客户端建立P2P连接的客户端开始发送流媒体数据;
本步骤中,如果提供下载流媒体数据的客户端为多个,则在发送至每个客户端的流动消息中,携带流媒体服务器为该客户端分配的待传输的流媒体数据信息,以便每一客户端能够传输分配的流媒体数据。
当然,流动消息中还可以包括:接收方IP地址、以及传输流媒体数据的码率等参数。
A23,与发送流媒体数据下载请求的客户端建立P2P连接的客户端在相应流媒体数据传输完毕后,使用通知(ANNOUNCE)方法发送通知消息,通知流媒体服务器流媒体数据已发送完毕;
A24,流媒体服务器接收通知信息,使用通知(ANNOUNCE)方法发送通知消息,通知发送流媒体数据下载请求的客户端,请求的流媒体数据已发送完毕。
本步骤中,通知消息中携带有发送结束的代码以及发送结束的原因等信息。其中,发送结束的原因可以包括:到达流媒体数据的结尾、到达流媒体数据的开端、流媒体数据被暂停、流媒体数据被流媒体服务器终止以及流媒体数据被客户端终止等,该步骤中,发送结束的原因是到达流媒体数据的结尾,关于其它发送结束的原因,后续再进行详细描述。
发送流媒体数据下载请求的客户端在接收到流媒体数据已发送完毕的通知消息后,可以进一步断开与该流媒体数据已发送完毕的客户端的P2P连接。
实际应用中,用户在观看流媒体数据时,可能需要执行快进、快退或者从某特定位置开始播放观看流媒体数据等操作,因而,相应地,提供用户下载流媒体数据的客户端需要根据用户的操作相应调整发送的流媒体数据,该方法进一步包括:
A31,在播放流媒体数据的过程中,客户端使用播放(PLAY)方法,向流媒体服务器发送流媒体数据中间操作请求;
本步骤中,流媒体数据中间操作包括:快进操作、快退操作以及从特定位置开始播放操作等。
当客户进行快进、快退或者请求从某特定位置开始播放等操作时,客户端使用PLAY方法将这些操作通过流媒体数据中间操作请求发送到流媒体服务器,即流媒体数据中间操作请求中包含快进、快退或开始播放位置信息,其中,对于快进操作及快退操作,流媒体数据中间操作请求中包含快进倍速信息和当前播放的流媒体数据信息,或,快退倍速信息和当前播放的流媒体数据信息;而对于从特定位置开始播放的操作,流媒体数据中间操作请求中包含特定位置的流媒体数据信息。
实际应用中,针对用户的快进操作,客户端还可以根据用户当前播放的流媒体文件信息,进行特殊处理,例如,现有的流媒体数据,包含有多种个性化的业务,举例来说,对于视频播放的流媒体,其中可能包含有个性化的广告视频,当用户观看到该广告视频时,希望跳过(跳转到特定位置)或采用快进快速观看,为了保障运营商的合法广告投入,本发明实施例中,在向流媒体服务器发送流媒体数据中间操作请求之前,进一步包括:
A311,如果流媒体数据中间操作为快进操作或从某特定位置开始播放操作,获取当前播放的流媒体数据信息;
A312,判断当前播放的流媒体数据是否为预先设置的流媒体数据,如果否,执行向流媒体服务器发送流媒体数据中间操作请求的流程,如果是,计算播放完毕预先设置的流媒体数据所需时间,将该计算得到的时间作为延迟时间,携带在流媒体数据中间操作请求中,执行向流媒体服务器发送流媒体数据中间操作请求的流程。
本步骤中,流媒体服务器控制客户端具体观看的节目,例如广告服务。当节目的中间需要插播广告时,流媒体服务器可以控制流媒体数据发送正常的广告数据,而选择在广告数据播放期间不响应客户端的快进、跳过等操作,延迟至广告数据播放完毕时再响应客户端操作,从而保证了广告的投放。
A32,流媒体服务器使用流动(POUR)方法,通知与该客户端建立P2P连接的客户端,按照流媒体数据中间操作请求调整发送至该客户端的流媒体数据。
本步骤中,如果为快进操作或快退操作,则与该客户端建立P2P连接的客户端接收到通知消息后,按照流媒体数据中间操作请求中包含的信息进行相应操作,例如,如果流媒体数据中间操作请求中不包含延迟时间信息,则按照快进或快退倍率信息,发送流媒体数据中间操作请求中当前播放的流媒体数据之后的流媒体数据;如果流媒体数据中间操作请求中包含延迟时间信息,则在延迟该延迟时间后,按照快进或快退倍率信息发送流媒体数据中间操作请求中当前播放的流媒体数据之后的流媒体数据;如果为从特定位置开始播放的操作,则与该客户端建立P2P连接的客户端接收到通知消息后,按照流媒体数据中间操作请求中包含的特定位置的流媒体数据信息,从该特定位置开始发送流媒体数据。
当然,用户在观看流媒体数据的过程中,也可以执行暂停操作,这样,该方法进一步包括:
客户端发送暂停(PAUSE)方法通知流媒体服务器,流媒体服务器发送暂停(PAUSE)方法通知与该客户端建立P2P连接的客户端暂停发送流媒体数据。
本步骤中,与该客户端建立P2P连接的客户端接收通过暂停方法发送的通知消息后,暂停向相应的客户端发送流媒体数据,直至从流媒体服务器接收到下一通知消息,恢复或终止向向相应的客户端发送流媒体数据。
实际应用中,接收流媒体数据的客户端也可以向其它客户端提供缓存的流媒体数据。因而,较佳地,该方法还可以进一步包括:
步骤205,流媒体服务器向发送流媒体数据下载请求的客户端下发流动消息,以使发送流媒体数据下载请求的客户端根据流动消息中携带的待传输的流媒体数据信息,传输所述待传输的流媒体数据。
本发明实施例中,客户端在启动后,设置共享的流媒体数据缓冲区,以将存储在流媒体数据缓冲区中的流媒体数据进行共享,以便其它客户端能够通过P2P进行连接,获取共享的流媒体数据。这样,客户端既可以从其它客户端获取流媒体数据,也可以将自身缓存的流媒体数据传输至其它客户端。接收流媒体服务器通过设置参数方法(SET_PATAMETERMethod)或流动方法(POUR Method)下发的相应消息,客户端根据其中包含的参数,例如,接收方IP地址、传送的流媒体数据的时间范围以及传送流媒体数据的码率等参数,向相应的客户端传输流媒体数据。
该方法还可以进一步包括:
步骤206,接收客户端发送的退出流媒体服务请求,取消该客户端的注册。
本步骤中,当客户端关机或离线退出流媒体服务器时,它向流媒体服务器发送REGISTER方法进行销注,这样,流媒体服务器在后续流程中,就不再考虑该客户端为其它客户端提供流媒体数据。
下面对本发明实施例对RTSP进行扩展的方法及增加的方法作一概括性描述。
表1为本发明实施例扩展的RTSP方法。
表1
表2为本发明实施例增加的RTSP方法。
表2
方法 | 方向 | 说明 |
REGISTER | 用户→服务器 | 客户端注册,连接到流媒体服务器 |
POUR | 服务器→用户 | 流媒体服务器通知客户端发送流媒体数据 |
以下再对表1和表2中扩展或增加的RTSP方法作具体描述:
为说明具体方法,假设以下数据:
流媒体服务器IP地址(MS IPv4):172.16.0.66;
客户端1的IP地址(STB 1IPv4):10.0.64.6;
客户端2的IP地址(STB2 IPv4):10.0.64.7。
(1)注册方法(REGISTER Method)
REGISTER方法用于绑定客户端与流媒体服务器,以使流媒体服务器可以获取客户端的当前位置,帮助确定客户端之间的连接关系。当客户端开机或上线时,用户通过客户端发送REGISTER Method给流媒体服务器,通知流媒体服务器该用户已准备接受流媒体服务。
注册方法的具体内容包括:注册用户的用户名信息以及注册用户的网络地址信息。
该注册方法的规范说明:
Request-URI:注册流媒体服务器的位置信息,用于路由;
To:注册的用户名;
From:注册的用户名,使用与To域相同的值;
Call-ID:标识用户的本次注册,用户应在一次注册周期中保持使用相同的Call-ID;
CSeq:用于保证消息的顺序;
Contact:包含用户的网络地址;
Expires:注册的有效期,单位秒。
例子:
C(客户端)→S(流媒体服务器):
REGISTER rtsp://172.16.0.66/registrar RTSP/1.0
From:stb1
Call-ID:843817637684230998sdasdh09
CSeq:1826
Contact:10.0.64.6
Expires:7200
Content-Length:0
S→C:
RTSP/1.0200 OK
Call-ID:843817637684230998sdasdh09
CSeq:1826
Expires:7200
Content-Length:0
(2)注销方法
当用户关机或下线时,用户通过客户端发送REGISTER Method给流媒体服务器,通知流媒体服务器该用户已离开。
该方法的具体内容与规范可参考注册方法,在此不再赘述。
例子:
C→S:
REGISTER rtsp://172.16.0.66/registrar RTSP/1.0
From:stb1
Call-ID:843817637684230998sdasdh09
CSeq:1827
Contact:10.0.64.6
Expires:0
Content-Length:0
S→C:
RTSP/1.0200 OK
Call-ID:843817637684230998sdasdh09
CSeq:1827
Expires:0
Content-Length:0
(3)流动方法(POUR Method)
流媒体服务器使用Pour Method,通知客户端将缓存的流媒体数据发送给指定的客户端。
该流动方法的具体内容包括了以下信息:
上传的流媒体数据信息;
接收方IP地址;
传送的流媒体数据的时间范围,即分配的待传输的流媒体数据信息;
传输流媒体数据的码率。
该流动方法的规范说明如下:
Request-URI:为RTSP URL,用于请求的流媒体资源位置;
CSeq:用于保证消息的顺序;
Session:标识会话;
Range:流媒体数据传送的时间范围;
Transport:描述目的客户端的地址信息及传输参数。
例子:
S→C:
POUR rtsp://10.0.64.6/foo/bar/baz.rm RTSP/1.0
CSeq:304
Session:12345678
Range:npt=10-15
Transport:
RTP/AVP;unicast;destination=10.0.64.7;client_port=4588-4589;mode=”PLAY”
C→S:
RTSP/1.0200 OK
CSeq:304
Session:12345678
RTP/AVP;unicast;destination=10.0.64.7;client_port=4588-4589;source=10.0.64.6;server_port=6256-6257;mode=”PLAY”
(4)通知方法(ANNOUNCE Method)
该通知方法用于通知数据信息或通知流媒体结束。
1)通知数据信息:
当用户注册后,定期发送ANNOUNCE Method给流媒体服务器,既用于通知流媒体服务器该用户当前的运行情况(客户端能力信息),又用于通知流媒体服务器表明该用户当前处于激活状态。如果流媒体服务器在定时的时间周期内没有接收到客户端发送的ANNOUNCE Method,则标识该客户端为待定(Pending)客户端,不再使用该客户端传送流媒体数据,直到接收到该客户端发送的下一个ANNOUNCE Method。
该通知方法的具体内容包括:
当前的带宽使用量、当前缓存的流媒体数据内容、流媒体数据类型、传输协议以及流媒体数据格式等信息。
该通知方法的规范说明:
Request-URI:用于请求的流媒体资源位置,*表示不指定具体的流媒体;
CSeq:用于保证消息的顺序;
To:注册的用户名;
From:注册的用户名,使用与TO域相同的值;
Call-ID:使用注册时的Call-ID;
CSeq:用于保证消息的顺序;
Expires:本消息描述信息的有效期,单位为秒;
消息体中描述了各流媒体资源的具体信息。
例子:
C→S:
ANNOUNCE*RTSP/1.0
CSeq:302
From:stb1
Call-ID:843817637684230998sdasdh09
Contact:10.0.64.6
Expires:300
Content-Type:application/sdp
Content-Length:XXX
v=0
o=Bob28908445262890842807IN IP410.0.64.5
s=video share session
c=IN IP410.0.64.6/15000
b=CT:4048
m=audio 3456 RTP/AVP0
a=control:rtsp://10.0.64.6/twister/audio.en
m=video2232RTP/AVP98
a=control:rtsp://10.0.64.6/twister/video1
b=AS:2048
a=rtpmap:98h263-1998/90000
a=framerate:30
a=range:npt=0-
m=video2232RTP/AVP99
a=control:rtsp://10.0.64.6twister/video2
b=AS:2048
a=rtpmap:99h263-1998/90000
a=framerate:30
a=range:npt=10-20
S→C:
RTSP/1.0200OK
CSeq:302
Call-ID:843817637684230998sdasdh09
Expires:300
Content-Length:0
2)通知流媒体结束:
流媒体服务器使用Announce Method通知客户端,停止发送流媒体数据给指定的客户端,或者,通知客户端流媒体数据发送完成。
该方法的具体内容包括:
发送结束的代码;
发送结束的原因。
该方法的规范说明:
该方法新增加Header Field Stop-Notice。
Stop-Notice header field用于通知流媒体数据接收方,停止传输当前流媒体,并告知停止原因。它由两部分组成,包括4位数的停止代码以及停止原因的描述。
本发明实施例中,当前定义的4位数的停止代码如下:
2101:到达流媒体数据的结尾;
2102:到达流媒体数据的开端;
2103:流媒体数据被暂停;
2104:流媒体数据被流媒体服务器终止;
2105:流媒体数据被客户端终止。
例子:
S→C:
ANNOUUNCE rtsp://172.16.0.66/foo/bar/baz.rm RTSP/1.0
CSeq:305
Session:47112344
Notice:2101“Reach End of Stream”
C→S:
RTSP/1.0200 OK
CSeq:305
Session:47112344
(5)设置参数方法(SET_PATAMETER Method)
当用户使用SETUP Method建立会话后或使用PLAY Method开始播放流媒体后,流媒体服务器可以通过SET_PATAMETER Method修改该用户接收本次会话的流媒体数据的信息,例如,从何处接收流媒体数据等。当流媒体服务器感知到该用户当前会话的流媒体数据的信息发生变化后,再次通过SET_PATAMETER Method给用户下发最新的接受本次会话的流媒体数据的信息。
该方法的具体内容包括:
接受的流媒体数据;
发送方的IP地址;
发送的流媒体数据信息。
例子:
S→C:
SET_PARAMETER rtsp://172.16.0.66/foo/bar/baz.rm RTSP/1.0
CSeq:303
Session:47112344
Transport:
RTP/AVP;unicast;destination=10.0.64.7;source=10.0.6.6;client_port=4588-4589;server_port=6256-6257;mode=”PLAY”
RTP-Info:
url=rtsp://10.0.64.6/foo/bar/baz.rm/track;seq=2305;rtptime=28242
C→S:
RTSP/1.0200 OK
CSeq:303
Session:47112344
本发明实施例中,采用RTSP而不采用SIP,是因为:SIP协议只有INVITE消息建立连接,BYE消息结束连接,这种消息只能应用于电话业务,不能满足流媒体的播放业务。而RTSP协议具有SETUP消息建立连接,PLAY消息开始播放流媒体,PAUSE消息暂停流媒体播放,TEARDOWN消息接收流媒体播放。并且PALY消息支持从具体的某个时间点开始播放,播放特定的时间长度,快进,快退等操作。这些丰富的操作都是SIP协议所不能支持的,因而,SIP支持的流媒体只能满足用户顺序的观看直播节目,而这种服务已不能满足日益增长的需求,即基于SIP与P2P结合的方案,不能完成对于这些丰富的操作所需要的流媒体数据的传输任务。而本发明基于RTSP协议的流媒体服务器,可以支持客户端的丰富的操作,可以通过流媒体服务器控制来准确传输客户端所需要的流媒体数据,而不必传输所有的流媒体数据。这样,采用本发明RTSP扩展方案进行流媒体播放控制的流程,可以解决流媒体服务器结合P2P方法对于流媒体数据传输的控制,及流媒体服务播放流程的问题;而扩展的RTSP新方法注册(REGISTER),可以解决流媒体服务器获得网络整体拓扑关系的问题;通过扩展RTSP新方法流动(POUR),可以解决P2P流媒体数据传送的无序问题,以及流媒体数据的安全性问题;通过对RTSP现有方法通知(ANNOUNCE)的扩展,可以解决流媒体服务器感知客户端的能力以及状态的问题,以及对于流媒体服务播放流程的控制;通过RTSP现有方法设置参数(SET_PARAMETER)的扩展,可以解决客户端获取网络拓扑关系,以及流媒体数据的安全性问题。
由上述可见,本发明实施例的实现流媒体服务的方法,流媒体服务器通过客户端的注册以及周期性发送的客户端能力信息,获得客户端当前的能力与状态,并将能够提供流媒体数据的客户端信息通知请求流媒体数据传输的客户端,维护了流媒体服务系统整个网络的拓扑关系,可以做到对带宽资源信息的统一管理与使用,降低了从其它客户端获取流媒体数据所需的时间,且减少了流媒体服务系统中传输的冗余消息,提高了带宽资源的利用率。流媒体服务器控制各客户端的流媒体数据传输,避免了各客户端传输重复的流媒体数据,客户端通过流媒体服务器通知提供流媒体数据的客户端,从而获取所需的流媒体数据,可以有效节约系统的带宽资源,并确保流媒体数据的顺序性、时效性,从而保证了流媒体服务的质量,也降低了客户端的缓存资源量,流媒体服务器通过获知当前下载客户端的状态,为该客户端分配相应的带宽资源,流媒体服务器的带宽利用率高,提高了流媒体服务器的性能与效率;进一步地,流媒体服务器控制各客户端之间的流媒体数据传输,所有的控制信令都通过流媒体服务器,并由流媒体服务器处理,客户端之间不能进行控制信令的交互,只能进行具体的流媒体数据传输,保障了流媒体数据的安全性;而且,客户端无需在RTSP与P2P之间进行频繁切换,降低了客户端的实现复杂度。本发明可以应用于流媒体服务中,解决大规模用户使用流媒体服务的问题。
以下基于图2,举几个具体实施例,对本发明做进一步的说明。
图3为本发明客户端注册的方法流程示意图。参见图3,该流程包括:
步骤301,客户端启动,向流媒体服务器发送注册消息;
步骤302,流媒体服务器接收注册消息,进行处理后,向客户端返回200OK消息;
本步骤中,200OK消息的详细描述可参见相关技术文献,在此不再赘述。
步骤303,客户端按照预先设置的时间周期,向流媒体服务器发送通知消息;
本步骤中,通知消息中携带该客户端的能力信息。客户端的能力信息包括:客户端缓存的流媒体数据信息以及客户端的网络负载信息。
步骤304,流媒体服务器接收通知消息,进行存储,向客户端返回200OK消息。
图4为本发明客户端取消注册的方法流程示意图。参见图4,该流程包括:
步骤401,客户端向流媒体服务器发送注册消息;
本步骤中,注册消息用于通知流媒体服务器该用户将离开,执行取消注册流程。
步骤402,流媒体服务器接收注册消息,进行处理后,向客户端返回200OK消息。
本步骤中,进行处理可以是将该客户端标识从激活状态更新为未激活状态,用以表示该客户端不能提供流媒体数据传输服务。
图5为本发明播放流媒体服务的方法流程示意图。参见图5,假设第一客户端分别从流媒体服务器以及第二客户端获取流媒体数据,该流程包括:
步骤501,第一客户端向流媒体服务器发送建立消息,请求建立流媒体服务连接;
本步骤中,客户端在发送的建立(SETUP)消息中携带有请求的流媒体数据信息。
步骤502,流媒体服务器向第一客户端返回200OK消息;
步骤501、502为第一客户端使用建立(SETUP)方法到流媒体服务器请求建立流媒体服务连接。
步骤503,流媒体服务器根据各客户端的能力信息,获取为第一客户端提供流媒体数据的第二客户端,向第一客户端发送设置参数消息;
本步骤中,由于流媒体数据是顺序播放的,流媒体服务器根据各客户端的能力信息,例如,客户端的可用带宽信息,选择可用带宽最大的客户端为第一客户端提供流媒体数据。当然,实际应用中,也可以选择多个客户端为第一客户端提供流媒体数据,该多个客户端按照流媒体服务器的控制,分别发送不同时段的流媒体数据,这样,可能需要接收流媒体数据的第一客户端具备较大的带宽和额外的缓存机制。
设置参数(SET_PARAMETER)消息(方法)主要用于通知请求流媒体数据的第一客户端,对于流媒体服务器选择可用带宽最大的客户端的情形,通知第一客户端接受选用的客户端发送的流媒体数据;对于流媒体服务器选择多个客户端的情形,在SET_PARAMETER消息中设定允许第一客户端接收其它客户端发送的流媒体数据,但可以不需要定义接收各客户端发送的具体流媒体数据信息。
步骤504,第一客户端向流媒体服务器返回200OK消息;
步骤503、504为流媒体服务器查询所有的客户端的能力信息,搜索最优的能够为第一客户端提供流媒体数据的客户端(第二客户端),并且通过设置参数(SET_PARAMETER)方法通知第一客户端,使第一客户端与提供流媒体数据的客户端建立流媒体数据的传输连接。
步骤505,第一客户端开始观看流媒体,向流媒体服务器发送播放(PLAY)消息;
步骤506,流媒体服务器向第一客户端返回200OK消息;
步骤507,流媒体服务器向第二客户端发送流动(POUR)消息;
步骤508,第二客户端向流媒体服务器返回200OK消息;
步骤505至步骤508为第一客户端使用播放(PLAY)方法开始观看流媒体,服务器端发送流动(POUR)方法通知为第一客户端提供流媒体数据的第二客户端开始发送流媒体数据,其中,第二客户端可为一个或多个。
本步骤中,流媒体服务器发送的POUR消息中,携带需要发送的流媒体数据信息以及发送的码率信息等。对于多个客户端为第一客户端提供流媒体服务的情形,各客户端根据服务器分配的传送的流媒体数据的时间范围,分别向发送请求的第一客户端传输时间范围内的流媒体数据,第一客户端根据接收的流媒体数据帧的序号,依序进行缓存;或者,流媒体服务器分别在各第二客户端发送流媒体数据的时间到时,向相应第二客户端发送POUR消息,第二客户端传输相应时间范围内的流媒体数据,第一客户端接收并播放即可。
步骤509,第二客户端向第一客户端发送包含流媒体数据的RTP包,当流媒体数据发送完毕,向流媒体服务器发送通知(ANNOUNCE)消息;
步骤510,流媒体服务器向第二客户端返回200OK消息;
步骤511,流媒体服务器向第一客户端发送通知(ANNOUNCE)消息;
步骤512,第一客户端向流媒体服务器返回200OK消息;
步骤509至步骤512为发送流媒体数据的第二客户端发送完流媒体数据后,通过通知(ANNOUNCE)方法通知流媒体服务器,告知流媒体数据已发送完毕。流媒体服务器再通过通知(ANNOUNCE)方法通知请求流媒体服务的第一客户端,告知其请求的流媒体数据已发送完毕。由于客户端按照顺序发送流媒体数据,因而,请求流媒体数据的第一客户端只要按照顺序播放即可;对于多个客户端向第一客户端发送流媒体数据的情形,则第一客户端只需要按照传输的流媒体数据帧的序号,即流媒体数据的播放时间进行缓存,然后依序进行播放。
步骤513,第一客户端向流媒体服务器发送结束(TEARDOWN)消息;
步骤514,流媒体服务器向第一客户端返回200OK消息。
步骤513至步骤514为第一客户端发送结束(TEARDOWN)方法,结束本次流媒体服务。
图6为本发明将正常播放过程更改为快进播放过程的方法流程示意图。参见图6,该流程包括:
步骤601,第一客户端向流媒体服务器发送建立消息,请求建立流媒体服务连接;
步骤602,流媒体服务器向第一客户端返回200OK消息;
步骤603,流媒体服务器根据各客户端的能力信息,获取为第一客户端提供流媒体数据的客户端,向第一客户端发送设置参数消息;
步骤604,第一客户端向流媒体服务器返回200OK消息;
步骤605,第一客户端开始观看流媒体,向流媒体服务器发送播放(PLAY)消息;
步骤606,流媒体服务器向第一客户端返回200OK消息;
步骤607,流媒体服务器向第二客户端发送流动(POUR)消息;
步骤608,第二客户端向流媒体服务器返回200OK消息,开始向第一客户端发送包含流媒体数据的RTP包;
步骤609,第一客户端向流媒体服务器发送播放消息,请求按照快进进行播放;
本步骤中,播放(PLAY)消息中携带有请求播放的时间段信息(如从第10分钟开始播放)、播放速度(如2倍速快进、4倍速快退等)信息以及接收数据码率信息。
步骤610,流媒体服务器向第一客户端返回200OK消息;
步骤611,流媒体服务器向第二客户端发送流动(POUR)消息;
本步骤中,流媒体服务器提取出快进或快退需要的帧信息,携带在流动消息中,发送至第二客户端,由于第二客户端发送流媒体数据的码率是一定的,因而,不会因为快进或快退而改变发送速率。
步骤612,第二客户端向流媒体服务器返回200OK消息,第二客户端按照快进请求发送流媒体数据(RTP包);
步骤609至步骤612为第一客户端使用播放(PLAY)方法发送快进请求,流媒体服务器发送流动(POUR)方法通知第二客户端按照快进发送流媒体数据。
步骤613,第二客户端向流媒体服务器发送通知(ANNOUNCE)消息;
步骤614,流媒体服务器向第二客户端返回200OK消息;
步骤615,流媒体服务器向第一客户端发送通知(ANNOUNCE)消息;
步骤616,第一客户端向流媒体服务器返回200OK消息;
步骤613至步骤616为发送流媒体数据的第二客户端发送流媒体数据完毕后,通过通知(ANNOUNCE)方法通知流媒体服务器,告知流媒体数据已发送完毕,流媒体服务器再通过通知(ANNOUNCE)方法通知请求流媒体服务的第一客户端,告知其请求的流媒体数据已发送完毕。
步骤617,第一客户端向流媒体服务器发送结束(TEARDOWN)消息;
步骤618,流媒体服务器向第一客户端返回200OK消息。
图7为本发明暂停播放流媒体服务的方法流程示意图。参见图7,该流程包括:
步骤701,第一客户端向流媒体服务器发送建立消息,请求建立流媒体服务连接;
步骤702,流媒体服务器向第一客户端返回200OK消息;
步骤703,流媒体服务器根据各客户端的能力信息,获取为第一客户端提供流媒体数据的第二客户端,向第一客户端发送设置参数消息;
步骤704,第一客户端向流媒体服务器返回200OK消息;
步骤705,第一客户端开始观看流媒体,向流媒体服务器发送播放(PLAY)消息;
步骤706,流媒体服务器向第一客户端返回200OK消息;
步骤707,流媒体服务器向第二客户端发送流动(POUR)消息;
步骤708,第二客户端向流媒体服务器返回200OK消息,向第一客户端发送包含流媒体数据的RTP包;
步骤709,第一客户端向流媒体服务器发送暂停(PAUSE)消息,请求暂停;
步骤710,流媒体服务器向第一客户端返回200OK消息;
步骤711,流媒体服务器向第二客户端发送暂停(PAUSE)消息;
步骤712,第二客户端向流媒体服务器返回200OK消息。
步骤709至步骤712为第一客户端使用暂停(PAUSE)方法发送暂停请求,流媒体服务器发送暂停(PAUSE)方法通知第二客户端暂停发送流媒体数据。
图8为本发明播放广告的方法流程示意图。参见图8,该流程包括:
步骤801,第一客户端向流媒体服务器发送建立消息,请求建立流媒体服务连接;
步骤802,流媒体服务器向第一客户端返回200OK消息;
步骤803,流媒体服务器根据各客户端的能力信息,获取为第一客户端提供流媒体数据的客户端,向第一客户端发送设置参数消息;
步骤804,第一客户端向流媒体服务器返回200OK消息;
步骤805,第一客户端开始观看流媒体,向流媒体服务器发送播放(PLAY)消息;
步骤806,流媒体服务器向第一客户端返回200OK消息;
步骤807,流媒体服务器向第二客户端发送流动(POUR)消息;
步骤808,第二客户端向流媒体服务器返回200OK消息,开始向第一客户端发送包含流媒体数据的RTP包;
步骤809,第一客户端向流媒体服务器发送播放(PLAY)消息,请求按照快进进行播放;
步骤810,流媒体服务器感知第一客户端正在播放广告段落,向第一客户端返回200OK消息;
步骤811,第二客户端向流媒体服务器发送通知(ANNOUNCE)消息;
步骤812,流媒体服务器向第二客户端返回200OK消息;
步骤813,流媒体服务器感知广告段落播放完毕,向第二客户端发送流动(POUR)消息;
步骤814,第二客户端向流媒体服务器返回200OK消息;
步骤809至步骤814为第一客户端使用播放(PLAY)方法发送快进请求,流媒体服务器端感知第一客户端当前正在播放广告段落,推迟发送流动(POUR)方法,直到下一个节目段落再通知第二客户端按照快进发送流媒体数据(RTP包)。
步骤815,第二客户端向流媒体服务器发送通知(ANNOUNCE)消息;
步骤816,流媒体服务器向第二客户端返回200OK消息;
步骤817,流媒体服务器向第一客户端发送通知(ANNOUNCE)消息;
步骤818,第一客户端向流媒体服务器返回200OK消息;
步骤815至步骤818为发送流媒体数据的第二客户端发送流媒体数据完毕后,通过通知(ANNOUNCE)方法通知流媒体服务器,告知流媒体数据已发送完毕,流媒体服务器再通过通知(ANNOUNCE)方法,通知请求流媒体服务的第一客户端,告知其请求的流媒体数据已发送完毕。
步骤819,第一客户端向流媒体服务器发送结束(TEARDOWN)消息;
步骤820,流媒体服务器向第一客户端返回200OK消息。
综上所述,本发明提出的流媒体服务与P2P相结合的方法,首先,各客户端在启动时通过向流媒体服务器进行注册,保证了客户端的身份认证与授权。其次,本发明提供的流媒体处理流程,流媒体服务器不负责具体的流媒体数据传输,但是能够对流媒体数据进行完全控制,客户端之间传输的流媒体数据需要由流媒体服务器设定具体的传输参数,这样,流媒体服务器可以通过对每一段流媒体数据的传输使用不同的密钥,从而保证了流媒体数据传输的保密性,同时解决了P2P技术中数据传送的无序问题。而且,本发明提出的方法能够及时获取客户端的操作请求,根据操作请求作出相应响应,准确地控制流媒体数据的传输,即根据用户的请求发送裁剪过的且符合用户要求的流媒体数据,因而可以最大限度地控制传输使用的网络带宽资源,并且合理有效的统一管理使用整个网络的资源,从而提高了整个流媒体服务的效率与质量。进一步地,客户端不维护网元间的拓扑信息,客户端与客户端之间也不交互彼此的信息,进一步保障了流媒体数据的安全。此外,流媒体服务器维护整个网络的拓扑结构,以及各客户端缓存的流媒体数据信息,客户端只需要向流媒体服务器请求所需的流媒体数据,流媒体服务器完成查询与数据文件定位,并把获得的结果通过消息传送给客户端,客户端不必进行文件定位,节点选择等工作,客户端实现的复杂度低。
图9为本发明实施例实现流媒体服务的装置结构示意图。参见图9,该装置为流媒体服务器,包括:注册模块、客户端能力信息存储模块以及下载请求处理模块,其中,
注册模块,用于接收各客户端的注册消息,对各客户端进行注册;
客户端能力信息存储模块,用于接收各注册客户端根据预先设置的时间周期上报的客户端能力信息,进行存储;
下载请求处理模块,用于接收客户端发送的流媒体数据下载请求,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,生成点对点P2P客户端列表;向发送流媒体数据下载请求的客户端返回P2P客户端列表,以使发送流媒体数据下载请求的客户端建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。
较佳地,该装置进一步包括:
中间操作请求处理模块,用于接收客户端发送的流媒体数据中间操作请求,使用流动方法,通知与该客户端建立P2P连接的客户端,按照流媒体数据中间操作请求调整发送至该客户端的流媒体数据。
该装置还可以包括:
下载模块,用于确定下载请求处理模块没有能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,则为请求流媒体数据下载的客户端分配带宽资源,并向该客户端发送下载请求对应的流媒体数据。
较佳地,下载请求处理模块包括:第一匹配单元、P2P客户端列表生成单元以及分配单元(图中未示出),其中,
第一匹配单元,用于接收客户端发送的流媒体数据下载请求,根据流媒体数据下载请求中携带的流媒体数据信息,匹配存储的各客户端能力信息中包含的客户端缓存的流媒体数据信息,获取匹配的客户端,输出至P2P客户端列表生成单元;
P2P客户端列表生成单元,用于生成P2P客户端列表,向发送流媒体数据下载请求的客户端返回P2P客户端列表;
分配单元,用于将请求下载的流媒体数据按照第一匹配单元匹配的客户端数进行拆分,并分配给匹配的各客户端以传输相应拆分的流媒体数据。
实际应用中,下载请求处理模块进一步包括:
第二匹配单元,用于接收第一匹配单元输出的匹配客户端,再根据客户端的网络负载信息,选取网络负载较轻的一个或多个客户端,输出至P2P客户端列表生成单元。
下载请求处理模块还可以包括:
第三匹配单元,用于接收第二匹配单元输出的匹配客户端,按照注册消息中包含的注册流媒体服务器的位置信息,选取与注册流媒体服务器位置相近的客户端,输出至P2P客户端列表生成单元。
图10为本发明实施例实现流媒体服务的系统结构示意图。参见图10,该系统包括:客户端以及流媒体服务器,其中,客户端为一个或多个,
客户端,用于向流媒体服务器发送注册消息进行注册;
根据预先设置的时间周期,向流媒体服务器上报自身的客户端能力信息;
接收流媒体服务器下发的P2P客户端列表,建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。
流媒体服务器,用于接收各客户端的注册消息,对各客户端进行注册;
接收各注册客户端根据预先设置的时间周期上报的客户端能力信息,进行存储;
接收客户端发送的流媒体数据下载请求,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,生成点对点P2P客户端列表,向发送流媒体数据下载请求的客户端返回P2P客户端列表。
其中,客户端包括:注册请求模块、客户端能力信息上报模块以及流媒体数据获取模块(图中未示出),其中,
注册请求模块,用于向流媒体服务器发送注册消息进行注册;
客户端能力信息上报模块,用于根据预先设置的时间周期,向流媒体服务器上报自身的客户端能力信息;
流媒体数据获取模块,用于接收流媒体服务器下发的P2P客户端列表,建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。
其中,流媒体数据获取模块包括:P2P连接建立单元以及流媒体数据获取单元,其中,
P2P连接建立单元,用于接收流媒体服务器下发的P2P客户端列表,建立与P2P客户端列表中客户端的P2P连接;
流媒体数据获取单元,用于确认P2P连接建立,使用播放方法向流媒体服务器发送播放消息;
接收流媒体数据并播放;
接收流媒体服务器下发的通知信息,获取请求的流媒体数据已发送完毕。
该客户端还可以包括:
中间操作请求模块,用于在播放流媒体数据的过程中,使用播放方法,向流媒体服务器发送流媒体数据中间操作请求,接收与该客户端建立P2P连接的客户端按照流媒体数据中间操作请求调整发送的流媒体数据。
中间操作请求模块包括:中间操作请求单元以及中间数据接收单元,其中,
中间操作请求单元,用于在播放流媒体数据的过程中,使用播放方法,向流媒体服务器发送流媒体数据中间操作请求;
中间数据接收单元,用于接收与该客户端建立P2P连接的客户端按照流媒体数据中间操作请求调整发送的流媒体数据。
较佳地,中间操作请求模块进一步包括:中间操作处理单元以及中间操作请求处理单元,其中,
中间操作处理单元,用于判断流媒体数据中间操作是否为快进操作或从某特定位置开始播放操作,如果是,获取当前播放的流媒体数据信息,输出至中间操作请求处理单元;否则,将流媒体数据中间操作输出至中间操作请求单元;
中间操作请求处理单元,用于判断当前播放的流媒体数据是否为预先设置的流媒体数据,如果否,将流媒体数据中间操作输出至中间操作请求单元;如果是,计算播放完毕预先设置的流媒体数据所需时间,将该计算得到的时间作为延迟时间,将延迟时间信息以及流媒体数据中间操作输出至中间操作请求单元。
该客户端进一步包括:
流媒体数据传输模块,用于接收流媒体服务器下发的流动消息,根据流动消息中携带的待传输的流媒体数据信息,传输所述待传输的流媒体数据。
本申请可以节约服务器带宽,提高服务器端的并发处理能力,服务更多的用户。
显然,本领域技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也包含这些改动和变型在内。
Claims (10)
1.一种实现流媒体服务的方法,该方法包括
接收各客户端的注册消息,对各客户端进行注册;
接收各注册客户端根据预先设置的时间周期上报的客户端能力信息,进行存储;
接收客户端发送的流媒体数据下载请求,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,生成点对点P2P客户端列表;
向发送流媒体数据下载请求的客户端返回P2P客户端列表,以使发送流媒体数据下载请求的客户端建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。
2.根据权利要求1所述的方法,进一步包括:
流媒体服务器向发送流媒体数据下载请求的客户端下发流动消息,以使发送流媒体数据下载请求的客户端根据流动消息中携带的待传输的流媒体数据信息,传输所述待传输的流媒体数据。
3.根据权利要求2所述的方法,所述注册消息包括:注册用户的用户名信息、注册用户的网络地址信息以及注册流媒体服务器的位置信息。
4.根据权利要求3所述的方法,所述客户端能力信息包括客户端缓存的流媒体数据信息,所述根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需流媒体数据的客户端包括:
根据流媒体数据下载请求中携带的流媒体数据信息,匹配存储的各客户端能力信息中包含的客户端缓存的流媒体数据信息,获取匹配的客户端;
从匹配的客户端中,选取能够提供下载流媒体数据的客户端。
5.根据权利要求4所述的方法,所述客户端能力信息进一步包括客户端的网络负载信息,所述从匹配的客户端中,选取能够提供下载流媒体数据的客户端包括:
从匹配的客户端中,再根据客户端的网络负载信息,选取网络负载较轻的一个或多个客户端。
6.一种实现流媒体服务的装置,其特征在于,该装置包括:注册模块、客户端能力信息存储模块以及下载请求处理模块,其中,
注册模块,用于接收各客户端的注册消息,对各客户端进行注册;
客户端能力信息存储模块,用于接收各注册客户端根据预先设置的时间周期上报的客户端能力信息,进行存储;
下载请求处理模块,用于接收客户端发送的流媒体数据下载请求,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,生成点对点P2P客户端列表;向发送流媒体数据下载请求的客户端返回P2P客户端列表,以使发送流媒体数据下载请求的客户端建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。
7.根据权利要求6所述的装置,其特征在于,进一步包括:
中间操作请求处理模块,用于接收客户端发送的流媒体数据中间操作请求,使用流动方法,通知与该客户端建立P2P连接的客户端,按照流媒体数据中间操作请求调整发送至该客户端的流媒体数据;
所述下载请求处理模块包括:第一匹配单元、P2P客户端列表生成单元以及分配单元,其中,
第一匹配单元,用于接收客户端发送的流媒体数据下载请求,根据流媒体数据下载请求中携带的流媒体数据信息,匹配存储的各客户端能力信息中包含的客户端缓存的流媒体数据信息,获取匹配的客户端,输出至P2P客户端列表生成单元;
P2P客户端列表生成单元,用于生成P2P客户端列表,向发送流媒体数据下载请求的客户端返回P2P客户端列表;
分配单元,用于将请求下载的流媒体数据按照第一匹配单元匹配的客户端数进行拆分,并分配给匹配的各客户端以传输相应拆分的流媒体数据。
8.一种实现流媒体服务的系统,其特征在于,该系统包括:客户端以及流媒体服务器,其中,
客户端,用于向流媒体服务器发送注册消息进行注册;
根据预先设置的时间周期,向流媒体服务器上报自身的客户端能力信息;
接收流媒体服务器下发的P2P客户端列表,建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据。
流媒体服务器,用于接收各客户端的注册消息,对各客户端进行注册;
接收各注册客户端根据预先设置的时间周期上报的客户端能力信息,进行存储;
接收客户端发送的流媒体数据下载请求,根据存储的各客户端上报的客户端能力信息,选取能够为请求流媒体数据下载的客户端提供所需下载流媒体数据的客户端,生成点对点P2P客户端列表,向发送流媒体数据下载请求的客户端返回P2P客户端列表。
9.根据权利要求8所述的系统,其特征在于,所述客户端包括:注册请求模块、客户端能力信息上报模块以及流媒体数据获取模块,其中,
注册请求模块,用于向流媒体服务器发送注册消息进行注册;
客户端能力信息上报模块,用于根据预先设置的时间周期,向流媒体服务器上报自身的客户端能力信息;
流媒体数据获取模块,用于接收流媒体服务器下发的P2P客户端列表,建立与P2P客户端列表中客户端的P2P连接,获取请求下载的流媒体数据;
所述流媒体数据获取模块包括:P2P连接建立单元以及流媒体数据获取单元,其中,
P2P连接建立单元,用于接收流媒体服务器下发的P2P客户端列表,建立与P2P客户端列表中客户端的P2P连接;
流媒体数据获取单元,用于确认P2P连接建立,使用播放方法向流媒体服务器发送播放消息;
接收流媒体数据并播放;
接收流媒体服务器下发的通知信息,获取请求的流媒体数据已发送完毕。
10.根据权利要求9所述的系统,其特征在于,所述客户端进一步包括:
中间操作请求模块,用于在播放流媒体数据的过程中,使用播放方法,向流媒体服务器发送流媒体数据中间操作请求,接收与该客户端建立P2P连接的客户端按照流媒体数据中间操作请求调整发送的流媒体数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210229679.2A CN102761550B (zh) | 2012-07-04 | 2012-07-04 | 实现流媒体服务的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210229679.2A CN102761550B (zh) | 2012-07-04 | 2012-07-04 | 实现流媒体服务的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102761550A true CN102761550A (zh) | 2012-10-31 |
CN102761550B CN102761550B (zh) | 2015-09-23 |
Family
ID=47055871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210229679.2A Active CN102761550B (zh) | 2012-07-04 | 2012-07-04 | 实现流媒体服务的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102761550B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103596066A (zh) * | 2013-11-28 | 2014-02-19 | 中国联合网络通信集团有限公司 | 一种数据处理方法及装置 |
CN104284237A (zh) * | 2014-10-13 | 2015-01-14 | 中安消技术有限公司 | 视频传输方法及系统 |
CN104918077A (zh) * | 2015-06-02 | 2015-09-16 | 北京邮电大学 | 一种视频传输方法、装置及系统 |
CN107820103A (zh) * | 2017-10-16 | 2018-03-20 | 西安万像电子科技有限公司 | 影像收发设备连接方法、控制装置及系统 |
CN109002301A (zh) * | 2018-08-02 | 2018-12-14 | 合肥联宝信息技术有限公司 | 一种软件安装方法及系统 |
CN110912969A (zh) * | 2019-11-04 | 2020-03-24 | 西安雷风电子科技有限公司 | 一种文件高速传输源节点、目的节点装置及系统 |
CN112671879A (zh) * | 2020-12-18 | 2021-04-16 | 北京浪潮数据技术有限公司 | 一种组件部署方法、系统及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237429A (zh) * | 2008-02-25 | 2008-08-06 | 蓝汛网络科技(北京)有限公司 | 基于内容分发网络的流媒体直播系统、方法及装置 |
CN101534326A (zh) * | 2009-04-21 | 2009-09-16 | 华为技术有限公司 | 一种rtsp终端的访问方法、装置及系统 |
CN101594292A (zh) * | 2008-05-30 | 2009-12-02 | 中兴通讯股份有限公司 | 内容发布方法、服务重定向方法及系统、节点设备 |
CN100574248C (zh) * | 2005-12-31 | 2009-12-23 | 北京太阳信通科技发展有限公司 | 基于可控p2p技术的流媒体服务系统及其实现方法 |
-
2012
- 2012-07-04 CN CN201210229679.2A patent/CN102761550B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100574248C (zh) * | 2005-12-31 | 2009-12-23 | 北京太阳信通科技发展有限公司 | 基于可控p2p技术的流媒体服务系统及其实现方法 |
CN101237429A (zh) * | 2008-02-25 | 2008-08-06 | 蓝汛网络科技(北京)有限公司 | 基于内容分发网络的流媒体直播系统、方法及装置 |
CN101594292A (zh) * | 2008-05-30 | 2009-12-02 | 中兴通讯股份有限公司 | 内容发布方法、服务重定向方法及系统、节点设备 |
CN101534326A (zh) * | 2009-04-21 | 2009-09-16 | 华为技术有限公司 | 一种rtsp终端的访问方法、装置及系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103596066A (zh) * | 2013-11-28 | 2014-02-19 | 中国联合网络通信集团有限公司 | 一种数据处理方法及装置 |
CN103596066B (zh) * | 2013-11-28 | 2017-02-15 | 中国联合网络通信集团有限公司 | 一种数据处理方法及装置 |
CN104284237A (zh) * | 2014-10-13 | 2015-01-14 | 中安消技术有限公司 | 视频传输方法及系统 |
CN104918077A (zh) * | 2015-06-02 | 2015-09-16 | 北京邮电大学 | 一种视频传输方法、装置及系统 |
CN104918077B (zh) * | 2015-06-02 | 2018-01-30 | 北京邮电大学 | 一种视频传输方法、装置及系统 |
CN107820103A (zh) * | 2017-10-16 | 2018-03-20 | 西安万像电子科技有限公司 | 影像收发设备连接方法、控制装置及系统 |
CN109002301A (zh) * | 2018-08-02 | 2018-12-14 | 合肥联宝信息技术有限公司 | 一种软件安装方法及系统 |
CN110912969A (zh) * | 2019-11-04 | 2020-03-24 | 西安雷风电子科技有限公司 | 一种文件高速传输源节点、目的节点装置及系统 |
CN112671879A (zh) * | 2020-12-18 | 2021-04-16 | 北京浪潮数据技术有限公司 | 一种组件部署方法、系统及计算机可读存储介质 |
CN112671879B (zh) * | 2020-12-18 | 2023-01-10 | 北京浪潮数据技术有限公司 | 一种组件部署方法、系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102761550B (zh) | 2015-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102761550B (zh) | 实现流媒体服务的方法、装置及系统 | |
CN101473654B (zh) | 媒体频道管理 | |
US7716310B2 (en) | Method and Internet Protocol Television (IPTV) content manager server for IPTV servicing | |
CN101083605B (zh) | 一种媒体源快速切换的方法、系统和装置 | |
US20090055540A1 (en) | Methods and Systems for Multicast Control and Channel Switching for Streaming Media in an IMS Environment | |
CN102217271A (zh) | 用于对等流传送的方法和装置 | |
JP5436577B2 (ja) | ネットワークにおける関連付けられたセッションの管理 | |
CN102685563A (zh) | 互联网协议电视内容共享方法、装置以及终端设备 | |
CN101453699B (zh) | 一种广告播放方法和用户终端 | |
CN102195955B (zh) | 一种直播业务和时移业务的切换方法以及相应设备 | |
CN108063911B (zh) | 一种视频会议扩容方法 | |
WO2010063186A1 (zh) | 中继频道的实现方法、系统及边缘节点 | |
CN101340557B (zh) | 时移电视业务建立方法以及时移电视媒体功能实体 | |
CN108259933A (zh) | 一种能够支撑3种业务功能的推流平台 | |
CN101605142A (zh) | 会话管理的实现方法、装置、系统及终端 | |
US20130166659A1 (en) | Methods for distributing contents to peers by means of multicast connections within a p2p infrastructure, and associated control server | |
CN101674298B (zh) | 以文件方式传输媒体内容的方法、系统及设备 | |
CN102571409A (zh) | 一种用于实现业务跨终端使用的业务请求管理系统及方法 | |
US20120023239A1 (en) | Creation Method of Multimedia Service and System Thereof | |
KR20060123559A (ko) | 콘텐트 분배를 위한 시스템, 수신기, 방법 및 프로그램 | |
CN102244642A (zh) | 重定向方法、系统以及终端 | |
JP2009245270A (ja) | 映像配信システム及び映像配信方法 | |
CN101378546A (zh) | 实现媒体交付控制的方法、实体及系统 | |
CN102333095A (zh) | 一种媒体业务系统及方法 | |
O’Neill | Peer Assisted Multicast Streaming for On-Demand Applications |
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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170111 Address after: 266100 Shandong Province, Qingdao city Laoshan District Songling Road No. 399 Patentee after: Poly Polytron Technologies Inc Address before: 266061 Laoshan, Qingdao province Hongkong District No. East Road, room 248, room 131 Patentee before: Hisense Media Networks Co., Ltd. |