CN102648636B - 用于媒体位置控制的方法、设备和系统 - Google Patents
用于媒体位置控制的方法、设备和系统 Download PDFInfo
- Publication number
- CN102648636B CN102648636B CN200980162126.6A CN200980162126A CN102648636B CN 102648636 B CN102648636 B CN 102648636B CN 200980162126 A CN200980162126 A CN 200980162126A CN 102648636 B CN102648636 B CN 102648636B
- Authority
- CN
- China
- Prior art keywords
- server
- client
- media
- parts
- stream
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004891 communication Methods 0.000 claims abstract description 35
- 230000005540 biological transmission Effects 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 description 14
- 239000008186 active pharmaceutical agent Substances 0.000 description 10
- 230000009471 action Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000518 rheometry Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种用于媒体位置控制的方法,包括:客户端向播放器发送设置流传送会话的请求;在播放器与服务器之间设置流传送会话;在客户端与服务器之间设置通信信道;定义客户端与服务器之间的接口消息以用于指示媒体中读取位置;以及根据读取位置在服务器中创建连续流。本发明还提供用于媒体位置控制的设备和系统及用于媒体位置控制的服务器和客户端。
Description
技术领域
本公开涉及媒体位置控制的领域,并且更具体地说,涉及用于媒体位置控制而无媒体播放器支持的方法、设备和系统。
背景技术
有关流传送技术的技术背景
诸如RTP流传送等大多数常见流传送技术的基本原理是将媒体作为数据分组流从发送器发送到接收器。接收的分组通常在播放前存储在缓冲器中。分组使用序号连续编号以便允许接收器将分组排序并知道任何分组在传送期间是否丢失。每个分组还具有时间戳,时间戳将分组在时间上相互相关并能够由接收器用于知道分组应在什么时间播放。以那种方式,每个分组在正确的时间播放,而不管流中的任何不规则性。
图1示出带有序号与时间戳中的跳跃的播放器缓冲器的模型。在图1中,输入数据分组存储在缓冲器的空闲空间中,并且解码器基于时间戳将数据分组解码。如图1所示,跳跃发生在数据分组5与7之间。因此,在数据分组6期间将无媒体数据播放。在显示数据分组7前。解码将等待数据分组7的时间戳所暗指的时间。相应地,带有序号6的分组在传送期间已丢失。
在RTP流传送的情况下,数据分组遵循如RFC 3550中描述的RTP协议,并且发送器与接收器之间传送信道的设置经如RFC 2326中描述的RTSP会话来完成。
媒体播放器中实现的RTSP会话设置过程能够概括为如图2所示的以下步骤:
201.RTSP描述请求发送到流传送服务器(接收器)。
202.在ok响应中发送会话描述信息。它包含有关可用于此会话的媒体流的信息。
203-206.播放器向流传送服务器指示它需要接收哪个媒体流及如何接收媒体流。在图2的示例中,设置了音频流
(203-204)和视频流(205-206)。
207-209.发送RTSP播放请求(207)以触发到播放器的RTP分组输送的开始。一旦服务器确认(208),便将媒体传送到播放器(209)。
201-202的步骤是可选的,并且会话描述信息能够通过其它部件接收。
有关媒体位置控制的技术背景
在媒体流传送的上下文中,诸如快进和倒回等功能性是达到预期DVD状用户体验所必需的。那些特征通常由终端中的媒体播放器提供。如果客户端被开发成在终端上运行,则控制播放器的API需要变得可用于开发人员,例如,Java API。类似地,接口消息需要变得可用以便为客户端的基于浏览器的实现控制嵌入式播放器。所有上述解决方案要求媒体播放器的支持。
基于RFC 2326的解决方案1
根据RFC 2326,播放器能够发送包括“标度(scale)”报头的RTSP播放请求。如果标度值大于1,则流传送服务器将相应地增大发送速度值。在发送器和接收器两侧对标度参数的支持是可选的。
图3中示出基于RFC 2326的快进流的示例。
在步骤301中,客户端调用在播放器显示的控制API以开始流传送会话。如前面根据图2所述设置(302)在播放器与服务器之间的传送信道。在该阶段,发送速率与媒体显示速率相同(303)。
在正常观看过程中,最终用户触发客户端快进。客户端调用控制API(304)以更改服务器的媒体发送速率。播放器又将带有如RFC 2326中建议的新标度值(305)的RTSP播放请求发送到服务器。服务器确认请求(306)并调整发送速率(307)。
在到达期望媒体位置时,最终用户触发客户端正常恢复流传送。客户端调用播放器控制API(308),该API又将标度值等于1的RTSP播放请求发送到服务器(309)。服务器确认请求(310)并调整发送速率以匹配媒体显示速率(311)。
注意,在上述示例中,服务器需要能够适应RTP流,以便发送速率保持在带宽要求内。这能够通过丢弃中间分组而变得可能。为描述此进程,下面描述有关视频流的快进示例。图4A、4B、5A、5B应从左到右读取。
在图4A中,播放器从左到右接收帧。无缺失分组。图4B示出最终用户将在其屏幕上看到什么。
在图5A中,服务器丢弃中间分组(在此示例中2个中的1个分组)以便满足在发送速率快于媒体速率的上下文中的带宽限制。
图5B示出在快进进程期间最终用户在屏幕上将看到什么。
基于RFC 2326的解决方案2
控制媒体位置的备选解决方案是让播放器暂停流,并随后发送指示用户希望在哪个时间点恢复播放的播放请求。
图6示出基于RTSP范围报头的快进示例。RTSP会话设置过程601、602、603与图3的那些过程相同,但不同之处在于媒体转到新媒体位置的方式。在正常观看过程中,如果新媒体位置是所希望的,则客户端能够调用API 4,而该API又触发过程605、606以在服务器暂停媒体,并且调用API 607以设置在正向或反向的新媒体位置,这又触发协议过程608、609从新媒体位置播放媒体,因此,新RTP数据流610从期望的媒体位置开始。
在发送器和接收器两侧,均建议支持暂停请求,并且对范围报头的支持是可选的。
由于在播放器本身中缺乏支持(未实现的RTSP协议的必需部分)或由于缺乏适当的API,市场上很少有手持设备轻松支持媒体播放器的控制。这对用户体验有重要的影响,并且使客户端难以移植在新手持设备上,并依赖终端能力。
发明内容
鉴于上述问题,本发明的目的是设计新方式以在媒体内实现导航,其不依赖终端能力且具体而言播放器支持。
在该解决方案中,客户端将在流传送会话范围外发送从媒体流中特定点播放的请求。
流传送服务器将识别媒体来源中的播放位置,并开始从该时间点转发RTP分组。
为了使更改对播放器是透明的,流传送服务器需要更新RTP分组的序号和时间戳,以便流是连续的。如果此更新未进行,则解码进程将等待,直至到达播放位置。
在第一方面,本发明提供一种用于媒体位置控制的方法,包括:
客户端向播放器发送设置流传送会话的请求;
在播放器与服务器之间设置流传送会话;
在客户端与服务器之间设置通信信道;
定义客户端与服务器之间的接口消息以用于指示媒体中的读取位置;以及
根据读取位置在服务器中创建连续流。
根据某一实施例,在客户端与服务器之间设置通信信道包括:在客户端中提供用于流控制的第二传送器,在服务器中提供用于流控制的第二接收器,以及配置第二传送器和第二接收器直接通信。
根据某一实施例,接口消息是在HTTP请求URI中或在分开的HTTP报头中能够携带的命令和参数对。
根据某一实施例,接口消息包括从已知点到读取位置的值。
根据某一实施例,该值是时间值或位置值。
根据某一实施例,已知点是当前媒体位置、媒体的开头或媒体的结束或任何其它参考点。
根据某一实施例,根据读取位置在服务器中创建连续流包括查找媒体中的读取位置,并且更新流中数据分组的序号和时间戳以使数据分组连续。
根据某一实施例,接口消息扩展成包括要通过媒体的当前读取位置来响应的命令。
在第二方面,本发明提供一种用于媒体位置控制的设备,包括:
用于使得客户端能够向播放器发送设置流传送会话的请求的部件;
用于在播放器与服务器之间设置流传送会话的部件;
用于在客户端与服务器之间设置通信信道的部件;
用于定义客户端与服务器之间的接口消息的部件,接口消息指示媒体中的读取位置;以及
用于根据读取位置在服务器中创建连续流的部件。
根据某一实施例,用于在客户端与服务器之间设置通信信道的部件包括:在客户端中提供的用于流控制的第二传送器,在服务器中提供的用于流控制的第二接收器,以及用于配置第二传送器和第二接收器直接通信的部件。
根据某一实施例,用于根据读取位置在服务器中创建连续流的部件包括:用于查找媒体中的读取位置的部件;以及用于更新流中数据分组的序号和时间戳以使数据分组连续的部件。
根据某一实施例,用于定义客户端与服务器之间的接口消息的部件还包括用于扩展接口消息以包括要通过媒体的当前读取位置来响应的命令的部件。
在第三方面,本发明提供一种用于媒体位置控制的系统,包括:
客户端、播放器、服务器,播放器耦合到客户端和服务器,
以及用于将客户端耦合到服务器的通信信道。
根据某一实施例,服务器包括处理器,该处理器包括用于创建连续流的部件。
根据某一实施例,用于创建连续流的部件包括:用于查找媒体中的读取位置的部件,以及用于更新流中数据分组的序号和时间戳以使数据分组连续的部件。
根据某一实施例,服务器还包括用于数据传送信道设置的第一接收器和用于流控制的第二接收器,两者均耦合到所述处理器,其中,客户端包括第一传送器和用于流控制的第二传送器,以及其中,通信信道在第二传送器与第二接收器之间被建立。
根据某一实施例,服务器还包括耦合到处理器的存储器和用于媒体流输出的第三传送器,其中,客户端还包括耦合到第一传送器和第二传送器的用户交互。
在第四方面,本发明提供一种用于媒体位置控制的系统中的服务器,该服务器包括:
用于创建连续流的处理器;
用于设置流传送会话的第一接收器和用于设置与客户端的对应传送器的通信信道以执行流控制的第二接收器,第一和第二接收器耦合到处理器。
根据某一实施例,处理器包括用于创建连续流的部件,用于创建连续流的部件包括:用于查找媒体中的读取位置的部件;以及用于更新流中数据分组的序号和时间戳以使数据分组连续的部件。
根据某一实施例,服务器还包括:存储器和用于媒体输出的第三传送器,两者均耦合到处理器。
在第五方面,本发明提供一种用于媒体位置控制的系统中的客户端,该客户端包括:
用于设置流传送会话的第一传送器;
以及用于设置与服务器的对应接收器的通信信道以通过在流传送会话外发送从媒体流中特定点播放的请求来执行流控制的第二传送器。
根据某一实施例,该客户端还包括:耦合到第一和第二传送器的用户交互。
在第六方面,本发明提供分组交换网络中根据上述方法的方法的应用。
在第七方面,本发明提供使用上述方法所提供的连续数据服务。
根据某一实施例,连续数据服务是实时连续数据服务。
在第八方面,本发明提供一种包括用于硬件事务和软件事务的代码的制品,所述代码配置成促使操作被执行,所述操作包括:
客户端向播放器发送设置流传送会话的请求;
在播放器与服务器之间设置流传送会话;
在客户端与服务器之间设置通信信道;
定义客户端与服务器之间的接口消息以用于指示媒体中的读取位置;以及
根据所述读取位置在所述服务器中创建连续流。
根据某一实施例,在客户端与服务器之间设置通信信道包括:在客户端中提供用于流控制的第二传送器,在服务器中提供用于流控制的第二接收器,以及配置第二传送器和第二接收器直接通信。
根据某一实施例,接口消息是在HTTP请求URI中或在分开的HTTP报头中能够携带的命令和参数对。
根据某一实施例,接口消息包括从已知点到读取位置的值。
根据某一实施例,该值是时间值或位置值。
根据某一实施例,已知点是当前媒体位置、媒体的开头或媒体的结束或任何其它参考点。
根据某一实施例,根据读取位置在服务器中创建连续流包括查找媒体中的读取位置,并且更新流中数据分组的序号和时间戳以使数据分组连续。
根据某一实施例,接口消息扩展成包括要通过媒体的当前读取位置来响应的命令。
本发明的优点在于媒体控制解决方案的设计,其提供优化的用户体验而独立于播放器实现和最终终端限制。
附图说明
本发明通过示例示出,但不限于附图:
图1示出根据现有技术的带有序号和时间戳中的跳跃的播放器缓冲器的模型。
图2示出根据现有技术的媒体播放器中实现的RTSP会话设置过程。
图3示出基于RFC 2326的快进流的示例。
图4A示出在发送速率等于媒体速率并且无分组被丢弃时如由播放器所接收的流。
图4B示出根据图4A中接收的数据如由播放器显示的流。
图5A示出在发送速率快于媒体速率时如由播放器所接收的流。
图5B示出根据图5A中接收的数据如由播放器所显示的流。
图6示出基于RTSP范围报头的快进示例。
图7示出根据本发明的服务器的示意结构。
图8示出根据本发明的客户端的示意结构。
图9是根据本发明的一个实施例的用于媒体位置控制的系统的框图。
图10示出根据本发明的客户端与服务器(绕开播放器)之间的基于内部API调用的导航流。
图11示出根据本发明的一个实施例的用于媒体位置控制的方法。
图12示出根据本发明的一个实施例的用于媒体位置控制的设备的示意框图。
具体实施方式
实现要求:
1)客户端与服务器之间设置的直接通信信道。
2)在客户端与服务器之间定义指示媒体剪辑内的读取位置的接口消息。该接口消息的一实施例是几对的命令和参数,如果HTTP被选择作为协议的实现之一,则它们能够在HTTP请求URI中或甚至在分开的HTTP报头中被携带。在客户端与服务器之间使用的协议的选择是灵活的。一个可能的选择是使用HTTP协议,但本发明不限于该协议。
3)创建连续流的方法。该方法包括:更新数据分组的时间戳和序号以使数据流保持连续。然而,该方法不限于此。在采取的不同协议的情况下,创建连续流的方法能够稍微不同。例如,在RTP流传送中,通过更改数据分组的时间戳和序号来创建连续流,而在flash RTMP流传送中,由于在来自其的应用层上缺少序号,所以只更改数据分组的时间戳。总之,只要借助于采用的特定协议的特性使数据流变得连续,无论采取哪种协议,均在本发明的范围内。
为了控制媒体位置,接口消息需要将要求的读取点作为绝对值(从媒体的开头起的时间或位置)传送,或者作为相对于诸如上一读取时间或位置等已知点的时间或位置值传送。
下面给出接口消息的示例。
在第一示例中,媒体流的读取点在HTTP请求URI中作为从上一读取位置起的相对值传送。参数的名称为“skip”。参数的正值诱发快进动作,而负值触发倒回动作。读取位置的单位为秒。
快进:
客户端→服务器:GEThttp://server.com?skip=3HTTP/1.1
服务器→客户端:200OK
客户端发送HTTP请求到服务器以触发与当前媒体位置相比3秒的快进动作。服务器通过200OK响应确认请求的接收。
倒回:
客户端→服务器:GEThttp://server.com?skip=-3HTTP/1.1
服务器→客户端:200OK
客户端发送HTTP请求到服务器以触发与当前媒体位置相比3秒的倒回动作。服务器通过200OK响应确认请求的接收。
在第二示例中,媒体流的读取点在HTTP请求URI中作为绝对值传送。参数的名称为“goTo”。读取位置的单位为秒。视初始读取位置而定,触发的动作是快进或倒回动作。
客户端→服务器:GEThttp://server.com?goTo=360HTTP/1.1
服务器客户端→C:200OK
本领域技术人员将理解,虽然在上面的示例中通过时间单位确定跳跃间隔,但本发明不限于此;例如,跳跃间隔也可通过分组或帧的数量确定。当然,其它单位也可用于确定与在使用的不同协议和媒体类型一致的跳跃间隔。
客户端发送HTTP请求到服务器以控制媒体位置。此处,服务器恢复在媒体的第360秒的流传送。如果最初播放第200秒,则它导致快进动作。如果最初播放第400秒,则它导致倒回动作。服务器通过200OK响应确认请求的接收。
上述接口消息应对任何类型的导航控制有效。这包括如在上面示例中描述的快进和倒回功能性,但不限于这两个特征。媒体的显示从记录的位置开始而不是从媒体的开头开始的书签特征能够是另一用例。
还建议扩展接口消息,以便客户端能够知道在任何时间点的媒体位置,这是因为依赖播放器获得该信息将是不可能的。扩展的接口消息由要通过媒体的当前读取位置响应的命令组成。读取位置的单位需要被预定义。下面给出了示例:
客户端→服务器:GEThttp://server.com?mediaStatus HTTP/1.1
服务器→客户端:200OK position=363
客户端发送HTTP请求到服务器以查询当前媒体读取位置。服务器通过200OK响应确认请求的接收,并在其响应的报头或正文中包括当前读取位置的值,此处为363秒。
可能最后要求将最初创建的传送信道与导航请求相关的机制。通过将用户ID附加到从客户端发送的每个请求,诸如MSISDN等用户ID能够用于构建该关系。下面是扩展的接口消息的示例:
客户端→服务器:GEThttp://server.com?skip=3&userID=xxxHTTP/1.1
在HTTP skip命令中,参数userlD通知服务器请求与哪个传送信道有关。
注意,虽然RTP流传送在通篇文档中用作示例,但本发明不受限于它,并且能够应用于诸如flash流传送等其它类型的流传送。
图7示出根据本发明的服务器的示意结构。服务器700包括:用作缓冲器的存储器704、用于创建连续数据流的处理器701、用于设置流传送会话的第一接收器702、用于执行流控制的第二接收器703及用于执行媒体流输出的第三传送器705。分组在被转发前需要被存储在存储器中。存储器能够指实际文件或短时间存储器或数据库或任何其它类型的媒体,如磁性存储媒体(例如,硬盘驱动器、软盘、磁带等)、易失性和非易失性存储器装置(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件、可编程逻辑等)等。存储器704耦合到处理器701和第三传送器705,以及处理器701耦合到第一接收器702和第二接收器703。在服务器中,第二接收器提供用于实现本发明的媒体位置控制机制,以及用于设置与客户端中对应第二传送器的通信信道。第二接收器的操作对第一接收器是透明的。应领会到,图7所示结构只是说明性的。本发明的服务器可根据环境包括比图7所述那些部件更多或更少的部件。处理器可包括用于查找媒体中的读取位置的部件,以及用于更改数据分组的序号和数据分组的时间戳的部件。关于本发明,基本部件包括用于创建连续数据流的处理器701、用于设置流传送会话的第一接收器702及用于执行流控制的第二接收器703。
图8示出根据本发明的客户端的示意结构。客户端800包括:用于设置流传送会话的第一传送器801、用于设置与服务器的对应接收器的通信信道以通过在流传送会话外发送从媒体流中特定点播放的请求来执行流控制的第二传送器802及用于与用户交互的用户交互803。第一传送器801和第二传送器802耦合到用户交互803。在客户端中,第二传送器提供用于实现本发明的媒体位置控制机制,以及用于设置与服务器中对应第二接收器的通信信道。第二传送器的操作对第一传送器是透明的。应领会到,图8所示结构只是说明性的。本发明的客户端可根据环境包括比图8所述那些部件更多或更少的部件。关于本发明,必要的部件包括用于设置流传送会话的第一传送器801和用于执行流控制的第二传送器802。
图9是根据本发明的一个实施例的用于媒体位置控制的系统的框图。如图所示,该系统包括客户端、播放器、服务器,播放器耦合到客户端和服务器,以及用于将客户端耦合到服务器的通信信道。服务器包括处理器,处理器包括用于创建连续流的部件,而用于创建连续流的部件包括:用于查找媒体中的读取位置的部件,以及用于更改数据分组的序号和数据分组的时间戳以使数据分组连续的部件,并且服务器还包括用于数据传送信道设置的第一接收器和用于流控制的第二接收器。客户端包括第一传送器和用于流控制的第二传送器。通信信道在第二传送器与第二接收器之间被建立。服务器还包括存储器和用于耦合到处理器的媒体流输出的第三传送器。客户端还包括耦合到第一和第二传送器的用户交互。应领会到,图9所示结构只是说明性的。不同部分的布置只是示意图,并且可根据环境来适应。
图10示出根据本发明的客户端与服务器(绕开播放器)之间的基于内部API调用的导航流。
在步骤1001中,客户端调用在播放器显示的控制API以开始流传送会话。如前面图2中所述设置(1002)在播放器与服务器之间的传送信道。
在正常观看的过程中,最终用户通过在流传送会话外发送从媒体流中特定点播放的请求,触发客户端快进。具体而言,客户端直接调用服务器API(1003)以传送指示新读取位置的请求(接口消息)。服务器确认请求(1004)。它查找在媒体中的新读取位置(1005),并开始转发请求的数据分组。每个转发分组的时间戳和序号被更新以便保持连续流。用于查找读取位置的进程是将提供读取位置的格式映射到时间戳格式,并且随后从流选择带有最近时间戳的分组(通常选择就在之前的一个分组)。
用于更改序号的进程是选取最近发送分组的序号,并且在发送新选定分组(离读取位置最近)之前将其序号更改为最近发送的序号+1,并以此类推,以便规则“对于每个RTP数据分组,序号应增大1(thesequence number should be increments by one for each RTP data packet)”仍成立,如RFC 3550中所请求的。
用于更改时间戳的进程是选取最近发送分组的时间戳,并且基于媒体速率,计算用于下一分组的时间戳。新选定分组的时间戳必须在该分组发送前更新为该计算的值。相同的进程为每个分组应用,以便规则“采样时刻必须源于在时间上单调、线性增大的时钟(The samplinginstant MUST be derived from a clock that increments monotonically andlinearly in time)”仍成立,如RFC 3550中所请求的。
基于诸如用户交互等某一输入,客户端能够根据标准化协议触发用于媒体数据的传送信道的设置,并随后通过分开的接口控制媒体位置。服务器能够根据标准化协议设置与接收器的传送信道,并且基于经其流控制接收器接收的命令和在其存储器中缓冲的媒体流,能够在经其传送器转发媒体流前通过其处理器保护连续流的创建。
用于客户端与服务器之间通信的接口消息可以是如在前面示范的任何形式的消息。例如:
客户端→服务器:GEThttp://server.com?mediaStatus HTTP/1.1
服务器→客户端:200OK position=363;
客户端→服务器:GEThttp://server.com?skip=3&userID=xxxHTTP/1.1
服务器→客户端:200OK;
客户端→服务器:GEThttp://server.com?skip=-3HTTP/1.1
服务器→客户端:200OK;
客户端→服务器:GEThttp://server.com?goTo=360HTTP/1.1
服务器客户端→C:200OK;
然而,本发明不限于这些消息,如本领域技术人员将理解的,在为客户端与服务器之间的通信采用其它协议时,格式对应于采用的协议的消息可用于通信。
图11示出根据本发明的一个实施例的用于媒体位置控制的方法。该方法从步骤1101开始。在步骤1102,客户端向播放器发送设置流传送会话的请求。在步骤1103,在播放器与服务器之间设置流传送会话。在步骤1104,在客户端与服务器之间设置通信信道。在步骤1105,在客户端与服务器之间定义接口消息,指示媒体中的读取位置。在步骤1106,根据读取位置在服务器中创建连续流。在步骤1107,方法终止。根据某一实施例,在客户端与服务器之间设置通信信道包括:在客户端中提供用于流控制的第二传送器,在服务器中提供用于流控制的第二接收器,以及配置第二传送器和第二接收器直接通信。
根据某一实施例,接口消息是在HTTP请求URI中或在分开的HTTP报头中能够携带的命令和参数对。根据某一实施例,接口消息包括从已知点到读取位置的值。根据某一实施例,该值是时间值或位置值。根据某一实施例,已知点是当前媒体位置、媒体的开头或媒体的结束或任何其它参考点。根据某一实施例,根据读取位置在服务器中创建连续流包括查找媒体中的读取位置,并且更新流中数据分组的序号和时间戳以使数据分组连续。根据某一实施例,接口消息扩展成包括要通过媒体的当前读取位置响应的命令。图12根据本发明的一个实施例,示出用于媒体位置控制的设备的示意框图。设备1200包括:用于使得客户端能够向播放器发送设置流传送会话的请求的部件1201;用于在播放器与服务器之间设置流传送会话的部件1202;用于在客户端与服务器之间设置通信信道的部件1203;用于定义客户端与服务器之间的接口消息的部件1204,接口消息指示媒体中的读取位置;以及用于根据读取位置在服务器中创建连续流的部件1205。根据某一实施例,用于在客户端与服务器之间设置通信信道的部件包括:在客户端中提供的用于流控制的第二传送器,在服务器中提供的用于流控制的第二接收器,以及用于配置第二传送器和第二接收器直接通信的部件。根据某一实施例,用于根据读取位置在服务器中创建连续流的部件包括:用于查找媒体中的读取位置的部件;以及用于更新流中数据分组的序号和时间戳以使数据分组连续的部件。根据某一实施例,用于定义客户端与服务器之间的接口消息的部件还包括用于扩展接口消息以包括要通过媒体的当前读取位置响应的命令的部件。
虽然本发明的技术解决方案在上面通过某些实施例来描述,但要理解,此类实施例只是说明性的。上面实施例中公开的技术特征的随机组合只要在技术上可行,便可执行而不脱离本发明的精神和范围。
所述操作可实现为使用标准编程和/或工程技术产生软件、固件、硬件或其任何组合的方法、设备、系统或制品。所述操作可实现为在“计算机可读媒体”中保持的代码,其中,处理器可从计算机可读媒体读取和执行代码。计算机可读媒体可包括诸如磁性存储媒体(如,硬盘驱动器、软盘、磁带等)、光存储装置(CD-ROM、DVD、光盘等)、易失性和非易失性存储装置(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件、可编程逻辑等)等。实现所述操作的代码可还在硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)中实现。还有,实现所述操作的代码可在“传送信号”中实现,其中,传送信号可通过空间或通过诸如光纤、铜线等传送媒体传播。其中编码有代码或逻辑的传送信号可还包括无线信号、卫星传送、无线电波、红外信号、蓝牙等。其中编码有代码或逻辑的传送信号能够由传送站传送,并且由接收站接收,其中,在传送信号中编码的代码或逻辑可在接收和传送站或装置的硬件或计算机可读媒体中解码和存储。“制品”包括其中可实现代码的计算机可读媒体、硬件逻辑和/或传送信号。当然,本领域技术人员将认识到,在不脱离本发明的范围的情况下,可对此配置进行许多修改,并且制品可包括技术领域中已知的适合信息承载媒体。
所述操作可由电路来执行,其中,“电路”指硬件或软件或其组合。用于执行所述实施的操作的电路可包括硬件装置,如集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等。电路也可包括处理器组件,如集成电路和在诸如存储器等计算机可读媒体中的代码,其中,代码由处理器执行以执行所述实施例的操作。
除非另有明确指明,否则,术语“一实施例”、“实施例(embodiment、embodiments)”、“该实施例(the embodiment、the embodiments)”、“一个或多个实施例”、“一些实施例”及“一个实施例”指“本发明的一个或几个(但非全部)实施例”。
除非另有明确指明,否则,术语“包括(including、comprising)”、“具有”及其变化指“包括但不限于”。
除非另有明确指明,否则,项目的列举清单不暗示任何或所有项目是互斥的。
除非另有明确指明,否则,术语“一(a、an)”和“该(the)”表示“一个或多个”。除非另有明确指明,否则,相互通信的装置无需相互连续通信。另外,相互通信的装置可直接或通过一个或多个中间体间接通信。
带有相互通信的几个组件的一实施例的描述不暗示要求所有此类组件。相反,描述多个可选组件以示出本发明的多个可能实施例。
此外,虽然进程步骤、方法步骤、算法或诸如此类可按顺序次序来描述,但此类进程、方法和算清可配置为以备选次序工作。换而言之,可描述的步骤的任何顺序或次序不一定指示步骤要以该次序执行。本文中所述进程的步骤可以可行任何次序执行。此外,一些步骤可同时执行。
本文中描述单个装置或物品时,将容易明白的是,可使用不止一个装置/物品(无论它们是否协作)来替代单个装置/物品。类似地,本文中描述不止一个装置或物品(无论它们是否协作)时,将容易明白的是,可使用单个装置/物品替代不止一个装置或物品,或者可使用与所示多数不同数量的装置。
装置的功能性和/或特征可备选由未明确描述为具有此类功能性/特征的一个或多个其它装置来实施。因此,本发明的其它实施例无需包括装置本身。
所示操作示出以某一次序发生的某些事件。在备选实施例中,可以不同次序执行、修改或删除某些操作。另外,可添加步骤到上述逻辑,并仍符合所述实施例。此外,可按顺序进行本文中所述操作,或者可平行处理某些操作。还有,操作可由单个处理单元或分布式处理单元执行。
为了图示和描述的目的,已陈述本发明的各种实施例的上述描述。它无意是穷举的或限制本发明为明确的公开形式。鉴于上述教导,许多修改和变化是可能的。本发明的范围不受此详细描述限制,而是受附于本文的权利要求限制。上述说明书、示例和数据提供了本发明的完整描述。由于本发明的许多实施例能够实现而不脱离本发明的精神和范围,因此,本发明位于下文所附权利要求内。
Claims (22)
1. 一种用于媒体位置控制的方法,包括:
客户端向播放器发送设置流传送会话的请求;
在所述播放器与服务器之间设置所述流传送会话;
在所述客户端与所述服务器之间设置通信信道;
定义所述客户端与所述服务器之间的接口消息以用于指示媒体中的读取位置;以及
根据所述读取位置在所述服务器中创建连续流。
2. 如权利要求1所述的方法,其中在所述客户端与所述服务器之间设置通信信道包括:
在所述客户端中提供用于流控制的第二传送器,在所述服务器中提供用于流控制的第二接收器,以及配置所述第二传送器和所述第二接收器直接通信。
3. 如权利要求1所述的方法,其中所述接口消息是在HTTP请求URI中或在分开的HTTP报头中能够携带的命令和参数对。
4. 如权利要求1所述的方法,其中所述接口消息包括从已知点到所述读取位置的值。
5. 如权利要求4所述的方法,其中所述值是时间值或位置值。
6. 如权利要求4所述的方法,其中所述已知点是当前媒体位置、所述媒体的开头或所述媒体的结束或任何其它参考点。
7. 如权利要求1所述的方法,其中根据所述读取位置在所述服务器中创建连续流包括查找所述媒体中的读取位置,并且更新所述流中数据分组的序号和时间戳以使所述数据分组连续。
8. 如权利要求1所述的方法,其中所述接口消息扩展成包括要通过所述媒体的当前读取位置来响应的命令。
9. 一种用于媒体位置控制的设备,包括:
用于使得客户端能够向播放器发送设置流传送会话的请求的部件;
用于在所述播放器与服务器之间设置所述流传送会话的部件;
用于在所述客户端与所述服务器之间设置通信信道的部件;
用于定义所述客户端与所述服务器之间的接口消息的部件,所述接口消息指示媒体中的读取位置;以及
用于根据所述读取位置在所述服务器中创建连续流的部件。
10. 如权利要求9所述的设备,其中用于在所述客户端与所述服务器之间设置通信信道的部件包括:
在所述客户端中提供的用于流控制的第二传送器,在所述服务器中提供的用于流控制的第二接收器,以及用于配置所述第二传送器和所述第二接收器直接通信的部件。
11. 如权利要求9所述的设备,其中用于根据所述读取位置在所述服务器中创建连续流的部件包括:
用于查找所述媒体中读取位置的部件;以及
用于更新所述流中数据分组的序号和时间戳以使所述数据分组连续的部件。
12. 如权利要求9所述的设备,其中用于定义所述客户端与所述服务器之间的接口消息的部件还包括用于扩展所述接口消息以包括要通过所述媒体的当前读取位置来响应的命令的部件。
13. 一种用于媒体位置控制的系统,包括:
客户端、播放器、服务器,所述播放器耦合到所述客户端和所述服务器,
以及用于将所述客户端耦合到所述服务器的通信信道,其中定义了所述客户端和所述服务器之间的接口消息以用于指示媒体中的读取位置,
其中所述客户端向所述播放器发送设置流传送会话的请求,在所述播放器与所述服务器之间设置所述流传送会话,在所述客户端与所述服务器之间设置所述通信信道,并且根据所述读取位置在所述服务器中创建连续流。
14. 如权利要求13所述的系统,其中所述服务器包括处理器,所述处理器包括用于创建连续流的部件。
15. 如权利要求14所述的系统,其中用于创建连续流的所述部件包括:
用于查找所述媒体中读取位置的部件,以及
用于更新所述流中数据分组的序号和时间戳以使所述数据分组连续的部件。
16. 如权利要求14所述的系统,其中所述服务器还包括用于数据传送信道设置的第一接收器和用于流控制的第二接收器,这两者均耦合到所述处理器,其中所述客户端包括用于流控制的第二传送器和第一传送器,以及其中所述通信信道在所述第二传送器与所述第二接收器之间被建立。
17. 如权利要求16所述的系统,其中所述服务器还包括耦合到所述处理器的存储器和用于媒体流输出的第三传送器,其中所述客户端还包括耦合到所述第一传送器和所述第二传送器的用户交互。
18. 一种用于媒体位置控制的系统中的服务器,所述服务器包括:
用于根据媒体中的读取位置创建连续流的处理器;
用于设置与播放器的流传送会话的第一接收器和用于设置与客户端的对应传送器的通信信道以执行流控制的第二接收器,所述第一和第二接收器耦合到所述处理器,
其中所述客户端向所述播放器发送设置所述流传送会话的请求,且定义所述客户端与所述服务器之间的接口消息以用于指示所述读取位置。
19. 如权利要求18所述的服务器,其中所述处理器包括用于创建连续流的部件,用于创建连续流的所述部件包括:用于查找所述媒体中读取位置的部件,以及用于更新所述流中数据分组的序号和时间戳以使所述数据分组连续的部件。
20. 如权利要求18所述的服务器,还包括:
存储器和用于媒体输出的第三传送器,这两者均耦合到所述处理器。
21. 一种用于媒体位置控制的系统中的客户端,所述客户端包括:
第一传送器,用于设置播放器和服务器之间的流传送会话;
以及第二传送器,用于设置与所述服务器的对应接收器的通信信道,以通过在所述流传送会话外发送从所述媒体流中特定点播放的请求来执行流控制,
其中所述客户端向所述播放器发送设置所述流传送会话的请求,并根据所述特定点在所述服务器中创建连续流。
22. 如权利要求21所述的客户端,还包括:
耦合到所述第一和第二传送器的用户交互。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2009/001166 WO2011047499A1 (en) | 2009-10-21 | 2009-10-21 | Method, apparatus and system for media position control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102648636A CN102648636A (zh) | 2012-08-22 |
CN102648636B true CN102648636B (zh) | 2016-08-17 |
Family
ID=43899770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980162126.6A Expired - Fee Related CN102648636B (zh) | 2009-10-21 | 2009-10-21 | 用于媒体位置控制的方法、设备和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8935320B2 (zh) |
EP (1) | EP2491715B1 (zh) |
CN (1) | CN102648636B (zh) |
WO (1) | WO2011047499A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2608558A1 (en) * | 2011-12-22 | 2013-06-26 | Thomson Licensing | System and method for adaptive streaming in a multipath environment |
CN103945174A (zh) * | 2013-01-23 | 2014-07-23 | 苏州市伏泰信息科技有限公司 | 环卫作业流媒体网络视频监控系统 |
CN103873891B (zh) * | 2014-03-20 | 2017-02-22 | 深圳创维-Rgb电子有限公司 | 一种ts流媒体文件快速定位方法及系统 |
CN111083555B (zh) * | 2019-10-12 | 2022-09-06 | 广州市保伦电子有限公司 | 一种ip网络多媒体通讯方法、终端、系统及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7051110B2 (en) * | 1999-12-20 | 2006-05-23 | Matsushita Electric Industrial Co., Ltd. | Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions |
CN1980390A (zh) * | 2005-12-07 | 2007-06-13 | 联合信源数字音视频技术(北京)有限公司 | 支持精确定位的音视频媒体数据组织实现方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496980B1 (en) * | 1998-12-07 | 2002-12-17 | Intel Corporation | Method of providing replay on demand for streaming digital multimedia |
US7430222B2 (en) * | 2004-02-27 | 2008-09-30 | Microsoft Corporation | Media stream splicer |
FR2883692A1 (fr) * | 2005-03-25 | 2006-09-29 | Thomson Licensing Sa | Procede d'envoi de commande a un serveur de flux de donnees numeriques et appareil implementant le procede |
JP5211569B2 (ja) | 2007-07-26 | 2013-06-12 | ソニー株式会社 | コンテンツ再生装置、コンテンツ再生方法、およびプログラム |
EP2026090B1 (en) * | 2007-07-30 | 2011-02-09 | Core Logic, Inc. | Position measurement |
CN101252600A (zh) * | 2008-03-31 | 2008-08-27 | 腾讯科技(深圳)有限公司 | 一种流媒体点播方法、系统及设备 |
CN101287107B (zh) | 2008-05-29 | 2010-10-13 | 腾讯科技(深圳)有限公司 | 媒体文件的点播方法、系统和设备 |
CN101459693A (zh) * | 2008-12-29 | 2009-06-17 | 中兴通讯股份有限公司 | 一种流媒体下载方法及系统 |
US20100235915A1 (en) * | 2009-03-12 | 2010-09-16 | Nasir Memon | Using host symptoms, host roles, and/or host reputation for detection of host infection |
-
2009
- 2009-10-21 EP EP09850495.4A patent/EP2491715B1/en not_active Not-in-force
- 2009-10-21 WO PCT/CN2009/001166 patent/WO2011047499A1/en active Application Filing
- 2009-10-21 US US13/501,469 patent/US8935320B2/en active Active
- 2009-10-21 CN CN200980162126.6A patent/CN102648636B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7051110B2 (en) * | 1999-12-20 | 2006-05-23 | Matsushita Electric Industrial Co., Ltd. | Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions |
CN1980390A (zh) * | 2005-12-07 | 2007-06-13 | 联合信源数字音视频技术(北京)有限公司 | 支持精确定位的音视频媒体数据组织实现方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2491715B1 (en) | 2018-03-07 |
WO2011047499A1 (en) | 2011-04-28 |
EP2491715A4 (en) | 2014-06-25 |
US20120203830A1 (en) | 2012-08-09 |
US8935320B2 (en) | 2015-01-13 |
CN102648636A (zh) | 2012-08-22 |
WO2011047499A8 (en) | 2012-05-31 |
EP2491715A1 (en) | 2012-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10924561B2 (en) | System and method for predictive delivery of prioritized content | |
US10516757B2 (en) | Server-side scheduling for media transmissions | |
US10356208B2 (en) | Server-side scheduling for media transmissions according to client device states | |
US9402098B2 (en) | Fast channel change | |
CN104270406B (zh) | 用于上载内容的系统和关联终端、方法及计算机程序产品 | |
EP1860841B1 (en) | Method and system for replacing media stream in a communication process of a terminal | |
AU2017254981A1 (en) | Reduced latency server-mediated audio-video communication | |
CN1972468B (zh) | 一种信息推送装置和方法 | |
WO2002023854A3 (en) | Clearinghouse server for internet telephony and multimedia communications | |
CN104365088A (zh) | 使用多个摄像头的多通道通信 | |
TW201332342A (zh) | 在網路環境內使用多路徑適應流送技術傳輸視聽內容之系統和方法 | |
JP2008530835A (ja) | パケット交換ネットワーク上のオンデマンドマルチチャネルストリーミングセッション | |
WO2008042098A3 (en) | Method and apparatus for a zooming feature for mobile video service | |
JP5342072B2 (ja) | 多重ラジオインターフェースを有するデバイス間のオブジェクト伝送方法 | |
US9143552B2 (en) | Dynamic profile management based on transport detection | |
JP2010510689A (ja) | リッチメディアサービスにおいてデータ送信のための品質フィードバックメトリクスを提供するためのシステム及び方法 | |
CN102648636B (zh) | 用于媒体位置控制的方法、设备和系统 | |
CN103929468B (zh) | 控制来源与远程输出装置之间的媒体内容的方法 | |
JP5221686B2 (ja) | エラーが起こりやすい無線ブロードキャストチャネルで多重化する方法 | |
US8504655B1 (en) | Proxy delegation for content delivery | |
CN101094136A (zh) | 用于支持数字多媒体内容的播放列表导航的系统和方法 | |
JP5278847B2 (ja) | サーバ制御型動画通信端末向けVoDシステム | |
KR100800431B1 (ko) | 이동통신단말기의 멀티미디어 서비스 제공방법 및 이를수행하기 위한 이동통신단말기 | |
CN101356791A (zh) | 为富媒体服务中的数据传输提供质量反馈度量的系统和方法 | |
CN105392040A (zh) | 一种多设备同步暂停和播放的控制方法及控制系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160817 |