專利名稱:用于媒體位置控制的方法、設備和系統(tǒng)的制作方法
技術領域:
本公開涉及媒體位置控制的領域,并且更具體地說,涉及用于媒體位置控制而無媒體播放器支持的方法、設備和系統(tǒng)。
背景技術:
有關流傳送技術的
背景技術:
諸如RTP流傳送等大多數常見流傳送技術的基本原理是將媒體作為數據分組流從發(fā)送器發(fā)送到接收器。接收的分組通常在播放前存儲在緩沖器中。分組使用序號連續(xù)編號以便允許接收器將分組排序并知道任何分組在傳送期間是否丟失。每個分組還具有時間戳,時間戳將分組在時間上相互相關并能夠由接收器用于知道分組應在什么時間播放。以那種方式,每個分組在正確的時間播放,而不管流中的任何不規(guī)則性。圖I示出帶有序號與時間戳中的跳躍的播放器緩沖器的模型。在圖I中,輸入數據分組存儲在緩沖器的空閑空間中,并且解碼器基于時間戳將數據分組解碼。如圖I所示,跳躍發(fā)生在數據分組5與7之間。因此,在數據分組6期間將無媒體數據播放。在顯示數據分組7前。解碼將等待數據分組7的時間戳所暗指的時間。相應地,帶有序號6的分組在傳送期間已丟失。在RTP流傳送的情況下,數據分組遵循如RFC 3550中描述的RTP協(xié)議,并且發(fā)送器與接收器之間傳送信道的設置經如RFC 2326中描述的RTSP會話來完成。媒體播放器中實現的RTSP會話設置過程能夠概括為如圖2所示的以下步驟201. RTSP描述請求發(fā)送到流傳送服務器(接收器)。202.在ok響應中發(fā)送會話描述信息。它包含有關可用于此會話的媒體流的信息。203-206.播放器向流傳送服務器指示它需要接收哪個媒體流及如何接收媒體流。在圖2的示例中,設置了音頻流(203-204)和視頻流(205-206)。207-209.發(fā)送RTSP播放請求(207)以觸發(fā)到播放器的RTP分組輸送的開始。一旦服務器確認(208),便將媒體傳送到播放器(209)。201-202的步驟是可選的,并且會話描述信息能夠通過其它部件接收。有關媒體位置控制的
背景技術:
在媒體流傳送的上下文中,諸如快進和倒回等功能性是達到預期DVD狀用戶體驗所必需的。那些特征通常由終端中的媒體播放器提供。如果客戶端被開發(fā)成在終端上運行, 則控制播放器的API需要變得可用于開發(fā)人員,例如,Java API。類似地,接口消息需要變得可用以便為客戶端的基于瀏覽器的實現控制嵌入式播放器。所有上述解決方案要求媒體播放器的支持。基于RFC 2326的解決方案I根據RFC 2326,播放器能夠發(fā)送包括“標度(scale) ”報頭的RTSP播放請求。如果標度值大于1,則流傳送服務器將相應地增大發(fā)送速度值。在發(fā)送器和接收器兩側對標度參數的支持是可選的。圖3中示出基于RFC 2326的快進流的示例。在步驟301中,客戶端調用在播放器顯示的控制API以開始流傳送會話。如前面根據圖2所述設置(302)在播放器與服務器之間的傳送信道。在該階段,發(fā)送速率與媒體顯示速率相同(303)。在正常觀看過程中,最終用戶觸發(fā)客戶端快進??蛻舳苏{用控制API (304)以更改服務器的媒體發(fā)送速率。播放器又將帶有如RFC 2326中建議的新標度值(305)的RTSP播放請求發(fā)送到服務器。服務器確認請求(306)并調整發(fā)送速率(307)。
在到達期望媒體位置時,最終用戶觸發(fā)客戶端正?;謴土鱾魉???蛻舳苏{用播放器控制API (308),該API又將標度值等于I的RTSP播放請求發(fā)送到服務器(309)。服務器確認請求(310)并調整發(fā)送速率以匹配媒體顯示速率(311)。注意,在上述示例中,服務器需要能夠適應RTP流,以便發(fā)送速率保持在帶寬要求內。這能夠通過丟棄中間分組而變得可能。為描述此進程,下面描述有關視頻流的快進示例。圖4A、4B、5A、5B應從左到右讀取。在圖4A中,播放器從左到右接收幀。無缺失分組。圖4B示出最終用戶將在其屏幕上看到什么。在圖5A中,服務器丟棄中間分組(在此示例中2個中的I個分組)以便滿足在發(fā)送速率快于媒體速率的上下文中的帶寬限制。圖5B示出在快進進程期間最終用戶在屏幕上將看到什么。基于RFC 2326的解決方案2控制媒體位置的備選解決方案是讓播放器暫停流,并隨后發(fā)送指示用戶希望在哪個時間點恢復播放的播放請求。圖6示出基于RTSP范圍報頭的快進示例。RTSP會話設置過程601、602、603與圖3的那些過程相同,但不同之處在于媒體轉到新媒體位置的方式。在正常觀看過程中,如果新媒體位置是所希望的,則客戶端能夠調用API 4,而該API又觸發(fā)過程605、606以在服務器暫停媒體,并且調用API 607以設置在正向或反向的新媒體位置,這又觸發(fā)協(xié)議過程608、609從新媒體位置播放媒體,因此,新RTP數據流610從期望的媒體位置開始。在發(fā)送器和接收器兩側,均建議支持暫停請求,并且對范圍報頭的支持是可選的。由于在播放器本身中缺乏支持(未實現的RTSP協(xié)議的必需部分)或由于缺乏適當的API,市場上很少有手持設備輕松支持媒體播放器的控制。這對用戶體驗有重要的影響,并且使客戶端難以移植在新手持設備上,并依賴終端能力。
發(fā)明內容
鑒于上述問題,本發(fā)明的目的是設計新方式以在媒體內實現導航,其不依賴終端能力且具體而言播放器支持。在該解決方案中,客戶端將在流傳送會話范圍外發(fā)送從媒體流中特定點播放的請求。流傳送服務器將識別媒體來源中的播放位置,并開始從該時間點轉發(fā)RTP分組。為了使更改對播放器是透明的,流傳送服務器需要更新RTP分組的序號和時間戳,以便流是連續(xù)的。如果此更新未進行,則解碼進程將等待,直至到達播放位置。在第一方面,本發(fā)明提供一種用于媒體位置控制的方法,包括客戶端向播放器發(fā)送設置流傳送會話的請求;在播放器與服務器之間設置流傳送會話;在客戶端與服務器之間設置通信信道;定義客戶端與服務器之間的接口消息以用于指示媒體中的讀取位置;以及根據讀取位置在服務器中創(chuàng)建連續(xù)流。 根據某一實施例,在客戶端與服務器之間設置通信信道包括在客戶端中提供用于流控制的第二傳送器,在服務器中提供用于流控制的第二接收器,以及配置第二傳送器和第二接收器直接通信。根據某一實施例,接口消息是在HTTP請求URI中或在分開的HTTP報頭中能夠攜帶的命令和參數對。根據某一實施例,接口消息包括從已知點到讀取位置的值。根據某一實施例,該值是時間值或位置值。根據某一實施例,已知點是當前媒體位置、媒體的開頭或媒體的結束或任何其它參考點。根據某一實施例,根據讀取位置在服務器中創(chuàng)建連續(xù)流包括查找媒體中的讀取位置,并且更新流中數據分組的序號和時間戳以使數據分組連續(xù)。根據某一實施例,接口消息擴展成包括要通過媒體的當前讀取位置來響應的命令。在第二方面,本發(fā)明提供一種用于媒體位置控制的設備,包括用于使得客戶端能夠向播放器發(fā)送設置流傳送會話的請求的部件;用于在播放器與服務器之間設置流傳送會話的部件;用于在客戶端與服務器之間設置通信信道的部件; 用于定義客戶端與服務器之間的接口消息的部件,接口消息指示媒體中的讀取位置;以及用于根據讀取位置在服務器中創(chuàng)建連續(xù)流的部件。根據某一實施例,用于在客戶端與服務器之間設置通信信道的部件包括在客戶端中提供的用于流控制的第二傳送器,在服務器中提供的用于流控制的第二接收器,以及用于配置第二傳送器和第二接收器直接通信的部件。根據某一實施例,用于根據讀取位置在服務器中創(chuàng)建連續(xù)流的部件包括用于查找媒體中的讀取位置的部件;以及用于更新流中數據分組的序號和時間戳以使數據分組連續(xù)的部件。根據某一實施例,用于定義客戶端與服務器之間的接口消息的部件還包括用于擴展接口消息以包括要通過媒體的當前讀取位置來響應的命令的部件。在第三方面,本發(fā)明提供一種用于媒體位置控制的系統(tǒng),包括客戶端、播放器、服務器,播放器耦合到客戶端和服務器,以及用于將客戶端耦合到服務器的通信信道。根據某一實施例,服務器包括處理器,該處理器包括用于創(chuàng)建連續(xù)流的部件。
根據某一實施例,用于創(chuàng)建連續(xù)流的部件包括用于查找媒體中的讀取位置的部件,以及用于更新流中數據分組的序號和時間戳以使數據分組連續(xù)的部件。根據某一實施例,服務器還包括用于數據傳送信道設置的第一接收器和用于流控制的第二接收器,兩者均耦合到所述處理器,其中,客戶端包括第一傳送器和用于流控制的第二傳送器,以及其中,通信信道在第二傳送器與第二接收器之間被建立。根據某一實施例,服務器還包括耦合到處理器的存儲器和用于媒體流輸出的第三傳送器,其中,客戶端還包括耦合到第一傳送器和第二傳送器的用戶交互。在第四方面,本發(fā)明提供一種用于媒體位置控制的系統(tǒng)中的服務器,該服務器包括用于創(chuàng)建連續(xù)流的處理器;用于設置流傳送會話的第一接收器和用于設置與客戶端的對應傳送器的通信信道以執(zhí)行流控制的第二接收器,第一和第二接收器耦合到處理器。根據某一實施例,處理器包括用于創(chuàng)建連續(xù)流的部件,用于創(chuàng)建連續(xù)流的部件包括用于查找媒體中的讀取位置的部件;以及用于更新流中數據分組的序號和時間戳以使數據分組連續(xù)的部件。根據某一實施例,服務器還包括存儲器和用于媒體輸出的第三傳送器,兩者均耦合到處理器。在第五方面,本發(fā)明提供一種用于媒體位置控制的系統(tǒng)中的客戶端,該客戶端包括用于設置流傳送會話的第一傳送器;以及用于設置與服務器的對應接收器的通信信道以通過在流傳送會話外發(fā)送從媒體流中特定點播放的請求來執(zhí)行流控制的第二傳送器。根據某一實施例,該客戶端還包括耦合到第一和第二傳送器的用戶交互。在第六方面,本發(fā)明提供分組交換網絡中根據上述方法的方法的應用。在第七方面,本發(fā)明提供使用上述方法所提供的連續(xù)數據服務。根據某一實施例,連續(xù)數據服務是實時連續(xù)數據服務。在第八方面,本發(fā)明提供一種包括用于硬件事務和軟件事務的代碼的制品,所述代碼配置成促使操作被執(zhí)行,所述操作包括客戶端向播放器發(fā)送設置流傳送會話的請求;在播放器與服務器之間設置流傳送會話;
在客戶端與服務器之間設置通信信道;定義客戶端與服務器之間的接口消息以用于指示媒體中的讀取位置;以及根據所述讀取位置在所述服務器中創(chuàng)建連續(xù)流。根據某一實施例,在客戶端與服務器之間設置通信信道包括在客戶端中提供用于流控制的第二傳送器,在服務器中提供用于流控制的第二接收器,以及配置第二傳送器和第二接收器直接通信。根據某一實施例,接口消息是在HTTP請求URI中或在分開的HTTP報頭中能夠攜帶的命令和參數對。根據某一實施例,接口消息包括從已知點到讀取位置的值。
根據某一實施例,該值是時間值或位置值。根據某一實施例,已知點是當前媒體位置、媒體的開頭或媒體的結束或任何其它參考點。根據某一實施例,根據讀取位置在服務器中創(chuàng)建連續(xù)流包括查找媒體中的讀取位置,并且更新流中數據分組的序號和時間戳以使數據分組連續(xù)。根據某一實施例,接口消息擴展成包括要通過媒體的當前讀取位置來響應的命令。本發(fā)明的優(yōu)點在于媒體控制解決方案的設計,其提供優(yōu)化的用戶體驗而獨立于播放器實現和最終終端限制。
本發(fā)明通過示例示出,但不限于附圖圖I示出根據現有技術的帶有序號和時間戳中的跳躍的播放器緩沖器的模型。圖2示出根據現有技術的媒體播放器中實現的RTSP會話設置過程。圖3示出基于RFC 2326的快進流的示例。圖4A示出在發(fā)送速率等于媒體速率并且無分組被丟棄時如由播放器所接收的流。圖4B示出根據圖4A中接收的數據如由播放器顯示的流。圖5A示出在發(fā)送速率快于媒體速率時如由播放器所接收的流。圖5B示出根據圖5A中接收的數據如由播放器所顯示的流。圖6示出基于RTSP范圍報頭的快進示例。圖7示出根據本發(fā)明的服務器的示意結構。圖8示出根據本發(fā)明的客戶端的示意結構。圖9是根據本發(fā)明的一個實施例的用于媒體位置控制的系統(tǒng)的框圖。圖10示出根據本發(fā)明的客戶端與服務器(繞開播放器)之間的基于內部API調用的導航流。圖11示出根據本發(fā)明的一個實施例的用于媒體位置控制的方法。圖12示出根據本發(fā)明的一個實施例的用于媒體位置控制的設備的示意框圖。
具體實施例方式實現要求I)客戶端與服務器之間設置的直接通信信道。2)在客戶端與服務器之間定義指示媒體剪輯內的讀取位置的接口消息。該接口消息的一實施例是幾對的命令和參數,如果HTTP被選擇作為協(xié)議的實現之一,則它們能夠在HTTP請求URI中或甚至在分開的HTTP報頭中被攜帶。在客戶端與服務器之間使用的協(xié)議的選擇是靈活的。一個可能的選擇是使用HTTP協(xié)議,但本發(fā)明不限于該協(xié)議。3)創(chuàng)建連續(xù)流的方法。該方法包括更新數據分組的時間戳和序號以使數據流保持連續(xù)。然而,該方法不限于此。在采取的不同協(xié)議的情況下,創(chuàng)建連續(xù)流的方法能夠稍微不同。例如,在RTP流傳送中,通過更改數據分組的時間戳和序號來創(chuàng)建連續(xù)流,而在flashRTMP流傳送中,由于在來自其的應用層上缺少序號,所以只更改數據分組的時間戳。總之,只要借助于采用的特定協(xié)議的特性使數據流變得連續(xù),無論采取哪種協(xié)議,均在本發(fā)明的范圍內。為了控制媒體位置,接口消息需要將要求的讀取點作為絕對值(從媒體的開頭起的時間或位置)傳送,或者作為相對于諸如上一讀取時間或位置等已知點的時間或位置值傳送。下面給出接口消息的示例。在第一示例中,媒體流的讀取點在HTTP請求URI中作為從上一讀取位置起的相對值傳送。參數的名稱為“skip”。參數的正值誘發(fā)快進動作,而負值觸發(fā)倒回動作。讀取位 置的單位為秒??爝M客戶端一月艮務器GET http: //server, com skip = 3HTTP/1. I服務器一客戶端2000K客戶端發(fā)送HTTP請求到服務器以觸發(fā)與當前媒體位置相比3秒的快進動作。月艮務器通過2000K響應確認請求的接收。倒回客戶端一月艮務器GET http: //server, com skip = -3HTTP/1. I服務器一客戶端2000K客戶端發(fā)送HTTP請求到服務器以觸發(fā)與當前媒體位置相比3秒的倒回動作。月艮務器通過2000K響應確認請求的接收。在第二示例中,媒體流的讀取點在HTTP請求URI中作為絕對值傳送。參數的名稱為“goTo”。讀取位置的單位為秒。視初始讀取位置而定,觸發(fā)的動作是快進或倒回動作。客戶端一服務器GEThttp: //server, com roTo = 360HTTP/1. I服務器客戶端一C :2000K本領域技術人員將理解,雖然在上面的示例中通過時間單位確定跳躍間隔,但本發(fā)明不限于此;例如,跳躍間隔也可通過分組或幀的數量確定。當然,其它單位也可用于確定與在使用的不同協(xié)議和媒體類型一致的跳躍間隔。客戶端發(fā)送HTTP請求到服務器以控制媒體位置。此處,服務器恢復在媒體的第360秒的流傳送。如果最初播放第200秒,則它導致快進動作。如果最初播放第400秒,則它導致倒回動作。服務器通過2000K響應確認請求的接收。上述接口消息應對任何類型的導航控制有效。這包括如在上面示例中描述的快進和倒回功能性,但不限于這兩個特征。媒體的顯示從記錄的位置開始而不是從媒體的開頭開始的書簽特征能夠是另一用例。還建議擴展接口消息,以便客戶端能夠知道在任何時間點的媒體位置,這是因為依賴播放器獲得該信息將是不可能的。擴展的接口消息由要通過媒體的當前讀取位置響應的命令組成。讀取位置的單位需要被預定義。下面給出了示例客戶端一月艮務器GET http: //server, com mediaStatus HTTP/1. I服務器一客戶端2000Kposition = 363客戶端發(fā)送HTTP請求到服務器以查詢當前媒體讀取位置。服務器通過2000K響應確認請求的接收,并在其響應的報頭或正文中包括當前讀取位置的值,此處為363秒。可能最后要求將最初創(chuàng)建的傳送信道與導航請求相關的機制。通過將用戶ID附加到從客戶端發(fā)送的每個請求,諸如MSISDN等用戶ID能夠用于構建該關系。下面是擴展的接口消息的示例客戶端一服務器GEThttp: //server, com skip = 3&userID = xxx HTTP/1. I在HTTP skip命令中,參數userlD通知服務器請求與哪個傳送信道有關。注意,雖然RTP流傳送在通篇文檔中用作示例,但本發(fā)明不受限于它,并且能夠應用于諸如flash流傳送等其它類型的流傳送。圖7示出根據本發(fā)明的服務器的示意結構。服務器700包括用作緩沖器的存儲器704、用于創(chuàng)建連續(xù)數據流的處理器701、用于設置流傳送會話的第一接收器702、用于執(zhí)行流控制的第二接收器703及用于執(zhí)行媒體流輸出的第三傳送器705。分組在被轉發(fā)前需要被存儲在存儲器中。存儲器能夠指實際文件或短時間存儲器或數據庫或任何其它類型的媒體,如磁性存儲媒體(例如,硬盤驅動器、軟盤、磁帶等)、易失性和非易失性存儲器裝置(例如,EEPR0M、R0M、PR0M、RAM、DRAM、SRAM、閃存、固件、可編程邏輯等)等。存儲器704耦合到處理器701和第三傳送器705,以及處理器701耦合到第一接收器702和第二接收器703。在服務器中,第二接收器提供用于實現本發(fā)明的媒體位置控制機制,以及用于設置與客戶端中對應第二傳送器的通信信道。第二接收器的操作對第一接收器是透明的。應領會至IJ,圖7所示結構只是說明性的。本發(fā)明的服務器可根據環(huán)境包括比圖7所述那些部件更多或更少的部件。處理器可包括用于查找媒體中的讀取位置的部件,以及用于更改數據分組的序號和數據分組的時間戳的部件。關于本發(fā)明,基本部件包括用于創(chuàng)建連續(xù)數據流的處理器701、用于設置流傳送會話的第一接收器702及用于執(zhí)行流控制的第二接收器703。圖8示出根據本發(fā)明的客戶端的示意結構??蛻舳?00包括用于設置流傳送會話的第一傳送器801、用于設置與服務器的對應接收器的通信信道以通過在流傳送會話外發(fā)送從媒體流中特定點播放的請求來執(zhí)行流控制的第二傳送器802及用于與用戶交互的用戶交互803。第一傳送器801和第二傳送器802耦合到用戶交互803。在客戶端中,第二傳送器提供用于實現本發(fā)明的媒體位置控制機制,以及用于設置與服務器中對應第二接收器的通信信道。第二傳送器的操作對第一傳送器是透明的。應領會到,圖8所示結構只是說明性的。本發(fā)明的客戶端可根據環(huán)境包括比圖8所述那些部件更多或更少的部件。關于本發(fā)明,必要的部件包括用于設置流傳送會話的第一傳送器801和用于執(zhí)行流控制的第二傳送器802。圖9是根據本發(fā)明的一個實施例的用于媒體位置控制的系統(tǒng)的框圖。如圖所示,該系統(tǒng)包括客戶端、播放器、服務器,播放器耦合到客戶端和服務器,以及用于將客戶端耦合到服務器的通信信道。服務器包括處理器,處理器包括用于創(chuàng)建連續(xù)流的部件,而用于創(chuàng)建連續(xù)流的部件包括用于查找媒體中的讀取位置的部件,以及用于更改數據分組的序號和數據分組的時間戳以使數據分組連續(xù)的部件,并且服務器還包括用于數據傳送信道設置的第一接收器和用于流控制的第二接收器??蛻舳税ǖ谝粋魉推骱陀糜诹骺刂频牡诙魉推?。通信信道在第二傳送器與第二接收器之間被建立。服務器還包括存儲器和用于耦合到處理器的媒體流輸出的第三傳送器??蛻舳诉€包括耦合到第一和第二傳送器的用戶交 互。應領會到,圖9所示結構只是說明性的。不同部分的布置只是示意圖,并且可根據環(huán)境來適應。圖10示出根據本發(fā)明的客戶端與服務器(繞開播放器)之間的基于內部API調用的導航流。在步驟1001中,客戶端調用在播放器顯示的控制API以開始流傳送會話。如前面圖2中所述設置(1002)在播放器與服務器之間的傳送信道。在正常觀看的過程中,最終用戶通過在流傳送會話外發(fā)送從媒體流中特定點播放的請求,觸發(fā)客戶端快進。具體而言,客戶端直接調用服務器API (1003)以傳送指示新讀取位置的請求(接口消息)。服務器確認請求(1004)。它查找在媒體中的新讀取位置(1005),并開始轉發(fā)請求的數據分組。每個轉發(fā)分組的時間戳和序號被更新以便保持連續(xù)流。用于查找讀取位置的進程是將提供讀取位置的格式映射到時間戳格式,并且隨后從流選擇帶有最近時間戳的分組(通常選擇就在之前的一個分組)。用于更改序號的進程是選取最近發(fā)送分組的序號,并且在發(fā)送新選定分組(離讀取位置最近)之前將其序號更改為最近發(fā)送的序號+1,并以此類推,以便規(guī)則“對于每個RTP 數據分組,序號應增大 I (the sequence number should be increments by one foreach RTP data packet) ”仍成立,如 RFC 3550 中所請求的。用于更改時間戳的進程是選取最近發(fā)送分組的時間戳,并且基于媒體速率,計算用于下一分組的時間戳。新選定分組的時間戳必須在該分組發(fā)送前更新為該計算的值。相同的進程為每個分組應用,以便規(guī)則“采樣時刻必須源于在時間上單調、線性增大的時鐘(The sampling instant MUST be derived from a clock that incrementsmonotonically and linearly in time) ”仍成立,如 RFC 3550 中所請求的。基于諸如用戶交互等某一輸入,客戶端能夠根據標準化協(xié)議觸發(fā)用于媒體數據的傳送信道的設置,并隨后通過分開的接口控制媒體位置。服務器能夠根據標準化協(xié)議設置與接收器的傳送信道,并且基于經其流控制接收器接收的命令和在其存儲器中緩沖的媒體流,能夠在經其傳送器轉發(fā)媒體流前通過其處理器保護連續(xù)流的創(chuàng)建。用于客戶端與服務器之間通信的接口消息可以是如在前面示范的任何形式的消息。例如客戶端一月艮務器GET http: //server, com mediaStatus HTTP/1. I服務器—客戶端2000Kposition = 363 ;客戶端一服務器GEThttp://server, com skip = 3&userID = xxx HTTP/1. I服務器一客戶端2000K ; 客戶端一月艮務器GET http: //server, com skip = -3HTTP/1. I服務器一客戶端2000K ;客戶端一服務器GEThttp: //server, com roTo = 360HTTP/1. I服務器客戶端一C :2000K ;然而,本發(fā)明不限于這些消息,如本領域技術人員將理解的,在為客戶端與服務器之間的通信采用其它協(xié)議時,格式對應于采用的協(xié)議的消息可用于通信。圖11示出根據本發(fā)明的一個實施例的用于媒體位置控制的方法。該方法從步驟1101開始。在步驟1102,客戶端向播放器發(fā)送設置流傳送會話的請求。在步驟1103,在播放器與服務器之間設置流傳送會話。在步驟1104,在客戶端與服務器之間設置通信信道。在步驟1105,在客戶端與服務器之間定義接口消息,指示媒體中的讀取位置。在步驟1106,根據讀取位置在服務器中創(chuàng)建連續(xù)流。在步驟1107,方法終止。根據某一實施例,在客戶端與服務器之間設置通信信道包括在客戶端中提供用于流控制的第二傳送器,在服務器中提供用于流控制的第二接收器,以及配置第二傳送器和第二接收器直接通信。根據某一實施例,接口消息是在HTTP請求URI中或在分開的HTTP報頭中能夠攜帶的命令和參數對。根據某一實施例,接口消息包括從已知點到讀取位置的值。根據某一實施例,該值是時間值或位置值。根據某一實施例,已知點是當前媒體位置、媒體的開頭或媒體的結束或任何其它參考點。根據某一實施例,根據讀取位置在服務器中創(chuàng)建連續(xù)流包括查找媒體中的讀取位置,并且更新流中數據分組的序號和時間戳以使數據分組連續(xù)。根據某一實施例,接口消息擴展成包括要通過媒體的當前讀取位置響應的命令。圖12根據本發(fā)明的一個實施例,示出用于媒體位置控制的設備的示意框圖。設備1200包括用于使得 客戶端能夠向播放器發(fā)送設置流傳送會話的請求的部件1201 ;用于在播放器與服務器之間設置流傳送會話的部件1202 ;用于在客戶端與服務器之間設置通信信道的部件1203 ;用于定義客戶端與服務器之間的接口消息的部件1204,接口消息指示媒體中的讀取位置;以及用于根據讀取位置在服務器中創(chuàng)建連續(xù)流的部件1205。根據某一實施例,用于在客戶端與服務器之間設置通信信道的部件包括在客戶端中提供的用于流控制的第二傳送器,在服務器中提供的用于流控制的第二接收器,以及用于配置第二傳送器和第二接收器直接通信的部件。根據某一實施例,用于根據讀取位置在服務器中創(chuàng)建連續(xù)流的部件包括用于查找媒體中的讀取位置的部件;以及用于更新流中數據分組的序號和時間戳以使數據分組連續(xù)的部件。根據某一實施例,用于定義客戶端與服務器之間的接口消息的部件還包括用于擴展接口消息以包括要通過媒體的當前讀取位置響應的命令的部件。雖然本發(fā)明的技術解決方案在上面通過某些實施例來描述,但要理解,此類實施例只是說明性的。上面實施例中公開的技術特征的隨機組合只要在技術上可行,便可執(zhí)行而不脫離本發(fā)明的精神和范圍。所述操作可實現為使用標準編程和/或工程技術產生軟件、固件、硬件或其任何組合的方法、設備、系統(tǒng)或制品。所述操作可實現為在“計算機可讀媒體”中保持的代碼,其中,處理器可從計算機可讀媒體讀取和執(zhí)行代碼。計算機可讀媒體可包括諸如磁性存儲媒體(如,硬盤驅動器、軟盤、磁帶等)、光存儲裝置(⑶-ROM、DVD、光盤等)、易失性和非易失性存儲裝置(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、閃存、固件、可編程邏輯等)等。實現所述操作的代碼可還在硬件邏輯(例如,集成電路芯片、可編程門陣列(PGA)、專用集成電路(ASIC)等)中實現。還有,實現所述操作的代碼可在“傳送信號”中實現,其中,傳送信號可通過空間或通過諸如光纖、銅線等傳送媒體傳播。其中編碼有代碼或邏輯的傳送信號可還包括無線信號、衛(wèi)星傳送、無線電波、紅外信號、藍牙等。其中編碼有代碼或邏輯的傳送信號能夠由傳送站傳送,并且由接收站接收,其中,在傳送信號中編碼的代碼或邏輯可在接收和傳送站或裝置的硬件或計算機可讀媒體中解碼和存儲?!爸破贰卑ㄆ渲锌蓪崿F代碼的計算機可讀媒體、硬件邏輯和/或傳送信號。當然,本領域技術人員將認識到,在不脫離本發(fā)明的范圍的情況下,可對此配置進行許多修改,并且制品可包括技術領域中已知的適合信息承載媒體。所述操作可由電路來執(zhí)行,其中,“電路”指硬件或軟件或其組合。用于執(zhí)行所述實施的操作的電路可包括硬件裝置,如集成電路芯片、可編程門陣列(PGA)、專用集成電路(ASIC)等。電路也可包括處理器組件,如集成電路和在諸如存儲器等計算機可讀媒體中的代碼,其中,代碼由處理器執(zhí)行以執(zhí)行所述實施例的操作。除非另有明確指明,否貝IJ,術語“一實施例”、“實施例(embodiment、embodiments) ”、“該實施例(the embodiment、the embodiments) ”、“一個或多個實施例”、“一些實施例”及“一個實施例”指“本發(fā)明的一個或幾個(但非全部)實施例”。除非另有明確指明,否貝U,術語“包括(including、comprising) ”、“具有”及其變化指“包括但不限于”。除非另有明確指明,否則,項目的列舉清單不暗示任何或所有項目是互斥的。除非另有明確指明,否則,術語“一(a、an)”和“該(the) ”表示“一個或多個”。除非另有明確指明,否則,相互通信的裝置無需相互連續(xù)通信。另外,相互通信的裝置可直接 或通過一個或多個中間體間接通信。帶有相互通信的幾個組件的一實施例的描述不暗示要求所有此類組件。相反,描述多個可選組件以示出本發(fā)明的多個可能實施例。此外,雖然進程步驟、方法步驟、算法或諸如此類可按順序次序來描述,但此類進程、方法和算清可配置為以備選次序工作。換而言之,可描述的步驟的任何順序或次序不一定指示步驟要以該次序執(zhí)行。本文中所述進程的步驟可以可行任何次序執(zhí)行。此外,一些步驟可同時執(zhí)行。本文中描述單個裝置或物品時,將容易明白的是,可使用不止一個裝置/物品(無論它們是否協(xié)作)來替代單個裝置/物品。類似地,本文中描述不止一個裝置或物品(無論它們是否協(xié)作)時,將容易明白的是,可使用單個裝置/物品替代不止一個裝置或物品,或者可使用與所示多數不同數量的裝置。裝置的功能性和/或特征可備選由未明確描述為具有此類功能性/特征的一個或多個其它裝置來實施。因此,本發(fā)明的其它實施例無需包括裝置本身。所示操作示出以某一次序發(fā)生的某些事件。在備選實施例中,可以不同次序執(zhí)行、修改或刪除某些操作。另外,可添加步驟到上述邏輯,并仍符合所述實施例。此外,可按順序進行本文中所述操作,或者可平行處理某些操作。還有,操作可由單個處理單元或分布式處理單元執(zhí)行。為了圖示和描述的目的,已陳述本發(fā)明的各種實施例的上述描述。它無意是窮舉的或限制本發(fā)明為明確的公開形式。鑒于上述教導,許多修改和變化是可能的。本發(fā)明的范圍不受此詳細描述限制,而是受附于本文的權利要求限制。上述說明書、示例和數據提供了本發(fā)明的完整描述。由于本發(fā)明的許多實施例能夠實現而不脫離本發(fā)明的精神和范圍,因此,本發(fā)明位于下文所附權利要求內。
權利要求
1.一種用于媒體位置控制的方法,包括 客戶端向播放器發(fā)送設置流傳送會話的請求; 在所述播放器與服務器之間設置所述流傳送會話; 在所述客戶端與所述服務器之間設置通信信道; 定義所述客戶端與所述服務器之間的接口消息以用于指示媒體中的讀取位置;以及 根據所述讀取位置在所述服務器中創(chuàng)建連續(xù)流。
2.如權利要求I所述的方法,其中在所述客戶端與所述服務器之間設置通信信道包 括 在所述客戶端中提供用于流控制的第二傳送器,在所述服務器中提供用于流控制的第二接收器,以及配置所述第二傳送器和所述第二接收器直接通信。
3.如權利要求I所述的方法,其中所述接口消息是在HTTP請求URI中或在分開的HTTP報頭中能夠攜帶的命令和參數對。
4.如權利要求I所述的方法,其中所述接口消息包括從已知點到所述讀取位置的值。
5.如權利要求4所述的方法,其中所述值是時間值或位置值。
6.如權利要求4所述的方法,其中所述已知點是當前媒體位置、所述媒體的開頭或所述媒體的結束或任何其它參考點。
7.如權利要求I所述的方法,其中根據所述讀取位置在所述服務器中創(chuàng)建連續(xù)流包括查找所述媒體中的讀取位置,并且更新所述流中數據分組的序號和時間戳以使所述數據分組連續(xù)。
8.如權利要求I所述的方法,其中所述接口消息擴展成包括要通過所述媒體的當前讀取位置來響應的命令。
9.一種用于媒體位置控制的設備,包括 用于使得客戶端能夠向播放器發(fā)送設置流傳送會話的請求的部件; 用于在所述播放器與服務器之間設置所述流傳送會話的部件; 用于在所述客戶端與所述服務器之間設置通信信道的部件; 用于定義所述客戶端與所述服務器之間的接口消息的部件,所述接口消息指示媒體中的讀取位置;以及 用于根據所述讀取位置在所述服務器中創(chuàng)建連續(xù)流的部件。
10.如權利要求9所述的設備,其中用于在所述客戶端與所述服務器之間設置通信信道的部件包括 在所述客戶端中提供的用于流控制的第二傳送器,在所述服務器 中提供的用于流控制的第二接收器,以及用于配置所述第二傳送器和 所述第二接收器直接通信的部件。
11.如權利要求9所述的設備,其中用于根據所述讀取位置在所述服務器中創(chuàng)建連續(xù)流的部件包括 用于查找所述媒體中讀取位置的部件;以及 用于更新所述流中數據分組的序號和時間戳以使所述數據分組連續(xù)的部件。
12.如權利要求9所述的設備,其中用于定義所述客戶端與所述服務器之間的接口消息的部件還包括用于擴展所述接口消息以包括要通過所述媒體的當前讀取位置來響應的命令的部件。
13.一種用于媒體位置控制的系統(tǒng),包括 客戶端、播放器、服務器,所述播放器耦合到所述客戶端和所述服務器, 以及用于將所述客戶端耦合到所述服務器的通信信道。
14.如權利要求13所述的系統(tǒng),其中所述服務器包括處理器,所 述處理器包括用于創(chuàng)建連續(xù)流的部件。
15.如權利要求14所述的系統(tǒng),其中用于創(chuàng)建連續(xù)流的所述部件 包括 用于查找所述媒體中讀取位置的部件,以及 用于更新所述流中數據分組的序號和時間戳以使所述數據分組連續(xù)的部件。
16.如權利要求14所述的系統(tǒng),其中所述服務器還包括用于數據傳送信道設置的第一接收器和用于流控制的第二接收器,這兩者均耦合到所述處理器,其中所述客戶端包括用于流控制的第二傳送器和第一傳送器,以及其中所述通信信道在所述第二傳送器與所述第二接收器之間被建立。
17.如權利要求16所述的系統(tǒng),其中所述服務器還包括耦合到所述處理器的存儲器和用于媒體流輸出的第三傳送器,其中所述客戶端還包括耦合到所述第一傳送器和所述第二傳送器的用戶交互。
18.一種用于媒體位置控制的系統(tǒng)中的服務器,所述服務器包括 用于創(chuàng)建連續(xù)流的處理器; 用于設置流傳送會話的第一接收器和用于設置與客戶端的對應傳送器的通信信道以執(zhí)行流控制的第二接收器,所述第一和第二接收器耦合到所述處理器。
19.如權利要求18所述的服務器,其中所述處理器包括用于創(chuàng)建連續(xù)流的部件,用于創(chuàng)建連續(xù)流的所述部件包括用于查找所述媒體中讀取位置的部件,以及用于更新所述流中數據分組的序號和時間戳以使所述數據分組連續(xù)的部件。
20.如權利要求18所述的服務器,還包括 存儲器和用于媒體輸出的第三傳送器,這兩者均耦合到所述處理器。
21.一種用于媒體位置控制的系統(tǒng)中的客戶端,所述客戶端包括 第一傳送器,用于設置流傳送會話; 以及第二傳送器,用于設置與服務器的對應接收器的通信信道,以通過在所述流傳送會話外發(fā)送從所述媒體流中特定點播放的請求來執(zhí)行流控制。
22.如權利要求21所述的客戶端,還包括 耦合到所述第一和第二傳送器的用戶交互。
23.一種分組交換網絡中如權利要求1-8的任一項所述的方法的應用。
24.一種使用權利要求1-8的任一項中記載的方法所提供的連續(xù)數據服務。
25.如權利要求24所述的連續(xù)數據服務,其中所述連續(xù)數據服務是實時連續(xù)數據服務。
全文摘要
本發(fā)明提供一種用于媒體位置控制的方法,包括客戶端向播放器發(fā)送設置流傳送會話的請求;在播放器與服務器之間設置流傳送會話;在客戶端與服務器之間設置通信信道;定義客戶端與服務器之間的接口消息以用于指示媒體中讀取位置;以及根據讀取位置在服務器中創(chuàng)建連續(xù)流。本發(fā)明還提供用于媒體位置控制的設備和系統(tǒng)及用于媒體位置控制的服務器和客戶端。
文檔編號H04N21/643GK102648636SQ200980162126
公開日2012年8月22日 申請日期2009年10月21日 優(yōu)先權日2009年10月21日
發(fā)明者A·扎寧, H·L·龍 申請人:愛立信(中國)通信有限公司