CN101714977B - 流媒体更改播放媒体的方法、系统及装置 - Google Patents
流媒体更改播放媒体的方法、系统及装置 Download PDFInfo
- Publication number
- CN101714977B CN101714977B CN200910161200.4A CN200910161200A CN101714977B CN 101714977 B CN101714977 B CN 101714977B CN 200910161200 A CN200910161200 A CN 200910161200A CN 101714977 B CN101714977 B CN 101714977B
- Authority
- CN
- China
- Prior art keywords
- media
- channel
- broadcasting
- request
- service end
- 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
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了流媒体更改播放媒体方法、系统及装置,该方法包括:服务端接收客户端发送的更改播放媒体请求,该请求中携带当前播放频道中需要更改的播放媒体信息;服务端根据所述请求完成对播放媒体的更改处理。本发明公开的方法可以在本发明公开的系统和装置上实现。应用本发明,可以为用户提供高质量的流媒体播放服务。
Description
技术领域
本发明涉及流媒体技术,特别涉及流媒体更改播放媒体的方法、系统及装置。
背景技术
在互联网协议(IP,Internet Protocol)移动通信系统中,随着网络性能提升和用户需求增长,端到端的流媒体业务被广泛的推广应用,在这种业务中,媒体内容从服务端通过网络以媒体流的方式传输到客户端的同时,在客户端进行播放,例如使用流媒体业务的移动电视中的视频点播和现场直播等。
为保证流媒体业务的用户获得高质量的服务,第三代合作伙伴(3GPP,the 3rd Generation Partner Project)引入分组交换流业务(PSS,Packet-switchedStreaming Protocol)技术,它不仅能实现传统的低速率单播(unicast)和多播(multicast),而且还能实现高速流媒体的单播和多播,已经成为流媒体业务中广泛使用的一项技术,通常将使用PSS技术的流媒体业务称为分组交换流媒体业务。
目前的分组交换流媒体业务中,使用实时流协议(RTSP,Real TimeStreaming Protocol)建立和控制从服务端向客户端传输的媒体流,因此媒体流的地址符合RTSP协议的规定。不同内容的媒体流可以使用频道进行划分,例如新闻类和影视类的媒体流可以分别处于不同的频道中。不同频道的媒体流可以通过相同或不同的信道在服务端和客户端进行传输。将服务端划分成多个服务器组,每一个服务器组存储有对应其所管理频道的管理信息。上述管理信息包括服务器组所管理频道的流媒体地址和配置信息,其中配置信息可以包括频道播放时建立会话的会话描述和传输参数等。通过一个频道的流媒体地址,可以判定该频道所属的服务器组。媒体流可以包括音频、视频和字幕等多种播放形式,每一种播放形式称为一种播放媒体,因此播放一个频道的媒体流,可以包括播放该频道媒体流对应的一个或多个播放媒体,例如播放某一频道的新闻类节目,可以包括播放该节目对应的视频和音频,并且该视频和音频的播放媒体需要同步播放。对应一个媒体流的不同播放媒体可以使用同一个流媒体地址,例如rtsp://server.com/channel1/Stream2/RTSP/1.0可以表示在标号为channel1的信道中传输的某一频道的媒体流所对应的多个播放媒体,该频道的媒体流所对应的多个播放媒体将同步播放。又例如流媒体地址rtsp://server.com/channel1/Stream2/A/RTSP/1.0和流媒体地址rtsp://server.com/channel1/Stream2/RTSP/B/1.0,可以分别表示在标号为channel1的信道中传输的某一频道的媒体流所对应的标号分别为A和B的两个播放媒体,这种情况下播放该频道时,需要服务端提供同步信息才能做到同步播放。
在对某一频道进行播放时,服务端和客户端首先要建立一个会话,然后将该频道的媒体流从服务端传送到客户端进行播放。用户可以通过客户端选择不同的频道,服务端根据用户的选择从旧频道的媒体流切换到新频道的媒体流,该过程称为频道切换。在现有技术中,上述频道切换过程可以概括为四个步骤,即旧频道会话释放、新频道描述、新频道会话建立和新频道播放,这些步骤对应一个频道切换时间,指从触发指定频道到该频道内容完整出现在客户端屏幕的时间。下面简单描述上述频道切换的四个步骤,图1为现有技术中分组交换流媒体频道切换的流程图。假设旧频道通过标号为channel1的信道传输,新频道通过标号为channel2的信道进行传输,客户端当前播放的旧频道流媒体地址为:rtsp://server.com/channel1.sdp RTSP/1.0,而需要切换的新频道流媒体地址为:rtsp://server.com/channel2.sdp RTSP/1.0,旧频道和新频道中的播放媒体各自使用一个流媒体地址,可以使用RTSP流程来描述该频道的切换过程,其中使用C代表客户端,使用S代表服务端,该频道切换的流程包括以下步骤:
步骤1:客户端向服务端发送卸载旧频道的请求,服务端向客户端返回卸载请求响应,经过步骤1,客户端和服务端之间旧频道会话释放。使用RTSP流程描述客户端和服务端在本步骤中的交互为:
C->S:TEARDOWN rtsp://server.com/channel1.sdp RTSP/1.0;
S->C:RTSP/1.0 200 OK。
其中,TEARDOWN表示卸载命令,而200 OK为RSTP协议中的标准命令,当服务端向客户端返回应答时需包含此命令。
步骤2:客户端向服务端发送新频道的会话描述请求,服务端向客户端返回针对新频道的会话描述,其中会话描述使用会话描述协议(SDP,SessionDescription Protocol)实现,该描述中包含新频道的会话参数。使用RTSP过程描述客户端和服务端在本步骤中的交互为:
C->S:DESCRIBE rtsp://server.com/channel2.sdp RTSP/1.0;
S->C:RTSP/1.0 200 OK;
{
SDP describe;
}
其中,DESCRIBE标示描述命令,SDP describe表示使用SDP对新频道会话进行的描述,包括新频道的会话参数,例如媒体流的编码速率等。
步骤3:客户端向服务端请求建立新会话,服务端向客户端返回新会话建立响应,使用RTSP过程描述为:
C->S:SETUP rtsp://server.com/channel2.sdp RTSP/1.0;
S->C:RTSP/1.0 200 OK;
相关传输参数。
其中,SETUP表示会话建立命令,相关传输参数可以包括传输协议、客户端可用端口、服务端可用端口等传输需要的相关参数。
步骤4:客户端向服务端发送携带新频道流媒体地址的新频道播放请求,服务端播放新频道的媒体流。使用RTSP过程描述为:
C->S:PLAY rtsp://server.com/channel2.sdp RTSP/1.0;
S->C:RTSP/1.0 200 OK;
播放相关参数。
其中,PLAY为播放命令,播放相关参数可以包括播放时间范围、播放当前时间、播放频率等播放的相关参数。
按照上述四个步骤完成频道切换,需要首先将旧频道会话释放,再建立新的会话,而实际应用中,新频道的播放有可能与旧频道使用相同的会话,这样就将重复建立会话,各个新会话建立和新频道播放分别请求,这些都造成了流媒体频道切换时延迟时间长,屏幕有较长的黑屏时间,从而无法为用户提供高质量的服务。
在上述对频道切换的描述中,用户在使用旧频道播放或切换后使用新频道播放时,都有可能需要在当前频道播放的基础之上,增加或减少某些播放媒体。例如当用户在观看某一频道中视频结合音频的新闻类节目时,可能需要对应观看该节目的字幕信息,用户也可能只需要收听该新闻节目的音频信息,而将视频信息去掉。但在现有技术中,无法满足用户上述对当前播放频道的更改播放媒体需求,从而无法为用户提供高质量的服务。
发明内容
本发明实施例提供一种流媒体频道切换的方法,该方法能够减少频道切换时延迟的时间,为用户提供高质量的流媒体播放服务。
本发明实施例提供另一种流媒体频道切换的方法,该方法能够减少频道切换时延迟的时间,为用户提供高质量的流媒体播放服务。
本发明实施例提供一种流媒体频道切换的系统,该系统能够减少频道切换时延迟的时间,为用户提供高质量的流媒体播放服务。
本发明实施例提供一种流媒体频道切换的服务端装置,该装置能够减少服务端执行频道切换时延迟的时间,为用户提供高质量的流媒体播放服务。
本发明实施例提供一种流媒体频道切换的客户端装置,该装置能够减少客户端执行频道切换时延迟的时间,为用户提供高质量的流媒体播放服务。
本发明实施例提供一种流媒体更改播放媒体的方法,该方法能够针对当前播放频道更改播放媒体,为用户提供高质量的流媒体播放服务。
本发明实施例提供另一种流媒体更改播放媒体的方法,该方法能够针对当前播放频道删除播放媒体,为用户提供高质量的流媒体播放服务。
本发明实施例提供一种流媒体更改播放媒体的系统,该系统能够针对当前播放频道更改播放媒体,为用户提供高质量的流媒体播放服务。
本发明实施例提供一种流媒体更改播放媒体的客户端装置,该装置能够针对当前播放频道在客户端更改播放媒体,为用户提供高质量的流媒体播放服务。
本发明实施例提供一种流媒体更改播放媒体的服务端装置,该装置能够针对当前播放频道在服务端更改播放媒体,为用户提供高质量的流媒体播放服务。
本发明实施例提供的第一种流媒体频道切换方法,该方法包括:
服务端接收客户端发送的携带旧频道信息和新频道流媒体地址的频道切换请求;
服务端根据比较该请求携带的旧频道信息和新频道流媒体地址对应的所属服务器组管理信息的结果,判定不需要建立新会话时,向客户端返回频道切换请求响应;
服务端接收客户端发送的新频道播放请求,使用旧频道会话向客户端播放新频道媒体流。
本发明实施例提供的第二种流媒体频道切换方法,该方法包括:
服务端接收客户端发送的携带旧频道信息和新频道流媒体地址的频道切换请求;
服务端根据比较该请求携带的旧频道信息和新频道流媒体地址对应的所属服务器组管理信息的结果,判定需要建立新会话时,向客户端返回频道切换请求响应;
服务端接收客户端发送的旧频道卸载请求,卸载旧频道;
服务端接收客户端发送的新频道会话建立请求,建立新频道会话;
服务端接收客户端发送的新频道播放请求,向客户端播放新频道媒体流。
本发明实施例提供的第一种流媒体更改播放媒体方法,该方法包括:
服务端接收客户端发送的更改播放媒体请求,该请求中携带当前播放频道中需要更改的播放媒体信息;
服务端根据所述请求完成对播放媒体的更改处理。
本发明实施例提供的第二种流媒体更改播放媒体方法,该方法包括:
服务端接收客户端发送的更改播放媒体请求,该请求中携带当前播放频道中需要保留的播放媒体信息;
服务端根据请求完成对播放媒体的更改处理。
本发明实施例提供的流媒体频道切换系统,该系统包括:客户端和服务端;
所述客户端,用于向服务端发送携带旧频道信息和新频道流媒体地址的频道切换请求,接收服务端返回的频道切换请求响应;解析频道切换请求响应;向服务端发送旧频道卸载请求,接收服务端发送的卸载响应;向服务端发送新频道会话建立请求;向服务端发送新频道播放请求,接收服务端播放的新频道媒体流;
所述服务端,用于接收客户端发送的频道切换请求,根据比较旧频道信息和新频道流媒体地址对应的所属服务器组管理信息的结果,向客户端返回频道切换请求响应;接收客户端发送的旧频道卸载请求,卸载旧频道并向服务端发送卸载响应;接收客户端发送的新频道会话建立请求,建立新会话;接收客户端发送的新频道播放请求,向客户端播放新频道媒体流。
本发明实施例提供的流媒体频道切换的客户端装置,该装置包括:解析模块、收发模块和执行模块;
所述收发模块,向服务端传输执行模块发送的携带旧频道信息和新频道流媒体地址的频道切换请求,接收服务端发送的频道切换请求响应传输给执行模块和解析模块;向服务端传输执行模块发送的旧频道卸载请求,接收服务端发送的卸载响应传输给执行模块;向服务端传输执行模块发送的新频道会话建立请求和新频道播放请求,接收服务端播放的新频道媒体流传输给执行模块;
所述解析模块,用于解析频道切换请求响应,将解析结果传输给执行模块;
所述执行模块,用于向收发模块发送频道切换请求,接收收发模块传输的频道切换请求响应;接收解析模块传输的解析结果;向收发模块发送旧频道卸载请求,接收收发模块传输的卸载响应;向收发模块发送新频道会话建立请求和新频道播放请求,接收收发模块传输的服务端播放的新频道媒体流。
本发明实施例提供的流媒体频道切换的服务端装置,该装置包括:收发模块、解析模块、存储模块和执行模块;
所述收发模块,用于接收客户端发送的频道切换请求传输给执行模块和解析模块,向客户端传输执行模块发送的频道切换请求响应;接收客户端发送的旧频道卸载请求,向客户端传输执行模块发送的卸载响应;接收客户端发送的新频道会话建立请求和新频道播放请求,传输给执行模块,向客户端传输执行模块播放的新频道媒体流;
所述解析模块,用于从存储模块中读取新频道流媒体地址对应的所属服务器组的管理信息,比较频道切换请求携带的旧频道信息和新频道流媒体地址对应的所属服务器组的管理信息,得出解析结果传输给执行模块;
所述存储模块,用于存储新频道流媒体地址对应的所属服务器组管理信息;
所述执行模块,用于根据解析模块得出的解析结果,向收发模块发送频道切换请求响应;接收收发模块传输的旧频道卸载请求,卸载旧频道,向收发模块发送卸载响应;接收收发模块传输的新频道会话建立请求,建立新会话;接收收发模块传输的新频道播放请求,向收发模块播放新频道媒体流。
本发明实施例提供的流媒体更改播放媒体系统,该系统包括:客户端和服务端;
所述客户端,用于向服务端发送携带当前播放频道需要更改的播放媒体信息的更改播放媒体请求;
所述服务端,用于接收客户端发送的更改播放媒体请求,根据请求执行更改处理。
本发明实施例提供的更改播放媒体的客户端装置,该装置包括存储模块和更改服务模块;
所述存储模块,用于存储客户端所播放频道的播放媒体信息;
所述更改服务模块,用于从存储模块中读取需要更改的播放媒体信息,将更改的播放媒体信息携带在更改播放媒体请求中发送到服务端,接收服务端发送的更改播放媒体请求的响应。
本发明实施例提供的更改播放媒体的服务端装置,该装置包括:存储模块和执行模块;
存储模块,用于存储当前播放频道中的播放媒体信息;
执行模块,用于接收客户端发送的更改播放媒体的请求,按照该请求,更改当前播放频道的播放媒体,向客户端返回更改播放媒体的响应,并对存储模块中的播放媒体信息进行更新。
本发明实施例提供的第一种流媒体频道切换方法,在新频道播放可以使用旧频道会话时,省去了释放旧频道会话以及建立新频道会话的过程,节约了服务端与客户端的交互步骤,减少了频道切换时延迟的时间,从而为用户提供高质量的流媒体播放服务。
本发明提供的第二种流媒体频道切换方法,在新频道播放不能使用旧频道会话时,可以建立新频道会话,对新频道媒体流进行播放,节约了服务端与客户端的交互步骤,减少了频道切换时延迟的时间,从而为用户提供高质量的流媒体播放服务。
本发明实施例提供的流媒体频道切换的系统,服务端可以比较旧频道信息和新频道流媒体地址对应的所属服务器组管理信息,客户端可以解析频道切换请求响应。在此基础上,服务端和客户端可以根据解析结果进行频道切换的操作,节约了服务端与客户端的交互步骤,减少了频道切换时延迟的时间,从而为用户提供高质量的流媒体播放服务。
本发明实施例提供的流媒体频道切换的客户端装置,可以解析频道切换请求响应。在此基础上,客户端可以根据解析结果进行频道切换的操作,节约了客户端执行频道切换操作时的步骤,减少了频道切换时延迟的时间,从而为用户提供高质量的流媒体播放服务。
本发明实施例提供的流媒体频道切换的服务端装置,可以比较旧频道信息和新频道流媒体地址对应的所属服务器组管理信息。在此基础上服务端可以根据解析结果进行频道切换的操作,节约了服务端在执行频道切换操作时的步骤,减少了频道切换时延迟的时间,从而为用户提供高质量的流媒体播放服务。
本发明实施例提供的第一种流媒体更改播放媒体的方法,服务端接收的客户端发送的更改播放媒体请求中,携带当前播放频道需要更改的播放媒体信息,服务端根据该请求中携带的信息可以实现针对当前播放频道更改播放媒体,从而为用户提供高质量的流媒体播放服务。
本发明实施例提供的第二种流媒体更改播放媒体的方法,服务端接收的客户端发送的更改播放媒体请求中,携带当前播放频道需要保留的播放媒体信息,服务端根据该请求中携带的信息可以实现针对当前播放频道更改播放媒体,从而为用户提供高质量的流媒体播放服务。
本发明实施例提供的流媒体更改播放媒体的系统,服务端接收的客户端发送的更改播放媒体请求中,携带当前播放频道需要更改的播放媒体信息,服务端根据该请求中携带的信息可以实现针对当前播放频道更改播放媒体,从而为用户提供高质量的流媒体播放服务。
本发明实施例提供的流媒体更改播放媒体的客户端装置,能够向服务端发送携带当前播放频道需要更改的播放媒体信息的更改播放媒体请求,告知服务端根据该请求对需要更改的播放媒体执行更改,在客户端实现了更改播放媒体的需求,从而为用户提供高质量的流媒体播放服务。
本发明实施例提供的流媒体更改播放媒体的服务端装置,能够接收客户端发送的携带当前播放频道需要更改的播放媒体信息的更改播放媒体请求,根据该请求对需要更改的播放媒体执行更改,在服务端实现了更改播放媒体的需求,从而为用户提供高质量的流媒体播放服务。
附图说明
图1为现有技术中分组交换流媒体频道切换流程图;
图2为结合本发明实施例两种流媒体频道切换方法的流程图;
图3为本发明实施例第一种流媒体频道切换方法的第一种较佳实施方式流程图;
图4为本发明实施例第一种流媒体频道切换方法的第二种较佳实施方式流程图;
图5为本发明实施例第二种流媒体频道切换方法的较佳实施方式流程图;
图6为本发明实施例流媒体第一种更改播放媒体方法流程图;
图7为本发明实施例流媒体第二种更改播放媒体方法流程图;
图8为本发明实施例第一种流媒体更改播放媒体方法的较佳实施方式流程图;
图9为本发明实施例第二种流媒体更改播放媒体方法的较佳实施方式流程图;
图10为本发明实施例流媒体频道切换系统结构示意图;
图11为本发明实施例流媒体更改播放媒体系统结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图,对本发明实施例作进一步详细说明。
首先将本发明实施例提供的两种流媒体频道切换方法结合起来描述,图2示出了结合本发明实施例两种流媒体频道切换方法的流程,该流程包括:
步骤201:服务端接收客户端发送的频道切换请求,该请求中携带新频道流媒体地址和旧频道信息。
本步骤中,所述旧频道信息包括:旧频道流媒体地址、会话描述、传输参数和会话标识符。旧频道即用户当前播放的频道,客户端可以存储旧频道信息。频道切换请求中包含一个客户端和服务端均可识别的切换字段头,在字段头后指明客户端当前播放的旧频道流媒体地址和要切换的新频道流媒体地址。
步骤202:服务端接收频道切换请求,根据比较旧频道信息与新频道流媒体地址对应的所属服务器组管理信息的结果,判定是否需要建立会话,如果不需要建立新会话,则执行步骤203,如果需要建立新会话,则执行步骤205。
本步骤中,服务端内不同服务器组的管理信息包括:所管理频道的流媒体地址和配置信息,配置信息可以包括服务端所管理频道的会话描述等。服务端比较旧频道流媒体地址与新频道流媒体地址对应的所属服务器组管理信息中的所有流媒体地址,当旧频道流媒体地址包括在新频道流媒体对应的所属服务器组的管理信息中时,服务端判定旧频道与新频道属于同一服务器组,新频道播放可以使用旧频道会话进行播放,这时服务端可以进一步比较旧频道信息中的会话描述和新频道配置信息中的会话描述;当旧频道流媒体地址不包括在新频道流媒体地址所属服务器组的管理信息中时,服务端判定旧频道与新频道不属于同一服务器组,新频道播放不能使用旧频道会话进行播放,此时服务端可以不再比较旧频道会话描述和新频道会话描述。
步骤203:服务端向客户端发送频道切换响应。
本步骤中,服务端在步骤202中判定新频道播放可以使用旧频道会话,向客户端发送携带旧频道会话标识符的频道切换响应。如果在步骤202中,服务端在比较新频道会话描述和旧频道会话描述之后发现,新频道会话描述和旧频道会话描述中有不相同的会话参数,在本步骤中频道切换响应中还可以携带新频道会话描述和旧频道会话描述中不同的会话参数,客户端接收到该频道切换请求响应之后,会对携带的不同会话参数进行更新。
步骤204:服务端接收客户端发送的新频道播放请求,使用旧频道会话向客户端播放新频道。
本步骤中,服务端接收客户端发送的包括旧频道流媒体地址和新频道流媒体地址的播放请求,服务端按照该新频道播放请求中携带的旧频道和新频道流媒体地址,将旧频道的媒体流切换到新频道的媒体流,使用旧频道会话向客户端播放新频道媒体流。上述服务端使用旧频道会话向客户端播放新频道媒体流时,可以是服务端使用旧频道会话描述和旧频道的传输参数向客户端播放新频道媒体流,也可以是服务端使用旧频道会话描述和与旧频道不同的传输参数向客户端播放新频道媒体流,例如服务端可以为新频道会话分配与旧频道会话参数中不同的服务端端口,然后使用该重新分配后的传输参数播放新频道媒体流。服务端还可以进一步向客户端发送新频道的播放参数。
步骤205:服务端向客户端发送频道切换请求响应。
本步骤中,在步骤202中服务端判定新频道播放不能使用旧频道会话,向客户端发送包括新频道会话描述,并且不携带旧频道会话标识符的频道切换响应。
步骤206:服务端接收客户端发送的旧频道卸载请求,卸载旧频道。
本步骤中,在步骤202的判定基础上,新频道播放需要建立新会话,则服务端首先接收客户端发送的包括旧频道流媒体地址的旧频道卸载请求,服务端根据该请求释放旧频道会话。
步骤207:服务端接收客户端发送的新频道会话建立请求和新频道播放请求,建立新会话,开始播放新频道。
本步骤中,在步骤206释放旧频道会话的基础上,作为一种较佳实施方式,服务端接收客户端发送携带新频道流媒体地址和所需传输参数的新会话建立请求,同时接收客户端发送的携带新频道流媒体地址的播放请求。服务端为新频道会话分配服务端端口号,与新频道会话建立请求中携带的新频道会话所需传输参数组成新频道会话的传输参数,建立新会话标识符。服务端根据播放请求中的新频道流媒体地址将旧频道媒体流切换到新频道媒体流进行播放。服务端还可以进一步向客户端发送新频道的播放参数、新频道会话标识符和传输参数。
经过步骤201~步骤207,结合本发明实施例两种流媒体频道切换方法的流程结束。其中,如果步骤202中只包括服务端判定不需要建立会话时执行步骤203,则步骤201~步骤204构成本发明实施例第一种流媒体频道切换方法的流程;如果步骤202中只包括服务端判定需要建立新会话时执行步骤205,则步骤201~步骤202、已经步骤205~步骤207构成本发明实施例第二种流媒体频道切换方法的流程。本发明实施例第一种流媒体频道切换的方法,在新频道播放可以使用旧频道会话时,省去了释放旧频道会话以及建立新频道会话的过程,本发明实施例第二种流媒体频道切换的方法,在新频道播放不能使用旧频道会话时,在卸载旧频道之后,作为一种较佳实施方式,可以将新会话建立和新频道播放同时进行。本发明实施例两种流媒体频道切换的方法,都节约了客户端与服务端的交互步骤,从而减少了频道切换时延迟的时间,为用户提供高质量的流媒体播放服务。
下面详细描述上述本发明实施例两种流媒体频道切换方法的几种较佳实施方式,在这几种较佳实施方式中,流程图中都示出客户端与服务端包括的用户当前播放的旧频道和切换的新频道之间的交互。
在本发明实施例第一种流媒体频道切换方法的第一种较佳实施方式中,新频道和旧频道属于服务端中的同一服务器组,并且新频道的会话描述与旧频道的会话描述完全相同。假设旧频道和新频道在标号为channel1的同一个信道中传输,其中旧频道播放新闻,播放媒体包括视频和音频,媒体流标号为Stream1;新频道播放电影,播放媒体包括视频和音频,媒体流标号为Stream2。旧频道文件地址为:rtsp://server.com/channel1/Stream1/RTSP/1.0,新频道文件地址为:rtsp://server.com/channel1/Stream2/RTSP/1.0,旧频道会话标识符为10932048038。在RTSP流程中使用S代表服务端,使用C代表客户端,图3示出了本较佳实施方式的流程,该流程包括以下步骤:
步骤301:服务端接收客户端发送的频道切换请求,该请求中包括旧频道流媒体地址、会话描述、传输参数和会话标识符、以及新频道流媒体地址,该请求中还携带一个服务端和客户端均可识别的切换字段头“switch”。其中使用RTSP协议中的DSCRIBE命令来携带频道切换请求,请求中的旧频道流媒体地址和新频道流媒体地址可以使用冒号分隔,其先后顺序可以由系统预置。使用RTSP流程描述为:
C->S:DESCRIBE switch:rtsp://server.com/channel1/Stream1/RTSP/1.0:
rtsp://server.com/channel1/Stream2/RTSP/1.0;
{
Stream1 SDP describe;
}
Transport:RTP/AVP/UDP;unicast;client_port=3456-3457;server_port=567
8-5679;
Session:10932048038。
其中,Stream1 SDP describe为旧频道的会话描述,该会话描述中可以包括旧频道会话参数,可以为媒体流编码速率等会话所需的相关参数,这些参数都符合SDP协议中的规定;Transport代表旧频道的传输参数,可以包括传输协议、传输方式和客户端、服务端可用端口等,例如以上举例中,RTP/AVP/UDP为旧频道传输遵守的传输协议,unicast代表传输方式为单播,client_port=3456-3457代表旧频道播放时各播放媒体使用的客户端端口号,server_port=5678-5679代表旧频道播放时各播放媒体使用的服务端端口号,假设所播放新闻的视频播放媒体由服务端端口5678传输到客户端端口3456进行播放,所播放新闻的音频播放媒体由服务端端口5679传输到客户端端口3457进行播放。
服务端接收客户端发送的频道切换请求之后,比较旧频道流媒体信息与新频道流媒体地址对应的所属服务器组的管理信息,以判定新频道和旧频道是否属于同一服务器组,按照本较佳实施方式所述场景,旧频道和新频道属于同一服务器组,则服务端判定新频道播放可以使用旧频道会话。在此基础上,服务端进一步比较旧频道信息的会话描述,与新频道配置信息中的会话描述完全相同,向客户端返回包括旧频道会话标识符的频道切换请求响应,使用RTSP流程的顺序描述可以为:
S->C:200 OK;
Session:10932048038。
其中,200 OK为RTSP协议中的固定响应命令,为服务端向客户端作出应答时必须出现的内容。
步骤302:服务端接收客户端发送的携带旧频道和新频道流媒体地址的新频道播放请求,根据该请求将旧频道媒体流切换到新频道媒体流,向客户端播放新频道媒体流。客户端可以根据频道切换请求响应中的旧频道会话标识符,判定不需要建立新会话而使用旧频道会话就可以完成新频道播放,于是向服务端发送包括旧频道和新频道流媒体地址的新频道播放请求,两个地址可以使用冒号分隔开,其先后顺序可以由系统预置,使用RTSP流程的顺序描述可以为:
C->S:PLAY rtsp://server.com/channel1/Stream1/RTSP/1.0:
rtsp://server.com/channel1/Stream2/RTSP/1.0。
服务端接收新频道播放请求后,根据该请求将媒体流从旧频道切换到新频道,开始新频道播放,本较佳实施方式中新频道的播放使用与旧频道完全相同的传输参数。服务端可以向客户端发送新频道播放时的播放参数,所述播放参数可以包括新频道播放的时间范围、播放地址、播放频率和当前播放时间等。使用RTSP流程的顺序描述可以为:
S->C:200 OK;
Session:10932048038;
Range:npt=0-;
RTP_Info:rtsp://server.com/channel1/Stream2/RTSP/1.0
Seq=9900;rtptime=447004。
其中,Range:npt=0-表示正常播放时间范围为0到任意时刻,RTP_Info表示新频道播放地址,Seq=9900表示播放频率,rtptime=447004表示当前播放频道实时传输协议(RTP,Real-time transport Protocol)时间戳。这些参数为举出的较佳实施例,可以根据需要进行扩展或者选择其中的几项。
经过步骤301~302,本发明实施例第一种流媒体频道切换方法的第一种较佳实施方式流程结束。在本较佳实施方式中,所举出的情况为新频道与旧频道都是两个播放媒体的情况,播放时两个播放媒体需要同步,即音频播放媒体与视频播放媒体同步。假如旧频道包括音频和视频播放媒体,这两个播放媒体使用相同的流媒体地址,新频道除音频和视频播放媒体外,还具备一个画中画的播放媒体,而且这三个播放媒体使用不同的流媒体地址,在播放新频道时,可以通过画中画的播放媒体看到不同于该新频道的其他频道的播放内容。在这种假设的情况下,旧频道播放时仍需两个播放媒体同步,而新频道播放时,音频和视频播放媒体需要同步,画中画播放媒体却可以与音频及视频播放媒体不同步,此时新频道中的播放媒体并不需要全部同步播放,认为新频道播放时有特殊的同步需求,此时在步骤302中,服务端向客户端返回的播放参数中,还可以携带分别为新频道中音频和视频播放媒体分配的同步源信息,音频、视频播放媒体时间戳,同步时间参考点,以及音频和视频播放媒体中媒体流的序列号,所述序列号为将媒体流划分后形成的单位,可以认为媒体流按照划分的序列依次传输,上述同步源信息、播放媒体序列号和播放媒体时间戳可以在新频道播放时,以同步时间参考点为时间基准保证音频和视频播放媒体的同步。
在本发明实施例第一种流媒体频道切换方法的第二种较佳实施方式中,新频道和旧频道属于同一服务器组,新频道会话描述与旧频道会话描述有不同的部分,假设旧频道和新频道在标号为channel1的同一个信道中传输,旧频道播放新闻,播放媒体包括音频和视频,媒体流标号为Stream1,新频道播放电影,播放媒体包括音频和视频,媒体流标号为Stream2,旧频道播放的流媒体文件地址为:rtsp://server.com/channel1/Stream1/RTSP/1.0,新频道播放的流媒体文件地址为:rtsp://server.com/channel1/Stream2/RTSP/1.0,旧频道会话标识符为10932048038,新频道会话描述与旧频道会话描述中不同的会话参数为音频流的编码速率。在RTSP流程中使用S代表服务端,使用C代表客户端。图4示出了本较佳实施方式的流程,该流程包括:
步骤401:服务端接收客户端发送的新频道切换请求,该请求中包括旧频道流媒体地址、会话描述、传输参数和会话标识符,以及新频道流媒体地址,该请求中还携带一个服务端和客户端均可识别的切换字段头“switch”。使用RTSP协议中的DSCRIBE命令携带频道切换请求,请求中的旧频道流媒体地址和新频道流媒体地址可以使用冒号分隔,其先后顺序可以由系统预置。使用RTSP流程的顺序描述为:
C->S:DESCRIBE switch:rtsp://server.com/channel1/Stream1/RTSP/1.0:
rtsp://server.com/channel1/Stream2/RTSP/1.0;
{
Stream1 SDP describe;
}
Transport:RTP/AVP/UDP;unicast;client_port=3456-3457;server_port=567
8-5679;
Session:10932048038。
其中,会话描述中的会话参数,传输参数的含义与第一种较佳实施方式中步骤301中的描述相同。
服务端接收客户端发送的频道切换请求后,比较旧频道流媒体信息和新频道流媒体地址对应的所属服务器组管理信息,判定旧频道与新频道属于同一服务器组,在此基础上进一步比较旧频道会话描述与新频道会话描述有不同的部分,则新频道播放虽然可以使用旧频道会话,但还需要一部分和旧频道会话中不相同的会话参数,向客户端返回的新频道切换请求响应中包括旧频道会话标识符、新频道播放需要使用的不同会话参数。使用RTSP流程的顺序描述可以为:
S->C:200 OK;
{
Stream2 SDP describe;
}
Session:10932048038。
其中,在Stream2 SDP describe一项对新频道媒体流的描述中,包括了新频道会话描述与旧频道会话描述中的不同会话参数,本较佳实施方式所述场景中不同的会话参数假设为音频流的编码速率。
步骤402:服务端接收客户端发送的携带旧频道和新频道流媒体地址的新频道播放请求,服务端根据该请求将旧频道媒体流切换到新频道媒体流,开始向客户端播放新频道。客户端可以根据频道请求响应中的旧频道会话标识符和新频道播放所需的不同会话参数,判定新频道播放可以使用旧频道会话,但需要更新旧频道会话中的部分会话参数,因此客户端完成参数适应,即更新旧频道会话参数的中音频流编码速率,并向服务端发送包括旧频道和新频道流媒体地址的播放请求,两个地址可以使用冒号分隔开,其先后顺序可以由系统预置,使用RTSP流程的顺序描述可以为:
C->S:PLAY rtsp://server.com/channel1/Stream1/RTSP/1.0:
rtsp://server.com/channel1/Stream2/RTSP/1.0。
服务端接收新频道播放请求后,将媒体流从旧频道切换到新频道,开始向客户端播放新频道媒体流,本较佳实施方式中新频道播放使用与旧频道完全相同的传输参数,服务端还可以向客户端发送新频道播放时的播放参数,所述播放参数可以是新频道播放的时间范围、播放地址、播放频率和当前播放时间等。使用RTSP流程的顺序描述可以为:
S->C:200 OK;
Session:10932048038;
Range:npt=0-;
RTP_Info:rtsp://server.com/channel1/Stream2/RTSP/1.0
Seq=9900;rtptime=447004。
其中,各播放参数的含义与解释与第一种较佳实施方式中步骤302中的描述相同。
经过步骤401~步骤402之后,本发明实施例第一种流媒体频道切换方法的第二种较佳实施方式的流程结束。与第一种较佳实施方式相同,在第二种较佳实施方式中,播放新频道时也可能有特殊的同步需求,这时在步骤402中,服务端向客户端发送的播放参数中,还可以携带分别为新频道中音频和视频播放媒体分配的同步源信息,音频和视频播放媒体时间戳,同步时间参考点,以及音频和视频播放媒体中媒体流的序列号,所述序列号为将媒体流划分后形成的单位,可以认为媒体流按照划分的序列依次传输,上述同步源信息、播放媒体序列号和播放媒体时间戳可以在新频道播放时,以同步时间参考点为时间基准,保证音频和视频播放媒体的同步。
在本发明实施例第二种流媒体频道切换的方法较佳实施方式中,新频道与旧频道不属于同一服务器组,假设旧频道和新频道在标号为channel1的同一个信道中传输,旧频道播放新闻,播放媒体为音频和视频,媒体流标号为Stream1,流媒体文件地址为:rtsp://server.com/channel1/Stream1/RTSP/1.0,新频道播放电影,播放媒体为音频和视频,媒体流标号为Stream2,播放的流媒体文件地址为:rtsp://server.com/channel1/Stream2/RTSP/1.0,旧频道会话标识符为10932048038,建立的新频道会话标识符为10980380444,在RTSP流程中使用S代表服务端,使用C代表客户端。图5示出了本较佳实施方式的流程,该流程包括:
步骤501:服务端接收客户端发送的频道切换请求,该请求中包括旧频道流媒体地址、会话描述、传输参数和会话标识符,以及新频道流媒体地址,该请求中还携带一个服务端和客户端均可识别的切换字段头“switch”。使用RTSP协议中的DSCRIBE命令携带频道切换请求,请求中的旧频道流媒体地址和新频道流媒体地址可以使用冒号分隔,其先后顺序可以由系统预置。使用RTSP流程的顺序描述为:
C->S:DESCRIBE switch:rtsp://server.com/channel1/Stream1/RTSP/1.0:
rtsp://server.com/channel1/Stream2/RTSP/1.0;
{
Stream1 SDP describe;
}
Transport:RTP/AVP/UDP;unicast;client_port=3456-3457;server_port=567
8-5679;
Session:10932048038。
服务端接收客户端发送的频道切换请求后,比较旧频道流媒体信息和新频道所属服务器组管理信息,判定旧频道与新频道不属于同一服务器组,则新频道播放不能使用旧频道会话,此时服务器端可以不再比较旧频道和新频道的会话描述是否相同,而直接向客户端返回的频道切换请求响应,该响应中需要包括新频道的会话描述,但不包括旧频道会话标识符,使用RTSP流程的顺序描述可以为:
S->C:200 OK;
{
Stream2 SDP describe;
}
其中,Stream2 SDP describe指新频道的会话描述,包括新频道播放的会话参数。
步骤502:服务端接收客户端发送的旧频道卸载请求,卸载旧频道。客户端可以根据服务端发送的频道切换请求响应中未携带旧频道会话标识符,判定需要建立新会话来完成新频道播放,于是向服务端发送携带旧频道流媒体地址的旧频道卸载请求,使用RTSP流程的顺序描述可以为:
C->S:TEARDOWN rtsp://server.com/channel1/Stream1/RTSP/1.0。
服务端接收到旧频道的卸载请求后,立即卸载旧频道,即将旧频道会话释放,并向客户端发送包括旧频道会话标识符的旧频道会话释放响应,使用RTSP流程的顺序描述可以为:
S->C:200 OK;
Session:10932048038。
步骤503:服务端接收客户端发送的携带新频道流媒体地址的新会话建立请求和新会话所需的传输参数,作为一种较佳实施方式,服务端同时还接收客户端发送的包括新频道流媒体地址的播放请求,使用RTSP流程的顺序描述可以为:
C->S:SETUP rtsp://server.com/channel1/Stream2/RTSP/1.0
Transport:RTP/AVP/UDP;unicast;client_port=3458-3459;
PLAY rtsp://server.com/channel1/Stream2/RTSP/1.0
服务端建立新频道会话,将媒体流从旧频道切换到新频道开始新频道播放,向客户端发送新会话的会话标识符、播放参数和传输参数。使用RTSP流程的顺序描述可以为:
S->C:200 OK;
Transport:RTP/AVP/UDP;unicast;client_port=3458-3459;server_port=568
0-5681;
Session:10980380444;
Range:npt=0-;
RTP_Info:rtsp://server.com/channel1/Stream2/RTSP/1.0
Seq=9000;rtptime=447004。
其中,各播放参数的含义与解释与第一种较佳实施方式中步骤302中的描述相同。
经过步骤501~503,本发明实施例第二种流媒体频道切换方法较佳实施方式流程结束。与本发明实施例第一种流媒体频道切换方法的两种较佳实施方式相同,本较佳实施方式中,播放新频道时也可能有特殊的同步需求,这时在步骤502中,服务端向客户端返回的播放参数中,还可以携带分别为新频道中音频和视频播放媒体分配的同步源信息、音频和视频播放媒体时间戳,同步时间参考点,以及音频和视频播放媒体中媒体流的序列号,所述序列号为将媒体流划分后形成的单位,可以认为媒体流按照划分的序列依次传输,上述同步源信息、播放媒体序列号和播放媒体时间戳可以在新频道播放时,以同步时间参考点为同步基准保证音频和视频播放媒体的同步。
本发明实施例第一种流媒体频道切换的两种较佳实施方式,在新频道播放可以使用旧频道会话时,省去了释放旧频道会话以及建立新频道会话的过程,本发明实施例第二种流媒体频道切换方法的较佳实施方式,在新频道播放不能使用旧频道会话时,作为一种较佳实施方式,在释放旧频道会话后将新会话建立和新频道播放同时进行,节约了客户端与服务端的交互步骤,从而减少了频道切换时延迟的时间,为用户提供高质量的流媒体播放服务。
其次,介绍本发明实施例提供的两种流媒体更改播放媒体的方法,图6示出了本发明提供的流媒体第一种更改播放媒体的方法流程,该流程包括:
步骤601:服务端接收客户端发送的更改播放媒体请求,该请求中携带当前播放频道中需要更改的播放媒体信息。
本步骤中,服务端在播放当前频道内容时,接收客户端发送的更改播放媒体的请求,该请求中需携带当前播放频道中需要更改的播放媒体信息。需要更改的播放媒体信息可以包括需要更改的播放媒体的地址和可用的客户端端口号。所述更改播放媒体请求可以为增加播放媒体请求,也可以为删除播放媒体请求,该请求中可以携带服务端和客户端同时可以识别的字段头,用该字段头标识更改播放媒体的操作。使用RTSP协议中的PLAY消息携带更改播放媒体请求。所述同步时间范围也可以由服务端指定。
步骤602:服务端根据更改播放媒体的请求,对播放媒体进行更改。
本步骤中,服务端根据客户端发送的更改播放媒体的请求,执行更改操作,具体为:当更改为增加播放媒体时,服务端根据请求中的需要增加的播放媒体信息建立要增加的新媒体并开始播放,将增加的播放媒体描述、传输参数、会话标识符和播放媒体同步信息发送给客户端;当更改为删除播放媒体时,服务端根据请求中的需要删除的播放媒体信息释放播放媒体,停止该播放媒体的播放,向客户端返回包括会话标识符的删除播放媒体的响应。上述服务端在更改播放媒体后向客户端返回信息或响应时,均可以同时携带会话标识符,该会话标识符所标识的是当前播放频道增加或删除播放媒体后,播放媒体组合的会话。
本发明实施例第一种流媒体更改播放媒体的方法,服务端通过客户端发送的播放请求中携带当前播放频道中需更改的播放媒体信息,执行更改播放媒体的操作,从而实现了更改播放媒体的要求,为用户提供高质量的流媒体播放服务。
在上述本发明实施例第一种流媒体更改播放媒体的方法中,更改播放媒体请求中还可以进一步包括需要保留的播放媒体信息,该信息可以包括需要保留的播放媒体地址和使用的会话标识符。
图7示出了本发明第二种流媒体更改播放媒体的方法流程,该流程包括:
步骤701:服务端接收客户端发送的更改播放媒体请求,该请求中携带当前播放频道中需要保留的播放媒体信息。
本步骤中,服务端在播放当前频道内容时,接收客户端发送的更改播放媒体的请求,该请求中可以携带当前播放频道中需要保留的播放媒体信息,所述需要保留的播放媒体信息可以包括:需要保留播放媒体的地址和使用会话标识符。所述更改播放媒体请求可以为删除播放媒体请求,该请求中可以携带服务端和客户端同时可以识别的字段头,用该字段头标识删除播放媒体的操作。使用RTSP协议中的PLAY消息携带删除播放媒体请求。
步骤702:服务端根据更改播放媒体的请求,对播放媒体进行更改。
本步骤中,服务端接收客户端发送的更改播放媒体请求中只包含需要保留的播放媒体信息,服务端则释放更改播放媒体请求中没有包含的当前播放频道播放媒体,停止这些播放媒体的播放。上述服务端在更改播放媒体后向客户端返回信息或响应时,均可以同时携带会话标识符,该会话标识符与更改播放媒体请求中的会话标识符相同,但更改播放媒体后的会话标识符所标识的是当前播放频道增加或删除播放媒体后,播放媒体组合的会话。
本发明实施例提供的第二种流媒体更改播放媒体的方法,通过在播放请求中携带当前播放频道中需要保留的播放媒体信息,服务端对该请求中没有携带的播放媒体执行更改操作,从而实现了更改播放媒体的要求,为用户提供高质量的流媒体播放服务。
下面分别详细描述上述本发明实施例两种流媒体更改播放媒体的方法的较佳实施方式。
图8示出了本发明实施例第一种流媒体更改播放媒体方法的第一种较佳实施方式的流程,假设客户端当前播放频道的内容在标号为channel1的信道中传输,当前播放频道包括一个音频播放媒体,用标号A标识该音频播放媒体,其RTSP地址为rtsp://server.com/channel1/Stream1/A/RTSP/1.0。用户需在当前频道的播放中增加一个字幕播放媒体,使用标号B标识该字幕播放媒体,其RTSP地址为rtsp://server.com/channel1/Stream1/B/RTSP/1.0,该增加的字幕媒体的客户端端口号为3789,当前播放频道使用的会话标识符为342254667。本发明实施例第一种流媒体更改播放媒体的方法第一种较佳实施方式的流程包括:
步骤801:服务端接收客户端发送的增加播放媒体的请求,该请求中携带当前播放频道中需要增加播放媒体的地址和传输参数。使用RTSP流程的顺序描述可以为:
C->S:PLAY add_media:rtsp://server.com/channel1/Stream1/B/RTSP/1.0;
Transport:RTP/AVP/UDP;unicast;client_port=3789。
其中,add_media为请求增加播放媒体时用来标识增加播放媒体操作的字段头,该字段头客户端和服务端都可以识别;client_port=3789为增加的播放媒体在客户端的端口号。服务端接收到上述更改播放媒体的请求后,已知当前播放频道已有播放媒体的相关信息,分配在当前播频道中增加播放媒体后的同步时间范围,使用Range表示增加的播放媒体与当前播放媒体的同步时间范围为第25秒到第31秒,分为三个时段进行同步,即Range:npt=25-27;npt=27-29;npt=29-31;npt=31-,该同步时间范围也可以由服务端自行分配,同步播放的起始时间必须在该规定的同步时间范围内。
步骤802:服务端根据需要增加的播放媒体信息建立增加的媒体,在进行播放适应后开始播放,向客户端返回增加的播放媒体的描述、传输参数、会话标识符和同步信息。使用RTSP流程的顺序描述可以为:
S->C:200 ok;
{
New media SDP
}
Transport:RTP/AVP/UDP;unicast;client_port=3789-3790;server_port=532
2-5323;
Session=342254667;
Npt=27.5;
RTP-Info:url=”rtsp://server.com/channel1/Stream1/A/RTSP/1.0”
Ssrc=0A3C34325:seq=45102,rtptime=12344533;
url=”rtsp://server.com/channel1/Stream1/B/RTSP/1.0”
ssrc=9B32D34A:seq=30211,rtptime=54343132。
上述有关当前播放频道中已有播放媒体的相关信息为服务端的已知内容。其中,New media SDP中包括对增加播放媒体的描述;Npt=27.5为时间参考点;Ssrc=0A3C34325为服务端分配给当前播放媒体即音频的同步源号;seq=45102为当前视频播放媒体的媒体流中的序列号,表示当前媒体流播放到该序列;rtptime=12344533为视频播放媒体时间戳;ssrc=9B32D34A为服务端分配给增加的字幕播放媒体的同步源号;seq=30211为增加的字幕播放媒体开始播放的媒体流序列号;rtptime=54343132为增加的字幕播放媒体时间戳。其中,时间参考点的作用是为需要同步的各播放媒体提供一个同步参照的时间基准,各播放媒体的同步源信息、播放媒体时间戳和播放媒体序列号在此时间基准下进行播放同步。服务端向客户端返回的会话标识符为当前频道播放所使用的会话标识符,但此时返回的会话标识符标识已有的视频播放媒体和增加的字幕播放媒体组合的会话。服务端进行播放适应,是指服务端针对增加的播放媒体,更新增加的播放媒体描述和传输参数。
客户端接收到上述同步信息之后,进行视频播放媒体和字幕播放媒体的同步回放。
经过步骤801~步骤802,本发明实施例第一种流媒体更改播放媒体的方法第一种较佳实施方式的流程结束,实现了在当前频道的播放媒体基础上,增加新的播放媒体。在本较佳实施方式中,如果增加的播放媒体无需与当前播放频道中的播放媒体同步,则服务端无需返回同步信息。
在步骤801中,更改播放媒体请求中也可以进一步携带需要保留的播放媒体信息,该信息可以包括:需要保留的播放媒体的地址和使用会话标识符。
图9示出了本发明实施例第二种流媒体更改媒体的方法的较佳实施方式的流程,假设客户端当前播放频道的内容在标号为channel1的信道中传输,当前播放频道包括一个音频播放媒体,用标号A标识该音频播放媒体,其RTSP地址为rtsp://server.com/channel1/Stream1/A/RTSP/1.0,还包括一个字幕播放媒体,使用标号B标识该字幕播放媒体,其RTSP地址为rtsp://server.com/channel1/Stream1/B/RTSP/1.0。用户在某一时刻只想收听音频而不想观看字幕,将向服务端请求删除字幕播放媒体,该字幕媒体的客户端端口号为3789,服务端端口号为7632,当前播放频道使用的会话标识符为342254667。该流程包括:
步骤901:服务端接收客户端发送的删除播放媒体请求,该请求中包括当前播放频道中需要保留的播放媒体地址和使用会话标识符。使用RTSP流程的顺序描述可以为:
C->S:PLAY del_media:rtsp://server.com/channel1/Stream1/A/RTSP/1.0:
Session=342254667。
其中,del_media为请求删除播放媒体时用来标识删除播放媒体操作的字段头,该字段头客户端和服务端都可以识别。如果客户端和服务端默认的方式为,删除播放媒体请求中只包含需要保留的播放媒体信息,当服务端接收到该删除播放媒体请求后,判定该请求中没有包含的播放媒体即为用户想删除的播放媒体,此时删除播放媒体请求中也可以只携带需要保留的播放媒体信息。
步骤902:服务端根据需要删除的播放媒体地址,将没有包括在删除播放媒体请求中的字幕播放媒体释放,停止对字幕播放媒体的播放,完成后向客户端返回删除播放媒体响应表示删除播放媒体成功。使用RTSP流程的顺序描述可以为:
S->C:200 ok;
Session=342254667。
上述服务端向客户端返回的删除播放媒体响应中的会话标识符,与当前播放频道使用的会话标识符相同,但此时返回的会话标识符标识删除字幕播放媒体后,音频播放媒体的会话。
经过步骤901~步骤902,本发明实施例提供的第二种流媒体更改播放媒体方法的第二种较佳实施方式流程结束,用户实现了删除当前播放媒体中的某一播放媒体。执行删除播放媒体后,不影响当前频道保留的播放媒体的播放。
在步骤901中,删除播放媒体请求中也可以进一步包括需要删除的播放媒体信息,例如需要删除的播放媒体的地址、端口号和传输参数。
再次,介绍本发明实施例流媒体频道切换的系统,图10为本发明实施例流媒体频道切换系统的结构示意图,该系统包括:客户端和服务端。
客户端,用于向服务端发送携带旧频道信息和新频道流媒体地址的频道切换请求,接收服务端返回的频道切换请求响应;解析频道切换请求响应;向服务端发送旧频道卸载请求,接收服务端发送的卸载响应;向服务端发送新频道会话建立请求;向服务端发送新频道播放请求,接收服务端播放的新频道媒体流。
服务端,用于接收客户端发送的频道切换请求,根据比较旧频道信息和新频道流媒体地址对应的所属服务器组管理信息的结果,向客户端返回频道切换请求响应;接收客户端发送的旧频道卸载请求,卸载旧频道并向服务端发送卸载响应;接收客户端发送的新频道会话建立请求,建立新会话;接收客户端发送的新频道播放请求,向客户端播放新频道媒体流。
上述本发明实施例流媒体频道切换系统中,客户端可以包括解析模块、收发模块和执行模块。
收发模块,向服务端传输执行模块发送的携带旧频道信息和新频道流媒体地址的频道切换请求,接收服务端发送的频道切换请求响应传输给执行模块和解析模块;向服务端传输执行模块发送的旧频道卸载请求,接收服务端发送的卸载响应传输给执行模块;向服务端传输执行模块发送的新频道会话建立请求和新频道播放请求,接收服务端播放的新频道媒体流传输给执行模块;
解析模块,用于解析频道切换请求响应,将解析结果传输给执行模块;
执行模块,用于向收发模块发送频道切换请求,接收收发模块传输的频道切换请求响应;接收解析模块传输的解析结果;向收发模块发送旧频道卸载请求,接收收发模块传输的卸载响应;向收发模块发送新频道会话建立请求和新频道播放请求,接收收发模块传输的服务端播放的新频道媒体流。
服务端又可以包括:收发模块、解析模块、存储模块和执行模块。
收发模块,用于接收客户端发送的频道切换请求传输给执行模块和解析模块,向客户端传输执行模块发送的频道切换请求响应;接收客户端发送的旧频道卸载请求,向客户端传输执行模块发送的卸载响应;接收客户端发送的新频道会话建立请求和新频道播放请求,传输给执行模块,向客户端传输执行模块播放的新频道媒体流;
解析模块,用于从存储模块中读取新频道流媒体地址对应的所属服务器组的管理信息,比较频道切换请求携带的旧频道信息和新频道流媒体地址对应的所属服务器组的管理信息,得出解析结果传输给执行模块;
存储模块,用于存储新频道流媒体地址对应的所属服务器组管理信息;
执行模块,用于根据解析模块得出的解析结果,向收发模块发送频道切换请求响应;接收收发模块传输的旧频道卸载请求,卸载旧频道,向收发模块发送卸载响应;接收收发模块传输的新频道会话建立请求,建立新会话;接收收发模块传输的新频道播放请求,向收发模块播放新频道媒体流。
本发明实施例流媒体频道切换的系统,服务端可以按照本发明实施例第一种流媒体频道切换的方法工作,在这种情况下简述系统的工作方式。
服务端按照本发明实施例第一种流媒体频道切换的方法,可以有以下操作:收发模块接收客户端发送的频道切换请求,传输给解析模块和执行模块;解析模块从存储模块中读取新频道流媒体地址对应的所属服务器组的管理信息,根据比较旧频道信息和新频道流媒体地址对应的所属服务器组管理信息的结果,得出不需要建立新会话的解析结果,将该解析结果传输给执行模块;执行模块根据解析模块得出的解析结果,通过收发模块向客户端发送携带旧频道会话标识符的频道切换请求响应;收发模块接收客户端发送的新频道播放请求,传输给执行模块;执行模块根据新频道播放请求,通过收发模块使用旧频道会话向客户端播放新频道媒体流。
而在本发明实施例流媒体频道切换系统中的客户端结构与功能基础上,结合上述对服务端工作方式的描述,客户端可以有以下操作:收发模块接收服务端发送的频道切换请求响应,传输给解析模块和执行模块;解析模块根据频道切换请求中包括的旧频道会话标识符,得出新频道播放可以使用旧频道会话的解析结果,将该解析结果提供给执行模块;执行模块根据解析模块提供的解析结果,通过收发模块向服务端发送新频道播放请求;收发模块接收服务端播放的新频道媒体流,传输给执行模块,用户可以通过客户端使用新频道播放的内容。
本发明实施例流媒体频道切换的系统,服务端还可以按照本发明实施例第二种流媒体频道切换的方法工作,在这种情况下简述系统的工作方式。
服务端按照本发明实施例第一种流媒体频道切换的方法,可以有以下操作:收发模块接收客户端发送的频道切换请求,传输给解析模块和执行模块;解析模块接收到收发模块传输的频道切换请求,从存储模块中读取新频道流媒体地址对应的所属服务器组的管理信息,根据比较旧频道信息和新频道流媒体地址对应的所属服务器组管理信息的结果,得出需要建立新会话的解析结果,将该解析结果传输给执行模块;执行模块根据解析模块得出的解析结果,通过收发模块向客户端发送携带新频道会话描述但不包括旧频道会话标识符的频道切换请求响应;收发模块接收客户端发送的旧频道卸载请求,传输给执行模块;执行模块根据旧频道卸载请求,卸载旧频道,通过收发模块向客户端返回卸载响应;收发模块接收客户端发送的新频道会话建立请求,传输给执行模块;执行模块根据新频道会话建立请求,建立新频道会话;收发模块接收客户端发送的新频道播放请求,传输给执行模块;执行模块根据新频道播放请求,通过收发模块客户端播放新频道媒体流。
而在本发明实施例流媒体频道切换系统中的客户端结构与功能基础上,结合上述对服务端工作方式的描述,在客户端可以有以下操作:收发模块接收服务端发送的频道切换请求响应,传输给解析模块和执行模块;解析模块解析频道切换请求响应,根据频道切换请求中不包括旧频道会话标识符,得出新频道播放不能使用旧频道会话的解析结果,将该解析结果提供给执行模块;执行模块根据解析模块提供的解析结果,通过收发模块向服务端发送旧频道卸载请求,通过收发模块接收服务端返回的卸载响应;执行模块通过收发模块向服务端发送新频道会话建立请求;执行模块通过收发模块向服务端发送新频道播放请求,通过收发模块接收服务端播放的新频道媒体流,用户可以通过客户端使用新频道播放的内容。
本发明实施例流媒体频道切换的系统,按照本发明实施例第二种流媒体频道切换的方法工作时,作为一种较佳实施方式,在客户端解析需要建立新会话,并卸载旧频道之后,同时向服务端发送新频道会话建立请求和新频道播放请求,服务端在接收到这两个请求后,建立新会话的同时开始播放新频道媒体流。
本发明实施例流媒体频道切换的系统,新频道播放可以使用旧频道会话时,省去了释放旧频道会话以及建立新频道会话的过程,在新频道播放不能使用旧频道会话时,作为一种较佳实施方式,可以同时完成新频道会话建立和新频道会话播放,节约了客户端与服务端的交互步骤,减少了频道切换时延迟的时间,从而为用户提供高质量的流媒体播放服务。
本发明实施例还提供一种流媒体频道切换的客户端装置,该装置的结构特征与功能和本发明实施例流媒体频道切换系统中的客户端部分相同,在应用本发明实施例两种流媒体频道切换的方法,其工作方式也与本发明实施例流媒体频道切换系统的工作方式相同,这里不再赘述。
本发明实施例还提供一种流媒体频道切换的服务端装置,该装置的结构特征与功能和本发明实施例流媒体频道切换系统中的服务端部分相同,在应用本发明实施例两种流媒体频道切换的方法,其工作方式也与本发明实施例流媒体频道切换系统的工作方式相同,这里不再赘述。
最后,介绍本发明实施例提供的流媒体更改播放媒体的系统,图11示出了本发明实施例提供的流媒体更改播放媒体的系统结构,该系统包括:客户端和服务端。
客户端,用于向服务端发送携带需要更改的播放媒体信息的更改播放媒体请求。
服务端,用于接收客户端发送的更改播放媒体的请求,根据请求执行更改处理。
本发明实施例提供的流媒体更改播放媒体的系统,客户端通过在播放请求中携带当前播放频道中需要更改的播放媒体信息,告知服务端更改播放媒体,服务端根据该请求执行更改操作,从而实现了更改播放媒体的要求。
上述流媒体更改播放媒体的系统中,服务端可以包括:存储模块和执行模块;
存储模块,用于存储当前播放频道中的播放媒体信息。
执行模块,用于接收客户端发送的更改播放媒体的请求,按照该请求更改当前播放频道的播放媒体,向客户端返回更改播放媒体的响应,并对存储模块中的播放媒体信息进行更新。
上述流媒体更改播放媒体的系统中,客户端可以包括:存储模块和更改服务模块;
存储模块,用于存储当前播放频道中的播放媒体信息。
更改服务模块,用于从存储模块中读取需要更改的播放媒体信息,将更改的播放媒体信息携带在更改播放媒体请求中发送到服务端,接收服务端发送的更改播放媒体请求的响应。
本发明实施例流媒体更改播放媒体的系统,可以按照本发明实施例第一种流媒体更改播放媒体的方法进行工作。
本发明实施例还提供一种流媒体更改播放媒体的客户端装置,该装置的结构特征和功能与本发明实施例流媒体更改播放媒体系统中的客户端部分相同,按照本发明实施例第一种流媒体更改播放媒体方法的工作方式也相同,这里不再赘述。
本发明实施例还提供一种流媒体更改播放媒体的服务端装置,该装置的结构特征和功能与本发明实施例流媒体更改播放媒体系统中的服务端部分相同,按照本发明实施例第一种流媒体更改播放媒体方法的工作方式也相同,这里不再赘述。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种流媒体更改播放媒体方法,其特征在于,该方法包括:
服务端接收客户端发送的更改播放媒体请求,该请求中携带当前播放频道中需要更改的播放媒体信息;
服务端根据所述请求完成对播放媒体的更改处理;
其中,所述更改播放媒体请求为增加播放媒体请求,则所述服务端根据请求完成对播放媒体的更改处理过程包括:所述服务端获取当前频道中已有的播放媒体和增加的播放媒体的播放媒体同步信息;
所述增加播放媒体请求包括增加播放媒体的字段头和需要增加的播放媒体信息;所述需要增加的播放媒体信息包括:需要增加的播放媒体地址、同步时间范围和所需传输参数;
所述服务端根据请求完成对播放媒体的更改处理具体为:服务端根据所述请求中的需要增加的播放媒体的所需传输参数,为需要增加的播放媒体分配服务端端口并建立新媒体,在播放适应后开始播放;通过为当前频道中已有的播放媒体和增加的播放媒体分配同步源来获取所述播放媒体同步信息,向客户端返回增加的播放媒体描述、传输参数和所述播放媒体同步信息。
2.如权利要求1所述的方法,其特征在于,所述播放媒体同步信息包括与增加播放媒体请求中相同的会话标识符,用于标识当前播放频道已有的播放媒体与增加的播放媒体组合的会话。
3.如权利要求1所述的方法,其特征在于,所述同步时间范围由服务端指定;
所述播放媒体同步信息还包括:同步源信息、播放媒体序列号、播放媒体时间戳、同步时间参考点;
所述同步源信息、播放媒体序列号和播放媒体时间戳,以同步时间参考点为时间基准同步播放媒体。
4.一种流媒体更改播放媒体系统,其特征在于,该系统包括:客户端和服务端;
所述客户端,用于向服务端发送携带当前播放频道需要更改的播放媒体信息的更改播放媒体请求;
所述服务端,用于接收客户端发送的更改播放媒体请求,根据请求执行更改处理;其中,所述更改播放媒体请求为增加播放媒体请求,则所述服务端根据请求执行更改处理包括:服务端获取当前频道中已有的播放媒体和增加的播放媒体的播放媒体同步信息;
所述增加播放媒体请求包括增加播放媒体的字段头和需要增加的播放媒体信息;所述需要增加的播放媒体信息包括:需要增加的播放媒体地址、同步时间范围和所需传输参数;
所述服务端用于根据请求执行更改处理具体包括:根据所述请求中的需要增加的播放媒体的所需传输参数,为需要增加的播放媒体分配服务端端口并建立新媒体,在播放适应后开始播放;通过为当前频道中已有的播放媒体和增加的播放媒体分配同步源来获取所述播放媒体同步信息,向客户端返回增加的播放媒体描述、传输参数和所述播放媒体同步信息。
5.如权利要求4所述的系统,其特征在于,所述服务端包括:存储模块和执行模块;
存储模块,用于存储当前播放频道中的播放媒体信息;
执行模块,用于接收客户端发送的更改播放媒体的请求,按照该请求更改当前播放频道的播放媒体,向客户端返回更改播放媒体的响应,并对存储模块中的播放媒体信息进行更新。
6.如权利要求4所述的系统,其特征在于,所述客户端包括存储模块和更改服务模块;
所述存储模块,用于存储客户端所播放频道的播放媒体信息;
所述更改服务模块,用于从存储模块中读取需要更改的播放媒体信息,将更改的播放媒体信息携带在更改播放媒体请求中发送到服务端,接收服务端发送的更改播放媒体请求的响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910161200.4A CN101714977B (zh) | 2007-04-13 | 2007-04-13 | 流媒体更改播放媒体的方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910161200.4A CN101714977B (zh) | 2007-04-13 | 2007-04-13 | 流媒体更改播放媒体的方法、系统及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710098118.2A Division CN101137043B (zh) | 2007-04-13 | 2007-04-13 | 流媒体频道切换的方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101714977A CN101714977A (zh) | 2010-05-26 |
CN101714977B true CN101714977B (zh) | 2014-03-12 |
Family
ID=42418259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910161200.4A Active CN101714977B (zh) | 2007-04-13 | 2007-04-13 | 流媒体更改播放媒体的方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101714977B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594776B (zh) * | 2011-01-11 | 2016-08-03 | 中兴通讯股份有限公司 | 一种同步源标识更新的方法、装置和系统 |
CN104284239A (zh) * | 2013-07-11 | 2015-01-14 | 中兴通讯股份有限公司 | 一种视频播放方法、装置、视频播放客户端和多媒体服务器 |
CN104301806B (zh) * | 2014-09-11 | 2017-11-24 | 华为技术有限公司 | 视频识别方法、装置和系统 |
CN105187847B (zh) * | 2015-09-09 | 2019-04-26 | 深圳创维数字技术有限公司 | 一种分布式网络电视直播方法、装置、视频网关及系统 |
CN109348297B (zh) * | 2018-11-28 | 2021-03-23 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种数据获取方法及装置 |
CN111479122B (zh) * | 2020-04-13 | 2022-12-06 | 海信视像科技股份有限公司 | 视频播放方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1898935A (zh) * | 2003-12-27 | 2007-01-17 | Sk电信有限公司 | 基于rtsp的多媒体控制方法 |
-
2007
- 2007-04-13 CN CN200910161200.4A patent/CN101714977B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1898935A (zh) * | 2003-12-27 | 2007-01-17 | Sk电信有限公司 | 基于rtsp的多媒体控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101714977A (zh) | 2010-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101137043B (zh) | 流媒体频道切换的方法、系统及装置 | |
US8522288B2 (en) | IP broadcasting system and a multicast group management apparatus for the same | |
RU2480936C2 (ru) | Способ, устройство и система для распространения информации на основе ip-телевидения | |
JP5143837B2 (ja) | サービスセンタ、ユーザ装置、方法及びコンピュータ読取可能な媒体 | |
US8531502B2 (en) | Method, device and system for presenting virtual conference site of video conference | |
CN101714977B (zh) | 流媒体更改播放媒体的方法、系统及装置 | |
CN100518311C (zh) | 一种减少直播频道切换响应时间的方法 | |
US20020184314A1 (en) | Method and system for transmitting multicast data signals | |
JP5436577B2 (ja) | ネットワークにおける関連付けられたセッションの管理 | |
US20130219423A1 (en) | Algorithmic Media Stream Selection | |
CN102037703A (zh) | Iptv通信网络中传递方法之间的切换 | |
CN101631029A (zh) | 直播会话切换的方法、多终端频道切换同步的方法及终端 | |
CN111147362B (zh) | 多人即时通讯方法、系统、装置及电子设备 | |
CN102271281B (zh) | 快速频道切换的实现方法和装置 | |
CN102131109A (zh) | 用于监控流媒体播放的方法、系统及装置 | |
CN101547402B (zh) | 一种建立iptv多播业务的方法及设备 | |
CN101605142A (zh) | 会话管理的实现方法、装置、系统及终端 | |
CN113507639A (zh) | 频道快速切换方法、播放器以及可读存储介质 | |
CN105763941A (zh) | 一种频道切换方法和系统 | |
JP2011124982A (ja) | 無線接続システムにおけるマルチキャスト連結識別子割当装置および方法 | |
CN108632681B (zh) | 播放媒体流的方法、服务器及终端 | |
KR100880569B1 (ko) | 모바일 아이피티브이의 이피지 환경에서 브이오디 컨텐츠의전송방법 | |
KR101235093B1 (ko) | 스트리밍 데이터 전달 | |
CN101677393A (zh) | 基于网际协议电视的节目播放方法、用户设备 | |
CN114095480B (zh) | Ktv直播连麦方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |