亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種時(shí)移操作方法和裝置的制作方法

文檔序號(hào):7690879閱讀:223來(lái)源:國(guó)知局
專利名稱:一種時(shí)移操作方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及多媒體傳輸領(lǐng)域,特別是涉及一種時(shí)移操作方法和裝置。
背景技術(shù)
流媒體業(yè)務(wù)是從Internet上發(fā)展起來(lái)的 一種多々某體應(yīng)用,指使用流 (Streaming)方式在網(wǎng)絡(luò)上傳輸?shù)亩嗝襟w文件,包括音頻、視頻和動(dòng)畫(huà)等。 流媒體傳輸技術(shù)的主要特點(diǎn)是以流(streaming)的形式進(jìn)行多媒體數(shù)據(jù)的傳 輸。把連續(xù)的影像和聲音信息經(jīng)過(guò)壓縮處理后放到網(wǎng)絡(luò)服務(wù)器上,客戶端在 播放前并不需要下載整個(gè)媒體文件,而是在將緩存區(qū)中已經(jīng)收到的信息進(jìn)行
即"邊下載,邊播放"。這樣就避免了用戶在收看或收聽(tīng)媒體流的時(shí)候要花費(fèi) 一段時(shí)間把完整的文件下載到客戶端,可以給用戶帶來(lái)"實(shí)時(shí)播放,,的業(yè)務(wù) 感知體驗(yàn)。
根據(jù)流i某體節(jié)目的節(jié)目源來(lái)源方式不同可以分為存貯(stored)節(jié)目和直 播(live )節(jié)目;存貯節(jié)目的節(jié)目源一般來(lái)自存貯文件,通常流媒體業(yè)務(wù)的點(diǎn) 播等業(yè)務(wù)采用這種方式來(lái)提供,存貯方式提供的節(jié)目客戶端在播放中可以進(jìn) 行定位、快進(jìn)、快退等操作;而直播節(jié)目一般節(jié)目源來(lái)自直播源,如現(xiàn)場(chǎng)直 播或者廣播電視等,這種節(jié)目通常是不可回退的。
分組交換流業(yè)務(wù)(Packet-switch Streaming Service, PSS )是3GPP定義的 基于實(shí)時(shí)流媒體協(xié)議(Real Time Streaming Protocol, RTSP )實(shí)現(xiàn)的用來(lái)提供 流媒體業(yè)務(wù)的協(xié)議。該協(xié)議基本沿用了上述Internet流媒體的技術(shù)。同樣可以 提供點(diǎn)播和直播內(nèi)容。PSS針對(duì)移動(dòng)網(wǎng)絡(luò)的情況對(duì)RTSP進(jìn)行了 一部分修改適 配,從而可以實(shí)現(xiàn)直^番內(nèi)容的時(shí)移業(yè)務(wù)。
在現(xiàn)有技術(shù)中,PSS中認(rèn)為直播流是不能進(jìn)行定位操作且只能在特定時(shí) 間進(jìn)行播放的流,它 <吏用會(huì)話描述協(xié)議(Session Description Protocol, SDP )中"a=range,,屬性指示是否可以定位,當(dāng)range中使用的是開(kāi)放的時(shí)間范圍, 即只有起始時(shí)間;殳有結(jié)束時(shí)間,如 "a = range : npt = now-"或 "a=range:clock=20030825T152300Z-,,表示是不能夠?qū)α鬟M(jìn)行定位操作;同時(shí) 在SDP中用"t = ", "r ="和"z ="等參數(shù)可以指示出節(jié)目的持續(xù)的時(shí)間; 通過(guò)這兩項(xiàng)可以指示出是否直播流。
客戶端根據(jù)這些信息,可以呈現(xiàn)直播節(jié)目的一個(gè)時(shí)間范圍或一個(gè)頻道中 的一段時(shí)間,除了暫?;蛲V怪猓恢С制渌鸙CR才喿作。
但是,服務(wù)器提供時(shí)移業(yè)務(wù)后,使客戶端在播放直播節(jié)目時(shí),也可對(duì)直 播點(diǎn)前面一段時(shí)間的內(nèi)容進(jìn)行回看。但是利用現(xiàn)有技術(shù)不能夠?qū)⒎?wù)器的時(shí) 移特性通知到客戶端,這樣,即使服務(wù)器支持時(shí)移業(yè)務(wù),客戶端也無(wú)從得知。
另一方面,假設(shè)客戶端已知服務(wù)器支持時(shí)移業(yè)務(wù),但不知道可時(shí)移的范 圍。如果服務(wù)器最大時(shí)移緩沖區(qū)為30分鐘,客戶端暫停了 50分鐘,時(shí)移緩 沖區(qū)就會(huì)溢出,而客戶端不知道這一點(diǎn),當(dāng)客戶端要求從暫停點(diǎn)(直播點(diǎn)前 50分鐘處)繼續(xù)播放時(shí),服務(wù)器最多只能返回前30分鐘的內(nèi)容,內(nèi)容上會(huì)產(chǎn) 生非常大的跳躍。因此客戶端需要知道可進(jìn)行時(shí)移操作的范圍,但目前的技 術(shù)沒(méi)有提供一種機(jī)制指示出客戶端如何得到并指示出時(shí)移操作的范圍。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例要解決的問(wèn)題是提供一種時(shí)移使用方法和裝置,顯示直播 流是否支持時(shí)移以及可操作的時(shí)移緩沖區(qū)范圍,并實(shí)現(xiàn)在時(shí)移緩沖區(qū)范圍內(nèi) 進(jìn)行操作。
為達(dá)到上述目的,本發(fā)明實(shí)施例一方面提出一種時(shí)移操作方法,包括以 下步驟
獲取所述直播流的時(shí)移參數(shù);
根據(jù)所述時(shí)移參數(shù)創(chuàng)建并維護(hù)所述直播流的時(shí)移進(jìn)度條; 在所述時(shí)移進(jìn)度條指示的范圍內(nèi)進(jìn)行操作。 另一方面,本發(fā)明實(shí)施例還提出一種時(shí)移操作裝置,包括 參數(shù)獲取模塊,用于獲取直播流的時(shí)移參數(shù);進(jìn)度條生成模塊,用于根據(jù)所述參數(shù)獲取模塊獲得的時(shí)移參數(shù)創(chuàng)建所述 直播流的時(shí)移進(jìn)度條;
時(shí)移操作模塊,用于在所述時(shí)移進(jìn)度條指示的范圍內(nèi)進(jìn)行操作。 本發(fā)明實(shí)施例的技術(shù)方案具有以下優(yōu)點(diǎn),因?yàn)椴捎昧艘环N時(shí)移使用方法 和裝置,從而,將服務(wù)器所支持的時(shí)移能力及時(shí)移緩沖區(qū)當(dāng)前狀態(tài)通知客戶 端,使客戶端能夠?qū)r(shí)移進(jìn)度條及其實(shí)時(shí)狀態(tài)變化呈現(xiàn)給用戶,達(dá)到了加強(qiáng) 用戶時(shí)移操作的易用性、準(zhǔn)確性,改善用戶使用體驗(yàn)的效果。


圖1為本發(fā)明實(shí)施例提供的一種時(shí)移操作方法的流程示意圖; 圖2為本發(fā)明實(shí)施例提供的三種獲取最大時(shí)移及最大時(shí)移緩沖區(qū)參數(shù)的 方法的示意圖3為本發(fā)明實(shí)施例一中,自動(dòng)時(shí)移模式下相關(guān)信令處理流程示意圖; 圖4為本發(fā)明實(shí)施例一中,自動(dòng)時(shí)移模式下對(duì)應(yīng)的客戶端的時(shí)移進(jìn)度條 的變化示意圖5為本發(fā)明實(shí)施例一中,手動(dòng)時(shí)移模式下相關(guān)信令處理流程示意圖; 圖6為本發(fā)明實(shí)施例一中,手動(dòng)時(shí)移模式下對(duì)應(yīng)的客戶端的時(shí)移進(jìn)度條 的變化示意圖7為本發(fā)明實(shí)施例三中, 一種時(shí)移操作裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提出了一種時(shí)移使用方法和裝置,顯示直播流是否支持時(shí) 移以及可操作的時(shí)移緩沖區(qū)范圍,并實(shí)現(xiàn)在時(shí)移緩沖區(qū)范圍內(nèi)進(jìn)行操作。
本發(fā)明實(shí)施例中,時(shí)移緩沖區(qū)長(zhǎng)度有限,遵循先進(jìn)先出原則,它的上邊 界總是直播點(diǎn)的位置,緩沖區(qū)發(fā)生溢出后,下邊界和上邊界一起隨時(shí)間平移。 客戶端通過(guò)獲取到時(shí)移相關(guān)信息包括是否時(shí)移、時(shí)移最大緩沖區(qū)和當(dāng)前已有 時(shí)移緩沖區(qū)大小,可自己創(chuàng)建并維護(hù)一個(gè)時(shí)移進(jìn)度條的實(shí)時(shí)狀態(tài)變化,指示 出可操作的時(shí)移范圍。如圖l所示,為本發(fā)明實(shí)施例提供的一種時(shí)移操作方法的流程示意圖,
包括以下步驟
步驟S101、獲取直播流的時(shí)移參數(shù)。
如圖2所示,本發(fā)明實(shí)施例列舉了三種獲取是否時(shí)移以及時(shí)移最大緩沖 區(qū)參數(shù)的方法。客戶端只需通過(guò)其中一種方式獲得即可,當(dāng)同時(shí)通過(guò)一種以 上方式獲得該參數(shù),且有矛盾時(shí),以最新得到的參數(shù)值為準(zhǔn)。
時(shí)移參數(shù)獲取方法l、通過(guò)流媒體的實(shí)時(shí)控制協(xié)議RTSP,在接入直播流 的PLAY請(qǐng)求響應(yīng)中指示出是否時(shí)移以及最大時(shí)移緩沖區(qū)參數(shù)。
實(shí)時(shí)流媒體協(xié)議(RTSP)是IETF定義的一種對(duì)流媒體進(jìn)行實(shí)時(shí)控制的 協(xié)議。該協(xié)議采用客戶端/服務(wù)器模式,用于在客戶端和服務(wù)器端建立和協(xié)商 實(shí)時(shí)流會(huì)話,并提供了對(duì)流媒體的播放進(jìn)行各種控制命令,主要包括如下命 令
SETUP: 讓服務(wù)器給流分配資源,啟動(dòng)RTSP連接。 PLAY:啟動(dòng)SETUP分配流的數(shù)據(jù)傳輸。 PAUSE:臨時(shí)停止流,而不釋放服務(wù)器資源。 TEARDOWN:釋放流的資源,RTSP連接停止。
時(shí)移參數(shù)獲取方法2、在接入直播流會(huì)話建立時(shí),通過(guò)RTSP的DESCRIBE 方法獲取SDP,其中包含時(shí)移參數(shù),指示出是否時(shí)移及最大時(shí)移緩沖區(qū)。
會(huì)話描述協(xié)議SDP是一種用于會(huì)話描述的格式(協(xié)議),它不是一個(gè)傳輸 協(xié)議,也不包含在媒體的編解碼之中,而是用于在不同傳輸協(xié)議間的傳遞消 息的通知協(xié)議,其主要目的是解決多媒體會(huì)話通知、邀請(qǐng)和會(huì)話的初始化工 作。它可以用在RTSP 、會(huì)話啟動(dòng)協(xié)議(The Session Initiation Protocol, SIP ) 等會(huì)話控制協(xié)議中。
SDP消息中包含兩層會(huì)話層和媒體層。 一個(gè)會(huì)話描述中可能包含一個(gè) 或多個(gè)媒體層的信息。SDP消息的基本內(nèi)容包括會(huì)話的名稱、目標(biāo)、活動(dòng)時(shí) 間、帶寬等信息,構(gòu)成會(huì)話的媒體的類型、格式、傳輸協(xié)議,以及有關(guān)媒體 傳輸?shù)男畔?、地址等?br> 時(shí)移參數(shù)獲取方法3、在接入直播流會(huì)話建立之前,客戶端通過(guò)下載或其他方式能夠得到SDPfile,其中有時(shí)移參數(shù),指示出是否時(shí)移及最大時(shí)移緩沖 區(qū)。
需要指出的是,上述時(shí)移參數(shù)獲取方法3的時(shí)移參數(shù)獲取發(fā)生在請(qǐng)求接 入直播流之前,這是本發(fā)明實(shí)施例的一個(gè)獲取時(shí)移參數(shù)的可選方案,同樣屬 于本發(fā)明的保護(hù)范圍。
通過(guò)上述方式獲取到的時(shí)移參數(shù)包括是否時(shí)移、時(shí)移最大緩沖區(qū)
是否時(shí)移以及時(shí)移最大緩沖區(qū)是個(gè)相對(duì)穩(wěn)定的值(可能在一個(gè)節(jié)目或頻 道中很長(zhǎng)一段時(shí)間內(nèi)不會(huì)變化),可以用一個(gè)參數(shù)表示,通過(guò)流媒體的實(shí)時(shí)控 制協(xié)議獲取,如RTSP,即上述圖2所示的方法1;也可以通過(guò)其他方式在播-放之前獲取到,如SDP,即上述圖2所示的方法2和3 。
步驟S102、根據(jù)在接入直播時(shí)是否收到當(dāng)前已有時(shí)移緩沖區(qū)參數(shù),來(lái)判 斷時(shí)移模式。
在接入直播流時(shí)獲得的參數(shù)中,是否攜帶當(dāng)前已有時(shí)移緩沖區(qū)大小,標(biāo) 識(shí)了服務(wù)器所提供的時(shí)移業(yè)務(wù)的種類,具體為
通過(guò)在接入直播流時(shí)獲取到的時(shí)移參數(shù)中包含當(dāng)前已有時(shí)移緩沖區(qū)大小 時(shí),時(shí)移業(yè)務(wù)的種類為自動(dòng)時(shí)移模式,轉(zhuǎn)入步驟S103;
通過(guò)在接入直播流時(shí)獲取到的時(shí)移參數(shù)中不包含當(dāng)前已有時(shí)移緩沖區(qū)大 小時(shí),時(shí)移業(yè)務(wù)的種類為手動(dòng)時(shí)移模式,轉(zhuǎn)入步驟S106。
以上兩種時(shí)移業(yè)務(wù)模式屬于PSS時(shí)移業(yè)務(wù),PSS時(shí)移業(yè)務(wù)是指為PSS單 播方式的直播內(nèi)容提供時(shí)移業(yè)務(wù)特征,包括了2種場(chǎng)景
自動(dòng)時(shí)移一一多個(gè)用戶共享服務(wù)器上的一個(gè)時(shí)移緩沖區(qū),用戶可以對(duì)接 入以前的內(nèi)容進(jìn)行時(shí)移操作。在用戶快進(jìn)到直播點(diǎn)時(shí),可以繼續(xù)使用時(shí)移緩 沖區(qū),也可以離開(kāi)時(shí)移狀態(tài)。
手動(dòng)時(shí)移一一通過(guò)用戶的暫停操作觸發(fā)時(shí)移,服務(wù)器在終端暫停點(diǎn)開(kāi)始 動(dòng)態(tài)維護(hù)一個(gè)臨時(shí)時(shí)移緩沖區(qū),這樣,用戶只能在暫停之后才能有時(shí)移操作。 在用戶快進(jìn)到直播點(diǎn)時(shí),可以刪除該用戶臨時(shí)的時(shí)移緩沖區(qū),用戶離開(kāi)時(shí)移 狀態(tài);也可以保留時(shí)移緩沖區(qū),用戶仍然可以使用該緩沖區(qū)。
對(duì)于當(dāng)前已有時(shí)移緩沖區(qū)的大小,是個(gè)隨直播流動(dòng)態(tài)變化的值,只能在用戶接入到直播流時(shí)才能得到;并且根據(jù)用戶接入時(shí)是否已有時(shí)移緩沖區(qū),
能夠判斷出服務(wù)器支持的時(shí)移方式(自動(dòng)/手動(dòng)),對(duì)于不同的時(shí)移模式,客戶 端的處理完全不同。
步驟S103、根據(jù)時(shí)移參數(shù)創(chuàng)建并維護(hù)直播流的時(shí)移進(jìn)度條。 當(dāng)請(qǐng)求接入所述直"l番流時(shí),客戶端在得到自動(dòng)時(shí)移當(dāng)前已有時(shí)移緩沖區(qū) 大小,以直播流的直播點(diǎn)對(duì)應(yīng)的時(shí)間為時(shí)移進(jìn)度條的上邊界,并根據(jù)所述直 播流的直播點(diǎn)對(duì)應(yīng)的時(shí)間和當(dāng)前已有時(shí)移緩沖區(qū)大小確定所述時(shí)移進(jìn)度條的 下邊界,即通過(guò)直播點(diǎn)(上邊界)減去當(dāng)前已有時(shí)移緩沖區(qū)大小得到下邊界, 從而創(chuàng)建出一個(gè)時(shí)移進(jìn)度條,指示出可時(shí)移的范圍。
在此時(shí),時(shí)移進(jìn)度條中的當(dāng)前播放點(diǎn)即為直播流的直播點(diǎn),對(duì)應(yīng)時(shí)移進(jìn) 度條的上邊界。
之后,客戶端需要自行維護(hù)時(shí)移進(jìn)度條的狀態(tài)變化在當(dāng)前已有的時(shí)移 緩沖區(qū)值的基礎(chǔ)上做時(shí)間累計(jì),并不斷與最大時(shí)移緩沖區(qū)的值進(jìn)行比較,如 果累計(jì)值已經(jīng)等于或大于最大時(shí)移緩沖區(qū)的值,則認(rèn)為時(shí)移緩沖區(qū)已經(jīng)溢出; 時(shí)移進(jìn)度條的上邊界總是跟著直播點(diǎn)向前移動(dòng);時(shí)移緩沖區(qū)溢出后,下邊界 要和上邊界一起隨時(shí)間平移。
上述時(shí)移進(jìn)度條創(chuàng)建完畢后,開(kāi)始進(jìn)行正常播放,并在正常播放直播流 時(shí)維護(hù)時(shí)移進(jìn)度條。當(dāng)前的播放點(diǎn)即為直播點(diǎn),對(duì)應(yīng)為時(shí)移進(jìn)度條的上邊界。 如果用戶決定開(kāi)始進(jìn)行時(shí)移操作,則轉(zhuǎn)入步驟S104。
步驟S104、在時(shí)移進(jìn)度條指示的范圍內(nèi)操作。
在時(shí)移狀態(tài)下,客戶端可在時(shí)移范圍內(nèi)進(jìn)行時(shí)移操作,包括暫停、播放、 停止、快進(jìn)、快退、定位等操作。
如前所述,在自動(dòng)時(shí)移模式下,客戶端可通過(guò)暫停、快退或定位進(jìn)入到 時(shí)移狀態(tài)。
通過(guò)上述操作,在時(shí)移進(jìn)度條中的當(dāng)前播放點(diǎn)不再一定對(duì)應(yīng)直播流的直 播點(diǎn),假設(shè)時(shí)移進(jìn)度條的上邊界為tl,在play響應(yīng)中得到當(dāng)前播放點(diǎn)的時(shí)間 為t2,則當(dāng)前播放點(diǎn)在時(shí)移進(jìn)度條上與上邊界的距離為(tl-12),始終等于 當(dāng)點(diǎn)播》丈的時(shí)間與直4番點(diǎn)之間的時(shí)間差。服務(wù)器在上述的請(qǐng)求響應(yīng)中可選擇是否攜帶時(shí)移參數(shù),時(shí)移參數(shù)中最大 時(shí)移緩沖區(qū)和當(dāng)前已有時(shí)移緩沖區(qū)大小都是可選的??蛻舳说玫竭@些參數(shù)后, 可以校準(zhǔn)本地的時(shí)移參數(shù)和進(jìn)度條,同時(shí)維護(hù)時(shí)移進(jìn)度條的狀態(tài),具體過(guò)程
如下:
在時(shí)移狀態(tài),客戶端自行維護(hù)時(shí)移進(jìn)度條。例如根據(jù)當(dāng)前時(shí)間繼續(xù)對(duì) 時(shí)移進(jìn)度條做時(shí)間累計(jì),并不斷與最大時(shí)移緩沖區(qū)進(jìn)行比較,判斷時(shí)移緩沖 區(qū)是否會(huì)溢出;時(shí)移進(jìn)度條的上邊界隨當(dāng)前時(shí)間(直播點(diǎn))而移動(dòng);緩沖區(qū) 溢出前,進(jìn)度條下邊界不變,緩沖區(qū)溢出后下邊界也要隨上邊界一起平移; 如果當(dāng)前處于暫停狀態(tài),還需要維護(hù)暫停點(diǎn)與時(shí)移進(jìn)度條的位置關(guān)系,指示 暫停點(diǎn)在可時(shí)移范圍內(nèi)還是外,暫停點(diǎn)與時(shí)移進(jìn)度條的時(shí)間關(guān)系,以指示是 否能夠從暫停點(diǎn)再繼續(xù)播放;等等。
在上述操作完成后,客戶端可以選擇回到直播流的直播狀態(tài),轉(zhuǎn)入步驟 S105。
步驟S105、返回直播狀態(tài),并繼續(xù)時(shí)移進(jìn)度條。
通過(guò)一鍵到位、快進(jìn)、定位等方式可返回到直播點(diǎn)。返回到直播狀態(tài)后, 客戶端仍要繼續(xù)維護(hù)時(shí)移進(jìn)度條,方法同步驟S103所述。
需要進(jìn)一步指出的是,在返回直播狀態(tài)后,還可以再通過(guò)暫停、快退或 定位進(jìn)入到時(shí)移狀態(tài),由于時(shí)移進(jìn)度條在返回直播狀態(tài)后被繼續(xù)維護(hù),所以 無(wú)需再重新創(chuàng)建時(shí)移進(jìn)度條,轉(zhuǎn)入步驟S104。
步驟S106、暫停直播流。
在接入直播流的過(guò)程中,獲取的時(shí)移參數(shù)中包含支持時(shí)移和最大時(shí)移緩 沖區(qū)大小,但沒(méi)有包含當(dāng)前已有時(shí)移緩沖區(qū)大小,則服務(wù)器支持的是手動(dòng)時(shí) 移,這種情況下,在接入直播后沒(méi)有時(shí)移進(jìn)度條生成,需要暫停操作才能激 活時(shí)移進(jìn)度條的生成。
客戶端在直播狀態(tài)下發(fā)起暫停請(qǐng)求,服務(wù)器響應(yīng)中時(shí)移頭及其各參數(shù)均 為可選。
需要進(jìn)一步指出的是,根據(jù)實(shí)際設(shè)置,手動(dòng)時(shí)移;漠式下的客戶端也可以 在本步驟中進(jìn)行時(shí)移參數(shù)的獲取,即服務(wù)器在本步驟中的暫停請(qǐng)求的響應(yīng)信息中攜帶時(shí)移參數(shù),從而客戶端獲取最大時(shí)移緩沖區(qū)大小的信息,這種獲取
參數(shù)時(shí)間的調(diào)整同樣屬于本發(fā)明的保護(hù)范圍。
步驟S107、根據(jù)時(shí)移參數(shù)創(chuàng)建并維護(hù)直播流的時(shí)移進(jìn)度條。 客戶端收到暫停響應(yīng)后,創(chuàng)建時(shí)移進(jìn)度條,同時(shí)進(jìn)入時(shí)移狀態(tài),在時(shí)移
狀態(tài),根據(jù)最大時(shí)移緩沖區(qū)的值和本地時(shí)間維護(hù)其狀態(tài)例如,在收到暫停 響應(yīng)時(shí),當(dāng)前已有時(shí)移緩沖區(qū)長(zhǎng)度為0,從此基礎(chǔ)上開(kāi)始累計(jì),累計(jì)到等于或 大于最大時(shí)移緩沖區(qū),認(rèn)為時(shí)時(shí)移緩沖區(qū)溢出;時(shí)移進(jìn)度條的上邊界隨時(shí)間 (直播點(diǎn))前進(jìn),暫停點(diǎn)是時(shí)移進(jìn)度條的一個(gè)起始位置,可看作是進(jìn)度條的 一個(gè)參考點(diǎn),時(shí)移緩沖區(qū)溢出前,它是進(jìn)度條的下邊界,時(shí)移緩沖區(qū)溢出后, 隨著進(jìn)度條的平移,它和進(jìn)度條的距離也隨時(shí)間在加大。
上述時(shí)移進(jìn)度條創(chuàng)建完畢后,轉(zhuǎn)入步驟S108。
步驟S108、在時(shí)移進(jìn)度條指示的范圍內(nèi)操作。
在時(shí)移狀態(tài)下,客戶端可在時(shí)移范圍內(nèi)進(jìn)行時(shí)移操作,包括暫停、播放、 停止、快進(jìn)、快退、定位等操作。
如前所述,在手動(dòng)時(shí)移模式下,則只能通過(guò)暫停來(lái)進(jìn)入時(shí)移模式,生成 時(shí)移進(jìn)度條。
通過(guò)上述操作,在時(shí)移進(jìn)度條中的當(dāng)前播放點(diǎn)不再一定對(duì)應(yīng)直播流的直 播點(diǎn),假設(shè)時(shí)移進(jìn)度條的上邊界為tl,在play響應(yīng)中得到當(dāng)前播放點(diǎn)的時(shí)間 為t2,則當(dāng)前播放點(diǎn)在時(shí)移進(jìn)度條上與上邊界的距離為(tl-t2),始終等于 當(dāng)點(diǎn)播放的時(shí)間與直播點(diǎn)之間的時(shí)間差。
服務(wù)器在上述的請(qǐng)求響應(yīng)中可選擇是否攜帶時(shí)移參數(shù),時(shí)移參數(shù)中最大 時(shí)移緩沖區(qū)是可選的??蛻舳说玫竭@些參數(shù)后,可以校準(zhǔn)本地的時(shí)移參數(shù)和 進(jìn)度條,同時(shí)維護(hù)時(shí)移進(jìn)度條的狀態(tài),具體過(guò)程如下
在時(shí)移狀態(tài),客戶端自行維護(hù)時(shí)移進(jìn)度條。例如根據(jù)當(dāng)前時(shí)間繼續(xù)對(duì) 時(shí)移進(jìn)度條做時(shí)間累計(jì),并不斷與最大時(shí)移緩沖區(qū)進(jìn)行比較,判斷時(shí)移緩沖 區(qū)是否會(huì)溢出;時(shí)移進(jìn)度條的上邊界隨當(dāng)前時(shí)間(直播點(diǎn))而移動(dòng);緩沖區(qū) 溢出前,進(jìn)度條下邊界不變,緩沖區(qū)溢出后下邊界也要隨上邊界一起平移; 如果當(dāng)前處于暫停狀態(tài),還需要維護(hù)暫停點(diǎn)與時(shí)移進(jìn)度條的位置關(guān)系,指示暫停點(diǎn)在可時(shí)移范圍內(nèi)還是外,暫停點(diǎn)與時(shí)移進(jìn)度條的時(shí)間關(guān)系,以指示是
否能夠從暫停點(diǎn)再繼續(xù)播放;等等。
在上述操作完成后,客戶端可以選擇回到直播流的直播狀態(tài),轉(zhuǎn)入步驟
S109。
步驟S109、返回直播狀態(tài),繼續(xù)維護(hù)或刪除時(shí)移進(jìn)度條。
恢復(fù)到直播狀態(tài),可刪除時(shí)移進(jìn)度條,下次再暫停之后重新創(chuàng)建,方法 同步驟S107;也可繼續(xù)維持時(shí)移進(jìn)度條,方法同步驟S108。
在本步驟完成之后,即返回直播狀態(tài)后,如果用戶希望重新進(jìn)入時(shí)移狀 態(tài),則根據(jù)本步驟中對(duì)時(shí)移狀態(tài)條的操作結(jié)果,分為以下兩種情況
如果本步驟中采用的操作是刪除時(shí)移進(jìn)度條時(shí),轉(zhuǎn)入步驟S106;
通過(guò)步驟S106的暫停操作激活時(shí)移狀態(tài)條的創(chuàng)建流程,重新創(chuàng)建時(shí)移進(jìn) 度條。
由于在之前的步驟中已經(jīng)獲得過(guò)創(chuàng)建時(shí)移進(jìn)度條所需的參數(shù)信息,如果 時(shí)移參數(shù)信息被保留,則本步驟可以直接進(jìn)入創(chuàng)建時(shí)移進(jìn)度條的流程;如果 未被保留,則客戶端在直播狀態(tài)下發(fā)起暫停請(qǐng)求,服務(wù)器響應(yīng)中反饋時(shí)移頭 及其各參數(shù),用以建立時(shí)移進(jìn)度條。
如果本步驟中采用的操作是繼續(xù)維護(hù)時(shí)移進(jìn)度條時(shí),轉(zhuǎn)入步驟SllO。 步驟SllO、暫停直播流。
通過(guò)本步驟進(jìn)入時(shí)移狀態(tài),從而可以返回步驟S108,在時(shí)移進(jìn)度條指示 的范圍內(nèi)進(jìn)行操作。
需要進(jìn)一步指出的是,根據(jù)實(shí)際設(shè)置,上述步驟中,客戶端從服務(wù)器接 收的每次消息反饋都可以包含具體的時(shí)移參數(shù),用以維護(hù)、校對(duì)和調(diào)整時(shí)移 進(jìn)度條,這同樣屬于本發(fā)明的保護(hù)范圍。
下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述
本發(fā)明實(shí)施例一,通過(guò)在RTSP中擴(kuò)展Time-shift頭來(lái)傳遞時(shí)移參數(shù)的時(shí) 移操作方法。
在本實(shí)施例中,在RTSP中定義Time-shift頭,攜帶的信息包括是否支持 時(shí)移、最大時(shí)移緩沖區(qū)以及當(dāng)前已有的緩沖區(qū)長(zhǎng)度,通過(guò)兩個(gè)參數(shù)實(shí)現(xiàn)最大時(shí)移緩沖區(qū)和當(dāng)前已有時(shí)移緩沖區(qū),用在Play或Pause響應(yīng)中。其語(yǔ)法格 式如下
Time-shift ="Time-shift": parameter CRLF parameter = ";""Max—buff' l*valuel
/";" "Curr—buff" ("=" l*valuel)/ (":""time-type""=" l*time "-"l*time) valuel = l*nDIGIT["."fraction] ; s ( nX),整數(shù)) time-type = "npt" / "clock"/"smpte"
time = NPT-time/ Absolute time/ SMPTE Relative Timestamps
其中,Max-buff和Curr-buff都是以時(shí)間秒為單位,都可以用 一個(gè)值表示 一段時(shí)間,此值以當(dāng)前直播點(diǎn)為起始點(diǎn),表示向前的一段時(shí)間;另外Cur-buff 也可以是由一個(gè)開(kāi)始時(shí)間和一個(gè)結(jié)束時(shí)間構(gòu)成的一個(gè)時(shí)間段信息,這種方式 又可以使用RTSP中的三種時(shí)間表示方法來(lái)表示NPT-time、 Absolute time和 SMPTE Relative Timestamps 。
下面分別舉例i兌明。 (1 )用一個(gè)時(shí)間值的表示方法
Max-buff=3600, Curr-buff=1000 (2 ) Curr-buff用兩個(gè)值表示的方法
NPT-time: Max-buff=3600 Curr-buff: npt=500.5-1500; 〃和range用相同的 NPT相對(duì)0點(diǎn)
Absolute time: Max-buff=3600 Curr-buff :clock= 20071108T143720.25Z-200 71108T145010.65Z
SMPTE: Max-buff=3600 Curr-buff : smpte=10:07:00-10:37:33:05.01〃和 range使用相同的SMPTE相對(duì)0點(diǎn)
上述Time-shift頭及兩個(gè)參數(shù)的含義和使用方法
在客戶端接入直播流時(shí),如果play響應(yīng)中沒(méi)有攜帶Time-shift頭,則表 示服務(wù)器不支持時(shí)移業(yè)務(wù),反之,表示服務(wù)器支持時(shí)移業(yè)務(wù)。 Time-shift頭內(nèi)部參數(shù)的具體含義如下
(1) Max-buff: Max-buff等于0,表示不支持;Max-buff不等于0,表示支持時(shí)移,時(shí)移的最大緩沖區(qū)等于Max-buff。
(2) Curr-buff:含義與當(dāng)前狀態(tài)(直播/時(shí)移)有關(guān)。在接入直播流時(shí), 如果在play響應(yīng)中攜帶了 Time-shift頭,但沒(méi)有Curr-buff項(xiàng),則表示需要用 戶按暫停鍵才能觸發(fā)時(shí)移進(jìn)度條創(chuàng)建,進(jìn)入時(shí)移狀態(tài);如果有Curr-buff項(xiàng), 則表示用戶在接入直播流時(shí)即有可用時(shí)移緩沖區(qū),Curr-buff的取值范圍[O, Max-buf],用戶隨時(shí)可以進(jìn)入時(shí)移狀態(tài)。在進(jìn)入時(shí)移狀態(tài)之后,用戶允許有定 位、暫停、前進(jìn)/后退等4喿作,此時(shí)Curr-buff為可選項(xiàng),有這項(xiàng),客戶端則可 用來(lái)修正客戶端當(dāng)前緩沖區(qū)大小值。
客戶端創(chuàng)建時(shí)移進(jìn)度條后,因?yàn)闀r(shí)移緩沖區(qū)一直跟著直播點(diǎn),客戶端可 以根據(jù)初始的已有時(shí)移緩沖區(qū)的大小,自己做時(shí)間累計(jì)實(shí)時(shí)維護(hù)進(jìn)度條的狀 態(tài),當(dāng)已有時(shí)移緩沖區(qū)大小累計(jì)大于或等于最大時(shí)移緩沖區(qū)時(shí),可認(rèn)為服務(wù) 器的時(shí)移緩沖區(qū)開(kāi)始溢出;客戶端自己累計(jì)時(shí)間維護(hù)的時(shí)移進(jìn)度條和服務(wù)器 側(cè)真正的時(shí)移緩沖區(qū)可能會(huì)有差異,也可能最大時(shí)移緩沖區(qū)會(huì)發(fā)生變化,當(dāng) 用戶有如暫停、定位、前進(jìn)/后退等操作時(shí),在play響應(yīng)中返回Max-buff和 Curr-buff,客戶端可用此值來(lái)修正本地的時(shí)移參數(shù),呈現(xiàn)出更精確的進(jìn)度條。
基于上述的time-shift頭,判斷時(shí)移模式后的信令及終端處理流程如下
A、自動(dòng)時(shí)移模式處理流程
假設(shè)服務(wù)器支持自動(dòng)時(shí)移,最大時(shí)移緩沖區(qū)為3600秒;通過(guò)RTSP的Play 響應(yīng)獲取到時(shí)移特性參數(shù);客戶端在接入時(shí),已有可用時(shí)移緩沖區(qū)。
如果客戶端不支持時(shí)移,則對(duì)Play響應(yīng)中的Time-shift頭不做處理;如 果客戶端也支持時(shí)移,則需要利用時(shí)移參數(shù)創(chuàng)建并維護(hù)時(shí)移進(jìn)度條。圖3和 圖4分別是自動(dòng)時(shí)移相關(guān)信令處理流程和對(duì)應(yīng)的客戶端的時(shí)移進(jìn)度條的變化, 結(jié)合兩圖,自動(dòng)時(shí)移模式處理流程如下
步驟S301、請(qǐng)求接入直播流。
客戶端在TO時(shí)刻發(fā)起play請(qǐng)求接入到直播節(jié)目,例如,指令內(nèi)容具體為 Play rttp:〃 example.com/contentl.3gp。
步驟S302、接收服務(wù)器的響應(yīng)信息,提取時(shí)移參數(shù)。
如接收響應(yīng)信息為200 OK Session : XXXX Time-shift:Max-buff=3600Curr_buff=400,則表明服務(wù)器響應(yīng)攜帶Time-shift頭,最大時(shí)移緩沖區(qū) Max-buff = 3600秒,已有時(shí)移緩沖區(qū)Curr-buff = 400秒。 步驟S303、根據(jù)時(shí)移參數(shù)創(chuàng)建時(shí)移進(jìn)度條。
客戶端根據(jù)Max-buff和Curr-buff,創(chuàng)建一個(gè)初始的時(shí)移進(jìn)度條,指示出 可在當(dāng)前直播點(diǎn)前400秒內(nèi)進(jìn)行時(shí)移操作。
之后,客戶端需要自己維護(hù)時(shí)移進(jìn)度條的變化,即可時(shí)移的范圍隨時(shí)間 勻速?gòu)腡O增加到Tl時(shí)刻,若時(shí)移緩沖區(qū)有溢出,則進(jìn)度條整體要隨著直播 點(diǎn)時(shí)間平移。
步驟S304、請(qǐng)求暫停直播流。
在T1時(shí)刻,用戶因某種原因按暫停直播流。需要指出的是,暫停是本發(fā) 明所提供的優(yōu)選實(shí)施例,其他可以達(dá)到相同效果的操作,如快退、定位等操 作,也屬于本發(fā)明的保護(hù)范圍。
步驟S305、接收暫停響應(yīng)信息。
如接收響應(yīng)信息為OK Session: XXXX Time—shift : Curr—buffHOOO。 響應(yīng)中的Time-shift及其中的Max-buff和Curr-buff都是可選項(xiàng)。若攜帶 了這兩個(gè)參數(shù),客戶端收到后,和本地使用的參數(shù)值比較,并校正本地參數(shù) 和時(shí)移進(jìn)度條。如圖中T1時(shí)刻,只返回Curr-buff=1000,則客戶端將本地的 Curr-buff校正為1000秒。
步驟S306、根據(jù)時(shí)移進(jìn)度條進(jìn)行直播流操作。
暫停后,進(jìn)入時(shí)移狀態(tài)。在時(shí)移狀態(tài)下,客戶端自行維護(hù)時(shí)移進(jìn)度條, 并支持在時(shí)移范圍內(nèi)的操作,如快進(jìn)、快退、定位、暫停等。 步驟S307、請(qǐng)求返回直播流。 在T2時(shí)刻,客戶端用Play命令請(qǐng)求恢復(fù)到直播。 步驟S308、接收響應(yīng)信息。
如接收響應(yīng)信息為OK Session: XXXX Time—shift: Curr—buff=1800, 在play響應(yīng)中,返回Curr-buff=1800秒。
步驟S309,返回直播狀態(tài),維護(hù)時(shí)移進(jìn)度條。
客戶端校準(zhǔn)本地的時(shí)移進(jìn)度條,同時(shí)裝入直播狀態(tài),并繼續(xù)維護(hù)時(shí)移進(jìn)度條。
B、手動(dòng)時(shí)移模式處理流程
假設(shè)服務(wù)器支持手動(dòng)時(shí)移,即客戶端在接入時(shí),沒(méi)有可用時(shí)移緩沖區(qū), 只有當(dāng)用戶暫停時(shí)才觸發(fā)時(shí)移進(jìn)度條的創(chuàng)建;最大時(shí)移緩沖區(qū)為3600秒,通 過(guò)RTSP信令獲得時(shí)移特性參數(shù)。
如果客戶端不支持時(shí)移,則對(duì)Play響應(yīng)中的Time-shift頭不做處理;如 果客戶端也支持時(shí)移,則在暫停之后利用時(shí)移參數(shù)創(chuàng)建并維護(hù)時(shí)移進(jìn)度條。 圖5和圖6分別是手動(dòng)時(shí)移時(shí)相關(guān)信令處理流程和對(duì)應(yīng)的客戶端的時(shí)移進(jìn)度 條。
步驟S501、請(qǐng)求接入直播流。
客戶端在TO時(shí)刻發(fā)起play請(qǐng)求接入到直播節(jié)目,例如,指令內(nèi)容具體為 Play rttp:〃 example.com/contentl .3gp。
步驟S502、接收服務(wù)器的響應(yīng)信息,提取時(shí)移參數(shù)。
月艮務(wù)器響應(yīng)攜帶Time-shift頭,如接收響應(yīng)信息為200 OK Session : XXXX Time-shift:Max-buff=3600,最大時(shí)移緩沖區(qū)Max-buff = 3600秒???戶端根據(jù)響應(yīng)信息中沒(méi)有攜帶當(dāng)前已有時(shí)移大小Curr-buff,可判斷出服務(wù)器 支持的是手動(dòng)時(shí)移,所以進(jìn)入直播狀態(tài)而不需要維護(hù)時(shí)移進(jìn)度條。
步驟S503、直播狀態(tài)下播放。
步驟S504、請(qǐng)求暫停直播流。
直到Tl時(shí)刻,客戶端發(fā)起暫停請(qǐng)求。
步驟S505、接收暫停響應(yīng)信息。
如接收響應(yīng)信息為OK Session: XXXX Time—shift : Curr—buff=0。 響應(yīng)中返回的Curr-buff為可選項(xiàng)。 步驟S506、根據(jù)時(shí)移參數(shù)創(chuàng)建時(shí)移進(jìn)度條。
客戶端已知是手動(dòng)時(shí)移,則在收到暫停響應(yīng)后自行創(chuàng)建一條時(shí)移進(jìn)度條, 起始的Curr-buff為0,同時(shí)進(jìn)入時(shí)移狀態(tài),并開(kāi)始維護(hù)時(shí)移進(jìn)度條,進(jìn)度條 累計(jì)增加,上邊界隨時(shí)間移動(dòng),當(dāng)增加到大于或等于時(shí)移最大緩沖區(qū)時(shí),認(rèn) 為緩沖區(qū)溢出,對(duì)應(yīng)的進(jìn)度條整體隨時(shí)間平移。顯示暫停點(diǎn)和時(shí)移進(jìn)度條的時(shí)間關(guān)系,以提示用戶是否可以從暫停點(diǎn)開(kāi)始繼續(xù)播放。
步驟S507、在時(shí)移狀態(tài)下,在時(shí)移進(jìn)度條范圍內(nèi)進(jìn)行才喿作。
在T2時(shí)刻,/人暫停點(diǎn)恢復(fù)播;改或進(jìn)行其它定位4喿作,在響應(yīng)中返回
Curr-buffHOOO,客戶端根據(jù)此參數(shù)對(duì)本地的時(shí)移參數(shù)和進(jìn)度條進(jìn)行校正,繼
續(xù)維護(hù)時(shí)移進(jìn)度條。
步驟S508、請(qǐng)求返回直播流。
在T3時(shí)刻,客戶端請(qǐng)求返回直播。
步驟S509、接收響應(yīng)信息。
如接收響應(yīng)信息為OK Session: XXXX Time—shift: Curr—buff=1800, 在play響應(yīng)中,返回Curr-buf—1800秒。
步驟S510、收到響應(yīng)后,客戶端取消時(shí)移進(jìn)度條,時(shí)移進(jìn)度條長(zhǎng)度變?yōu)?br> 本發(fā)明實(shí)施例二,通過(guò)SDP獲取到是否支持時(shí)移以及時(shí)移最大緩沖區(qū)的 時(shí)移使用方法。
為此需要在SDP中擴(kuò)展一個(gè)屬性Timeshift,該屬性只能應(yīng)用在會(huì)話層, 其格式如下
a = Timeshift:〈Timeshift—Maxbuff>
Timeshift—Maxbuff = 1*value; s
value = l*n DIGIT ["."fraction]; s ( n〉0,整數(shù))
其中Timeshift—Maxbuff以秒為單位,具體含義為:
(1 )如果SDP中沒(méi)有a = timeshift這一屬性或指示a = timeshift:O,則表 示不支持時(shí)移業(yè)務(wù)
(2 ) 如果 SDP 指示 a = timeshift:<Timeshift_Maxbuff>,且 Timeshift—Maxbuff !=0 ,則表示支持時(shí)移,時(shí)移的最大緩沖區(qū)為 Timeshift—Maxbuff秒。
為方使j兌明,舉例》。下 v=0o=ghost 2890844526 2890842807 IN IP4 192.168.10,10
s=3GPP Unicast SDP Example
i=Example of Unicast SDP file
u=http:〃www.infoserver.com/ae600
e=ghost@mailserver.com
c=IN IP4 0.0.0.0
t=0 0
a=range:npt=now-〃表示是直播節(jié)目
a=timeshift:3600 〃支持時(shí)移,時(shí)移最大緩沖區(qū)3600s
〃a=timeshift:0 〃不支持時(shí)移
客戶端通過(guò)SDP獲取到是否支持時(shí)移和最大時(shí)移緩沖區(qū),仍需使用實(shí)施 例1中RTSP的擴(kuò)展頭time-shift中的Curr-buff項(xiàng),Max-buff項(xiàng)可不用。
基于上述擴(kuò)展Timeshift屬性的SDP指令,判斷時(shí)移模式后的信令及終端 處理流程與上述的本發(fā)明實(shí)施例一類似,不再另行詳述。
如果SDP和RTSP發(fā)生矛盾,以最新獲得的參數(shù)為準(zhǔn)。如SDPfile中給 出了最大時(shí)移緩沖區(qū)的值,在RTSP的Play請(qǐng)求中也給出了該值,但二者不 一致,因?yàn)镽TSP比SDP file在時(shí)間上更新,所以以RTSP為準(zhǔn);客戶端已經(jīng) 通過(guò)SDP獲取到時(shí)移緩沖區(qū)最大值,接入時(shí)RTSP中沒(méi)有攜帶time-shift頭, 則客戶端認(rèn)為服務(wù)器支持時(shí)移,但需要用戶暫停后才能觸發(fā)時(shí)移進(jìn)度條的創(chuàng) 建。
如圖7所示,為本發(fā)明實(shí)施例三, 一種時(shí)移操作裝置的結(jié)構(gòu)示意圖,包

參數(shù)獲取模塊1 ,用于獲取直播流的時(shí)移參數(shù);
進(jìn)度條生成模塊2,用于根據(jù)參數(shù)獲取模塊1獲得的時(shí)移參數(shù)創(chuàng)建直播流 的時(shí)移進(jìn)度條;
時(shí)移操作模塊3,用于在進(jìn)度條生成模塊2生成的時(shí)移進(jìn)度條指示的范圍 內(nèi)進(jìn)行操作。其中,參數(shù)獲取模塊l,具體包括
請(qǐng)求發(fā)送子模塊11,用于發(fā)送接入直播流的請(qǐng)求; 參數(shù)獲取子模塊12,用于接收請(qǐng)求發(fā)送子模塊11發(fā)送請(qǐng)求的響應(yīng)信息, 并獲取時(shí)移參數(shù);
模式判斷子模塊13,用于根據(jù)參數(shù)獲取子模塊12獲取的時(shí)移參數(shù)判斷時(shí) 移模式。
其中,參數(shù)獲取模塊l,還包括
文件下載子模塊14,用于在接入直播流之前下載SDP文件。 其中,進(jìn)度條生成模塊2,具體包括 激活子模塊21,用于激活生成時(shí)移進(jìn)度條的操作; 第一維護(hù)子模塊22,用于維護(hù)時(shí)移進(jìn)度條。 其中,時(shí)移操作模塊3,具體包括
第二維護(hù)子模塊31,用于在進(jìn)行時(shí)移操作后,根據(jù)時(shí)移參數(shù)維護(hù)時(shí)移進(jìn) 度條。
刪除子模塊32,用于在手動(dòng)時(shí)移模式下,返回直播流后,刪除時(shí)移進(jìn)度

本發(fā)明實(shí)施例的技術(shù)方案具有以下優(yōu)點(diǎn),因?yàn)椴捎昧艘环N時(shí)移使用方法 和裝置,從而,將服務(wù)器所支持的時(shí)移能力及時(shí)移緩沖區(qū)當(dāng)前狀態(tài)通知客戶 端,使客戶端能夠?qū)r(shí)移進(jìn)度條及其實(shí)時(shí)狀態(tài)變化呈現(xiàn)給用戶,達(dá)到了加強(qiáng) 用戶時(shí)移操作的易用性、準(zhǔn)確性,改善用戶使用體驗(yàn)的效果。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本 發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬 件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技 術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體 現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使 得一臺(tái)終端設(shè)備(可以是手機(jī),個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等) 執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn) 和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種時(shí)移操作方法,其特征在于,包括以下步驟獲取直播流的時(shí)移參數(shù);根據(jù)所述時(shí)移參數(shù)創(chuàng)建并維護(hù)所述直播流的時(shí)移進(jìn)度條;在所述時(shí)移進(jìn)度條指示的范圍內(nèi)進(jìn)行操作。
2、 如權(quán)利要求1所述時(shí)移操作方法,其特征在于,所述獲取直播流的時(shí) 移參數(shù),具體為通過(guò)實(shí)時(shí)控制協(xié)議RTSP請(qǐng)求接入所述直播流,并接收攜帶時(shí)移參數(shù)的響 應(yīng),獲取所述直播流的時(shí)移參數(shù);或,通過(guò)請(qǐng)求會(huì)話描述協(xié)議SDP,并接收攜帶時(shí)移參數(shù)的所述SDP的響應(yīng), 獲取所述直播流的時(shí)移參數(shù);或,在所述請(qǐng)求接入直播流之前,獲取包含所述直播流的時(shí)移參數(shù)的SDP文件。
3、 如權(quán)利要求1所述時(shí)移操作方法,其特征在于,所述時(shí)移參數(shù),具體 包括是否時(shí)移、最大時(shí)移緩沖區(qū)大小和當(dāng)前已有時(shí)移緩沖區(qū)大?。换?, 是否時(shí)移、最大時(shí)移緩沖區(qū)大小。
4、 如權(quán)利要求3所述時(shí)移操作方法,其特征在于, 在接入直播流時(shí),服務(wù)器返回的所述時(shí)移參數(shù)包含當(dāng)前已有時(shí)移緩沖區(qū)大小時(shí),為自動(dòng)時(shí)移模式;在接入直播流時(shí),服務(wù)器返回的所述時(shí)移參數(shù)不包含當(dāng)前已有時(shí)移緩沖 區(qū)大小時(shí),為手動(dòng)時(shí)移^^莫式。
5、 如權(quán)利要求4所述時(shí)移操作方法,其特征在于,當(dāng)所述時(shí)移操作方法 為自動(dòng)時(shí)移模式時(shí),所述根據(jù)時(shí)移參數(shù)創(chuàng)建所述直播流的時(shí)移進(jìn)度條,具體 為當(dāng)請(qǐng)求接入所述直播流時(shí),以所述直播流的直播點(diǎn)對(duì)應(yīng)的時(shí)間為所述時(shí) 移進(jìn)度條的上邊界,并根據(jù)所述直播流的直播點(diǎn)對(duì)應(yīng)的時(shí)間和所述時(shí)移參數(shù) 中當(dāng)前已有時(shí)移緩沖區(qū)大小確定所述時(shí)移進(jìn)度條的下邊界,由此創(chuàng)建所述直播流的時(shí)移進(jìn)度條。
6、 如權(quán)利要求5所述時(shí)移操作方法,其特征在于,在所述時(shí)移進(jìn)度條中, 當(dāng)前播放點(diǎn)為所述直播流的直播點(diǎn),對(duì)應(yīng)所述時(shí)移進(jìn)度條的上邊界,所述維 護(hù)直播流的時(shí)移進(jìn)度條,具體為比較所述時(shí)移進(jìn)度條大小和所述最大時(shí)移緩沖區(qū)大?。?當(dāng)所述時(shí)移進(jìn)度條大小小于所述最大時(shí)移緩沖區(qū)大小時(shí),所述下邊界不變,所述上邊界隨所述直播流的直播點(diǎn)移動(dòng);或,當(dāng)所述時(shí)移進(jìn)度條大小大于或等于所述最大時(shí)移緩沖區(qū)大小時(shí),所述下邊界和所述上邊界隨所述直播流的直播點(diǎn)移動(dòng),以保證所述時(shí)移進(jìn)度條的下邊界與上邊界之間的大小等于所述最大時(shí)移緩沖區(qū)大小。
7、 如權(quán)利要求4所述時(shí)移操作方法,其特征在于,當(dāng)所述時(shí)移操作方法 為手動(dòng)時(shí)移模式時(shí),所述根據(jù)時(shí)移參數(shù)創(chuàng)建并維護(hù)所述直播流的時(shí)移進(jìn)度條, 具體為暫停所述直播流;創(chuàng)建并維護(hù)所述直播流的時(shí)移進(jìn)度條。
8、 如權(quán)利要求7所述時(shí)移操作方法,其特征在于,所述創(chuàng)建并維護(hù)直播 流的時(shí)移進(jìn)度條,具體為以所述暫停點(diǎn)為所述時(shí)移進(jìn)度條的下邊界,以所述直播流的直播點(diǎn)為所 述時(shí)移進(jìn)度條的上邊界,生成所述時(shí)移進(jìn)度條;比較所述時(shí)移進(jìn)度條大小和所述最大時(shí)移緩沖區(qū)大小;當(dāng)所述時(shí)移進(jìn)度條大小小于所述最大時(shí)移緩沖區(qū)大小時(shí),所述下邊界不 變,所述上邊界隨所述直播流的直播點(diǎn)移動(dòng);或,當(dāng)所述時(shí)移進(jìn)度條大小大于或等于所述最大時(shí)移緩沖區(qū)大小時(shí),所述下 邊界和所述上邊界隨所述直播流的直播點(diǎn)移動(dòng),以保證所述時(shí)移進(jìn)度條的下 邊界與上邊界之間的大小等于所述最大時(shí)移緩沖區(qū)大小。
9、 如權(quán)利要求1所述時(shí)移操作方法,其特征在于,所述在時(shí)移進(jìn)度條指 示的范圍內(nèi)進(jìn)行操作,具體為在所述時(shí)移進(jìn)度條指示的范圍內(nèi),進(jìn)行暫停、播放、停止、快進(jìn)、快退、定位、或返回直播狀態(tài)中的至少一種操作。
10、 如權(quán)利要求9所述時(shí)移操作方法,其特征在于,所述在所述時(shí)移進(jìn)度條指示的范圍內(nèi)進(jìn)行"t喿作,還包括 繼續(xù)維護(hù)所述時(shí)移進(jìn)度條。
11、 如權(quán)利要求IO所述時(shí)移操作方法,其特征在于,所述繼續(xù)維護(hù)所述 時(shí)移進(jìn)度條,具體包括比較所述時(shí)移進(jìn)度條大小和所述最大時(shí)移緩沖區(qū)大??; 當(dāng)所述時(shí)移進(jìn)度條大小小于所述最大時(shí)移緩沖區(qū)大小時(shí),所述時(shí)移進(jìn)度 條的下邊界不變,所述時(shí)移進(jìn)度條的上邊界隨所述直播流的直播點(diǎn)移動(dòng);或, 當(dāng)所述時(shí)移進(jìn)度條大小大于或等于所述最大時(shí)移緩沖區(qū)大小時(shí),所述時(shí) 移進(jìn)度條的下邊界和上邊界隨所述直播流的直播點(diǎn)移動(dòng),以保證所述時(shí)移進(jìn) 度條的下邊界與上邊界之間的大小等于所述最大時(shí)移緩沖區(qū)大小。
12、 如權(quán)利要求11所述時(shí)移操作方法,其特征在于,所述繼續(xù)維護(hù)所述 時(shí)移進(jìn)度條,還包括維護(hù)當(dāng)前播放點(diǎn)在所述時(shí)移進(jìn)度條中與當(dāng)前播放點(diǎn)在直 播流中時(shí)間的對(duì)應(yīng)關(guān)系,具體為保持所述當(dāng)前播放點(diǎn)與所述時(shí)移進(jìn)度條的上邊界之間的時(shí)間差等于所述 當(dāng)前播放點(diǎn)所對(duì)應(yīng)的時(shí)間與所述直播流的直播點(diǎn)所對(duì)應(yīng)的時(shí)間之間的時(shí)間 差。
13、 如權(quán)利要求4或9所述時(shí)移操作方法,其特征在于, 當(dāng)所述時(shí)移操作方法為自動(dòng)時(shí)移模式時(shí),所述返回直播狀態(tài),具體為 返回直播流的直播點(diǎn),繼續(xù)維護(hù)所述時(shí)移進(jìn)度條;當(dāng)所述時(shí)移操作方法為手動(dòng)時(shí)移模式時(shí),所述返回直播狀態(tài),具體為返回直播流的直播點(diǎn),繼續(xù)維護(hù)或刪除所述時(shí)移進(jìn)度條。
14、 如權(quán)利要求13所述時(shí)移操作方法,其特征在于,當(dāng)所述時(shí)移操作方 法為自動(dòng)時(shí)移模式時(shí),所述返回直播狀態(tài),之后還包括在所述繼續(xù)維護(hù)的時(shí)移進(jìn)度條指示的范圍內(nèi)進(jìn)行操作;
15、 如權(quán)利要求13所述時(shí)移操作方法,其特征在于,當(dāng)所述時(shí)移操作方 法為手動(dòng)時(shí)移模式時(shí),所述返回直播狀態(tài),之后還包括當(dāng)所述返回直播狀態(tài)為繼續(xù)維護(hù)所述時(shí)移進(jìn)度條時(shí),暫停所述直播流, 在所述繼續(xù)維護(hù)的時(shí)移進(jìn)度條指示的范圍內(nèi)進(jìn)行操作;或,當(dāng)所述返回直播狀態(tài)為刪除所述時(shí)移進(jìn)度條時(shí),暫停所述直播流,重新 創(chuàng)建時(shí)移進(jìn)度條,在所述重新創(chuàng)建的時(shí)移進(jìn)度條指示的范圍內(nèi)進(jìn)行操作。
16、 一種時(shí)移纟喿作裝置,其特征在于,包括 參數(shù)獲取模塊,用于獲取直播流的時(shí)移參數(shù);進(jìn)度條生成模塊,用于根據(jù)所述參數(shù)獲取模塊獲得的時(shí)移參數(shù)創(chuàng)建所述 直播流的時(shí)移進(jìn)度條;時(shí)移操作模塊,用于在所述進(jìn)度條生成模塊生成的時(shí)移進(jìn)度條指示的范 圍內(nèi)進(jìn)行操作。
17、 如權(quán)利要求16所述時(shí)移操作裝置,其特征在于,所述參數(shù)獲取模塊, 具體包括請(qǐng)求發(fā)送子模塊,用于發(fā)送接入直播流的請(qǐng)求;參數(shù)獲取子模塊,用于接收攜帶時(shí)移參數(shù)的響應(yīng)信息,并獲取時(shí)移參數(shù); 模式判斷子模塊,用于根據(jù)所述參數(shù)獲取子模塊獲取的時(shí)移參數(shù)判斷時(shí) 移模式。
18、 如權(quán)利要求16所述時(shí)移操作裝置,其特征在于,所述參數(shù)獲取模塊, 還包括文件下載子模塊,用于在接入直播流之前下載SDP文件。
19、 如權(quán)利要求16所述時(shí)移操作裝置,其特征在于,所述進(jìn)度條生成模 塊,具體包括激活子模塊,用于激活生成時(shí)移進(jìn)度條的操作; 第一維護(hù)子^t塊,用于維護(hù)所述時(shí)移進(jìn)度條。
20、 如權(quán)利要求16所述時(shí)移操作裝置,其特征在于,所述時(shí)移操作模塊, 具體包括第二維護(hù)子模塊,用于在進(jìn)行時(shí)移操作后,根據(jù)時(shí)移參數(shù)維護(hù)所述時(shí)移進(jìn)度條;刪除子模塊,用于在手動(dòng)時(shí)移模式下,返回所述直播流的直播狀態(tài)后, 刪除所述時(shí)移進(jìn)度條。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種時(shí)移操作方法和裝置。所述一種時(shí)移操作方法,包括以下步驟獲取直播流的時(shí)移參數(shù);根據(jù)所述時(shí)移參數(shù)創(chuàng)建并維護(hù)所述直播流的時(shí)移進(jìn)度條;在所述時(shí)移進(jìn)度條指示的范圍內(nèi)進(jìn)行操作。通過(guò)應(yīng)用本發(fā)明,使服務(wù)器所支持的時(shí)移能力及時(shí)移緩沖區(qū)當(dāng)前狀態(tài)通知客戶端,使客戶端能夠?qū)r(shí)移進(jìn)度條及其實(shí)時(shí)狀態(tài)變化呈現(xiàn)給用戶,達(dá)到了加強(qiáng)用戶時(shí)移操作的易用性、準(zhǔn)確性,改善用戶使用體驗(yàn)的效果。
文檔編號(hào)H04N5/00GK101552796SQ20081009023
公開(kāi)日2009年10月7日 申請(qǐng)日期2008年3月31日 優(yōu)先權(quán)日2008年3月31日
發(fā)明者馮江平, 尹月靜, 毅 張, 許志勇 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1