本發(fā)明實施例涉及通信領(lǐng)域,并且更具體地,涉及傳輸流媒體的方法及設(shè)備。
背景技術(shù):流媒體服務(wù)隨著互聯(lián)網(wǎng)的普及得到迅速的發(fā)展,其中一種重要的形式基于HTTP(HyperTextTransferProtocol,超文本傳輸協(xié)議)的流媒體服務(wù),正在成為發(fā)展的趨勢。在基于HTTP的流媒體服務(wù)中,內(nèi)容被按照不同的編碼參數(shù)(例如,分辨率)編碼為多個不同的速率的版本,稱為編碼表達(representation)。編碼表達沿著時間方向被分割為若干媒體片段。媒體片段是HTTP傳輸?shù)臄?shù)據(jù)單位,可以通過URL(UniformResourceLocator,統(tǒng)一資源定位符)唯一地訪問??蛻舳耸紫全@取媒體呈現(xiàn)描述(MediaPresentationDescription,MPD)文件,它是一個元數(shù)據(jù)文件,提供了客戶端如何訪問媒體片段的信息。然后客戶端根據(jù)媒體呈現(xiàn)描述文件中的信息,通過不斷地獲取和處理媒體片段來實現(xiàn)流媒體服務(wù)。當可用帶寬變化時,客戶端相應(yīng)地選擇更高或者更低速率的編碼表達的媒體片段,以適應(yīng)變化的帶寬。媒體片段的索引信息提供媒體片段的元數(shù)據(jù)。全局性的元數(shù)據(jù)包括:媒體片段的起始呈現(xiàn)時間、呈現(xiàn)時間長度、指示媒體片段在媒體表達中的時間位置等;局部性的元數(shù)據(jù)包括:媒體片段的時間長度、媒體片段中有哪些可以訪問的子段(subsegment)、子段的位置如何、子段中是否包含媒體分量的隨機接入點(StreamAccessPoint,SAP)、隨機接入點的時間位置等。媒體片段的索引信息對于編碼表達的切換很重要,客戶端對編碼表達的解碼和處理只能從隨機接入點開始,因此必須在新的編碼表達的媒體片段中找到一個隨機接入點,而舊的編碼表達的下載和譯碼要持續(xù)到該隨機接入點對應(yīng)的時間。在3GPP(3rdGenerationPartnershipProject,第三代合作伙伴計劃)的設(shè)計中,媒體片段的索引信息保存在媒體片段索引單元中,是媒體片段的一部 分。媒體片段的索引信息和媒體片段的其他內(nèi)容一起傳輸,這不是在所有情況都必要的,會造成不必要的數(shù)據(jù)傳輸和帶寬浪費。因為只有切換編碼表達或者進行時間定位操作(seeking),才需要媒體片段的索引信息,否則只需要順序請求下載同一編碼表達中的媒體片段而無需媒體片段的索引信息。
技術(shù)實現(xiàn)要素:本發(fā)明實施例提供了傳輸流媒體的方法和設(shè)備,能夠減少不必要的數(shù)據(jù)傳輸。一方面,提供了一種傳輸流媒體的方法,包括:生成至少一個索引片段,該至少一個索引片段包括至少一個媒體片段的索引信息,且該至少一個索引片段獨立于該至少一個媒體片段;根據(jù)對應(yīng)于該至少一個索引片段的存儲位置信息的生成規(guī)則,生成對應(yīng)于該至少一個索引片段的存儲位置信息;在該存儲位置信息對應(yīng)的存儲位置上存儲該至少一個索引片段,以便客戶端從該存儲位置獲取該至少一個索引片段。另一方面,提供了一種傳輸流媒體的方法,包括:獲取對應(yīng)于至少一個索引片段的存儲位置信息的生成規(guī)則,該至少一個索引片段包括至少一個媒體片段的索引信息,且該至少一個索引片段獨立于該至少一個媒體片段;根據(jù)該生成規(guī)則,生成對應(yīng)于該至少一個索引片段的存儲位置信息;從該存儲位置信息對應(yīng)的存儲位置獲取該至少一個索引片段。另一方面,提供了一種用于傳輸流媒體的設(shè)備,包括:第一生成模塊,用于生成至少一個索引片段,該至少一個索引片段包括至少一個媒體片段的索引信息,且該至少一個索引片段獨立于該至少一個媒體片段;第二生成模塊,用于根據(jù)對應(yīng)于該至少一個索引片段的存儲位置信息的生成規(guī)則,生成對應(yīng)于該至少一個索引片段的存儲位置信息;存儲模塊,用于在該存儲位置信息對應(yīng)的存儲位置上存儲該至少一個索引片段,以便客戶端從該存儲位置獲取該至少一個索引片段。另一方面,提供了一種用于傳輸流媒體的設(shè)備,包括:第一獲取模塊,用于獲取對應(yīng)于至少一個索引片段的存儲位置信息的生成規(guī)則,該至少一個索引片段包括至少一個媒體片段的索引信息,且該至少一個索引片段獨立于該至少一個媒體片段;生成模塊,用于根據(jù)該生成規(guī)則,生成對應(yīng)于該至少一個索引片段的存儲位置信息;第二獲取模塊,用于從該存儲位置信息對應(yīng) 的存儲位置獲取該至少一個索引片段。本發(fā)明實施例通過獨立于媒體片段的索引片段提供媒體片段的索引信息,使得客戶端根據(jù)需要獲取索引片段,從而減少了不必要的數(shù)據(jù)傳輸,節(jié)省了帶寬。附圖說明為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是可應(yīng)用本發(fā)明實施例的系統(tǒng)示意結(jié)構(gòu)圖。圖2是根據(jù)本發(fā)明一個實施例的傳輸流媒體的方法的示意性流程圖。圖3是根據(jù)本發(fā)明一個實施例的傳輸流媒體的方法的示意性流程圖。圖4是根據(jù)本發(fā)明的另一實施例的傳輸流媒體的方法的示意性流程圖。圖5是根據(jù)本發(fā)明的另一實施例的傳輸流媒體的過程的示意性流程圖。圖6A-圖6C是根據(jù)本發(fā)明實施例的索引片段和媒體片段對應(yīng)關(guān)系的示意圖。圖7是根據(jù)本發(fā)明實施例的流媒體切換/定位的示意圖。圖8是本發(fā)明一個實施例的用于傳輸流媒體的設(shè)備的框圖。圖9是本發(fā)明另一實施例的用于傳輸流媒體的設(shè)備的框圖。圖10是本發(fā)明一個實施例的用于傳輸流媒體的設(shè)備的框圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。圖1是可應(yīng)用本發(fā)明實施例的系統(tǒng)示意結(jié)構(gòu)圖。該系統(tǒng)100可包括服務(wù)端110和客戶端120a、120b、120c、120d和120e等(下文統(tǒng)稱為客戶端120)。服務(wù)端110可包括但不限于流媒體服務(wù)器,客戶端120可包括但不限于移動電話120a、便攜式計算機120b、個人數(shù)字助理(PDA)120c、便攜式游 戲機120d和便攜式多媒體機120e。圖1中示出的服務(wù)端110和客戶端120只是示意性的,服務(wù)端110和客戶端120的具體類型不對本發(fā)明的范圍構(gòu)成限制。服務(wù)端110存儲流媒體數(shù)據(jù)和媒體呈現(xiàn)描述文件,其中流媒體數(shù)據(jù)可以是音頻流、視頻流等,媒體呈現(xiàn)描述文件是元數(shù)據(jù)文件,提供了客戶端如何訪問媒體片段的信息??蛻舳?20首先獲取媒體呈現(xiàn)描述文件,根據(jù)媒體呈現(xiàn)描述文件中的信息,客戶端120不斷獲取并處理媒體片段實現(xiàn)流媒體服務(wù)。圖2是根據(jù)本發(fā)明一個實施例的傳輸流媒體的方法的示意性流程圖。圖2的方法由服務(wù)端(例如,圖1中的服務(wù)端110)執(zhí)行。210,生成至少一個索引片段,該至少一個索引片段包括至少一個媒體片段的索引信息,且該至少一個索引片段獨立于該至少一個媒體片段??蛇x地,作為另一實施例,該至少一個媒體片段可以屬于一個編碼表達,或可以屬于多個編碼表達??蛇x地,作為另一實施例,該至少一個索引片段在時間上是連續(xù)的,具有連續(xù)的序號??蛇x地,作為一個實施例,該索引片段還包括以下中的至少一個:該至少一個媒體片段所屬的編碼表達的標識,該至少一個媒體片段的標識,該至少一個媒體片段內(nèi)的子片段的標識。220,根據(jù)對應(yīng)于該至少一個索引片段的存儲位置信息的生成規(guī)則,生成對應(yīng)于該至少一個索引片段的存儲位置信息??蛇x地,作為一個實施例,服務(wù)端可以建立對應(yīng)于該至少一個索引片段的存儲位置信息的生成規(guī)則,但本發(fā)明實施例并不作限制,也可以由其他設(shè)備建立該生成規(guī)則,或者該生成規(guī)則可以是預設(shè)在服務(wù)端中的??蛇x地,作為另一實施例,該生成規(guī)則可通過URL模板進行指示,本發(fā)明實施例不作限制,該生成規(guī)則可通過其它任何方式進行指示。230,在該存儲位置信息對應(yīng)的存儲位置上存儲該至少一個索引片段,以便客戶端從該存儲位置獲取該至少一個索引片段。可選地,作為一個實施例,服務(wù)端可接收該客戶端對于該至少一個索引片段中的特定索引片段的請求,該請求中攜帶對應(yīng)于該特定索引片段的存儲位置信息,并向該客戶端發(fā)送該特定索引片段。本發(fā)明實施例通過獨立于媒體片段的索引片段提供媒體片段的索引信 息,使得客戶端根據(jù)需要獲取索引片段,從而減少了不必要的數(shù)據(jù)傳輸,節(jié)省了帶寬。另外,本發(fā)明實施例可以不改變媒體片段的格式,現(xiàn)有的內(nèi)容準備設(shè)備可以繼續(xù)使用,且現(xiàn)有的編碼表達可以繼續(xù)使用,從而節(jié)省了改造成本。此外,本發(fā)明實施例還可允許更多的元數(shù)據(jù)封裝在索引片段中,從而提高了傳輸效率。圖3是根據(jù)本發(fā)明一個實施例的傳輸流媒體的方法的示意性流程圖。圖3的方法由客戶端(例如,圖1中的客戶端120)執(zhí)行。310,獲取對應(yīng)于至少一個索引片段的存儲位置信息的生成規(guī)則,該至少一個索引片段包括至少一個媒體片段的索引信息,且該至少一個索引片段獨立于該至少一個媒體片段。可選地,作為一個實施例,客戶端可以獲取媒體呈現(xiàn)描述文件,該媒體呈現(xiàn)描述文件攜帶該生成規(guī)則??蛇x地,作為另一實施例,該生成規(guī)則通過URL模板進行指示??蛇x地,作為另一實施例,該至少一個媒體片段可以屬于一個編碼表達,或可以屬于多個編碼表達??蛇x地,作為另一實施例,該至少一個索引片段在時間上是連續(xù)的,具有連續(xù)的序號??蛇x地,作為另一實施例,該至少一個索引片段還包括以下中的至少一個:該至少一個媒體片段所屬的編碼表達的標識,該至少一個媒體片段的標識,該至少一個媒體片段內(nèi)的子片段的標識。320,根據(jù)該生成規(guī)則,生成對應(yīng)于該至少一個索引片段的存儲位置信息。例如,在生成規(guī)則通過URL模板進行指示的情況下,所生成的存儲位置信息可以是URL。330,從該存儲位置信息對應(yīng)的存儲位置獲取該至少一個索引片段??蛇x地,作為一個實施例,客戶端可向服務(wù)端發(fā)送對于該至少一個索引片段中的特定索引片段的請求,該請求中攜帶對應(yīng)于該特定索引片段的存儲位置信息,并接收來自該服務(wù)端的該特定索引片段。本發(fā)明實施例通過獨立于媒體片段的索引片段提供媒體片段的索引信息,使得客戶端根據(jù)需要獲取索引片段,從而減少了不必要的數(shù)據(jù)傳輸,節(jié)省了帶寬。另外,本發(fā)明實施例可以不改變媒體片段的格式,現(xiàn)有的內(nèi)容準備設(shè)備可以繼續(xù)使用,且現(xiàn)有的編碼表達可以繼續(xù)使用,從而節(jié)省了改造成本。此外,本發(fā)明實施例還可允許更多的元數(shù)據(jù)封裝在索引片段中,從而提高了傳輸效率。下面結(jié)合具體例子,更加詳細地描述本發(fā)明的實施例。圖4是根據(jù)本發(fā)明的另一實施例的傳輸流媒體的方法的示意性流程圖。圖4的方法由服務(wù)端(例如,圖1中的服務(wù)端110)執(zhí)行。在圖4中,以URL模板指示索引片段的存儲位置信息的生成規(guī)則為例進行說明。410,生成至少一個索引片段,該至少一個索引片段包括至少一個媒體片段的索引信息,且該至少一個索引片段獨立于該至少一個媒體片段。420,根據(jù)URL模板,生成該至少一個索引片段的URL。430,在該URL對應(yīng)的存儲位置上存儲該至少一個索引片段,以便客戶端從該存儲位置獲取該至少一個索引片段??蛇x地,作為一個實施例,服務(wù)端可接收該客戶端對于該至少一個索引片段中的特定索引片段的請求,該請求中攜帶對應(yīng)于該特定索引片段的URL,并向該客戶端發(fā)送該特定索引片段。440,生成媒體呈現(xiàn)描述文件,該媒體呈現(xiàn)描述文件攜帶URL模板,以便客戶端根據(jù)該URL模板生成索引片段的URL。可選地,作為一個實施例,該媒體呈現(xiàn)描述文件還可攜帶索引片段的時間長度。如果索引片段的時間長度和媒體片段的時間長度是一致的,則只需要在媒體呈現(xiàn)描述文件中說明媒體片段的時間長度,而可以省略索引片段的時間長度。應(yīng)理解,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實施例的實施過程構(gòu)成任何限定。本發(fā)明實施例通過獨立于媒體片段的索引片段提供媒體片段的索引信息,使得客戶端根據(jù)需要獲取索引片段,從而減少了不必要的數(shù)據(jù)傳輸,節(jié)省了帶寬。另外,本發(fā)明實施例可以不改變媒體片段的格式,現(xiàn)有的內(nèi)容準備設(shè)備可以繼續(xù)使用,且現(xiàn)有的編碼表達可以繼續(xù)使用,從而節(jié)省了改造成本。此外,本發(fā)明實施例還可允許更多的元數(shù)據(jù)封裝在索引片段中,從而提高了傳 輸效率。圖5是根據(jù)本發(fā)明的另一實施例的傳輸流媒體的過程的示意性流程圖。501,服務(wù)端生成至少一個索引片段,所述索引片段包括至少一個媒體片段的索引信息,且所述索引片段獨立于所述媒體片段。例如,索引片段可以在時間上連續(xù),有連續(xù)的序號和一定的時間長度。如第一個索引片段的序號為1,第二個為2,依次遞增。每個索引片段描述一個時間范圍內(nèi)一個或多個編碼表達的至少一個媒體片段的索引信息。索引片段可以在結(jié)構(gòu)上有多個層次:編碼表達、媒體片段、子片段,可以包括該至少一個媒體片段所屬的編碼表達的標識、該至少一個媒體片段的標識或該至少一個媒體片段內(nèi)的子片段的標識。例如,如果索引片段只提供一個編碼表達的一個媒體片段的索引信息,則結(jié)構(gòu)上可以作相應(yīng)的簡化,如可以去掉編碼表達、媒體片段對應(yīng)的層次。502,服務(wù)端建立對應(yīng)于所述至少一個索引片段的存儲位置信息的生成規(guī)則。本發(fā)明實施例不限于由服務(wù)端建立該生成規(guī)則,也可以通過其它方式建立該生成規(guī)則。503,根據(jù)生成規(guī)則,生成對應(yīng)于所述至少一個索引片段的存儲位置信息。在存儲位置信息采用URL形式的情況下,該生成規(guī)則可以通過URL模板進行指示。索引片段覆蓋的時間范圍和它的序號是一一對應(yīng)的,可以相互導出,只要用索引片段的序號替代URL模板中的索引元素,就可以得到索引片段的URL。例如,該URL模板可以是一個字符串,其中包含可替代的參數(shù)。例如,“http://abc.example.com/media/indexsegment<index>.idx”,其中<index>表示索引片段序號的替代項,只要用索引片段的序號替代該項,就可以生成索引片段的URL。504,服務(wù)端在存儲位置信息對應(yīng)的存儲位置上存儲所述至少一個索引片段。505,服務(wù)端生成媒體呈現(xiàn)描述文件,該媒體呈現(xiàn)描述文件中攜帶所述至少一個索引片段的存儲位置信息的生成規(guī)則。例如,在生成規(guī)則通過URL模板進行指示的情況下,可以將URL模板包含在媒體呈現(xiàn)描述文件中,表示為媒體呈現(xiàn)描述文件中的屬性項。此外,還可以在媒體呈現(xiàn)描述文件中以顯性的或者隱含的方式指示索引片段的時間長度。如果索引片段的時間長度和媒體片段的時間長度是一致的,則只需要在媒體呈現(xiàn)描述文件中說明媒體片段的時間長度,而索引片段的時間長度可以省略。如前面提到的,索引片段中包含的索引信息可以來自于一個或者多個編碼表達的媒體片段,相應(yīng)地索引片段模板對應(yīng)于一個或者多個編碼表達,這一對應(yīng)關(guān)系反映在索引片段模板在媒體呈現(xiàn)描述文件中的位置。例如:媒體呈現(xiàn)描述文件包含若干編碼表達的集合單元RepresentationSet,后者又包含若干編碼表達以單元Representation,索引片段的URL模板以屬性項@indexSegmentUrlIndex表示,索引片段的時間長度是固定的,以屬性項@indexDuration表示,如果它們屬于一個編碼表達單元,即是該編碼表達單元的屬性項或者是該編碼表達的子單元的屬性項,則該索引片段模板只對應(yīng)于該編碼表達;如果它們屬于表示若干編碼表達的集合的單元RepresentationSet,則它對應(yīng)于這個集合中的所有的編碼表達。506,客戶端從服務(wù)端獲取媒體呈現(xiàn)描述文件??蛇x地,客戶端從服務(wù)端獲取媒體呈現(xiàn)描述文件,不限于通過HTTP的GET操作,也可以通過廣播、郵件等其它方式獲取。應(yīng)注意,雖然圖5的實施例中,客戶端從服務(wù)端獲取媒體呈現(xiàn)描述文件,但是本發(fā)明實施例不限于此,客戶端也可以從其他設(shè)備獲取媒體呈現(xiàn)描述文件。507,客戶端根據(jù)媒體呈現(xiàn)描述文件中攜帶的生成規(guī)則,生成索引片段的存儲位置信息。例如,媒體呈現(xiàn)描述文件中還可攜帶索引片段的時間長度??蛻舳诉€可以根據(jù)媒體呈現(xiàn)描述文件中攜帶的生成規(guī)則和索引片段的時間長度,生成索引片段的存儲位置信息。如果索引片段的時間長度和媒體片段的時間長度是一致的,則只需要在媒體呈現(xiàn)描述文件中說明媒體片段的時間長度,而可以省略索引片段的時間長度。例如,該生成規(guī)則可以通過統(tǒng)一資源定位符模板進行指示,則生成方法與503中的方法類似,為了避免重復,不再詳細描述。508,客戶端向服務(wù)端請求索引片段。例如,當因傳輸帶寬的改變切換編碼表達或客戶端定位操作時,客戶端 向服務(wù)端請求索引片段。在客戶端向服務(wù)端發(fā)送的請求中,可攜帶在步驟507中生成的存儲位置信息。509,服務(wù)端將客戶端請求的索引片段發(fā)送給客戶端。應(yīng)理解,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實施例的實施過程構(gòu)成任何限定。本發(fā)明實施例通過獨立于媒體片段的索引片段提供媒體片段的索引信息,使得客戶端根據(jù)需要獲取索引片段,從而減少了不必要的數(shù)據(jù)傳輸,節(jié)省了帶寬。另外,本發(fā)明實施例可以不改變媒體片段的格式,現(xiàn)有的內(nèi)容準備設(shè)備可以繼續(xù)使用,且現(xiàn)有的編碼表達可以繼續(xù)使用,從而節(jié)省了改造成本。此外,本發(fā)明實施例還可允許更多的元數(shù)據(jù)封裝在索引片段中,從而提高了傳輸效率。圖6A-圖6C是根據(jù)本發(fā)明實施例的索引片段和媒體片段對應(yīng)關(guān)系的示意圖。索引片段的時間長度indexDuration是相同的,最后一個索引片段的時間長度例外,可能小于正常的時間長度。序號為i的索引片段相對于參考時間的起始時間為(i-1)*indexDuration,結(jié)束時間為i*indexDuration。對于最后一個索引片段,其結(jié)束時間為媒體呈現(xiàn)的結(jié)束時間??蛇x地,作為一個實施例,由于索引片段包含來自多個編碼表達的媒體片段的索引信息,各個編碼表達的媒體片段的時間長度可能不同,因此索引片段的時間邊界和媒體片段的時間邊界不一定是對齊的,有些媒體片段部分地落入索引片段的時間范圍,索引片段只記錄這些媒體片段落在索引片段時間范圍內(nèi)的部分的索引信息。例如,在圖6A中,編碼表達A包括媒體片段Seg#1、Seg#2、Seg#3、……、Seg#n。編碼表達B包括媒體片段Seg#1、Seg#2、Seg#3、……、Seg#k。索引表達包括索引片段IndexSeg#1、IndexSeg#2、IndexSeg#3、……、IndexSeg#n。索引片段1包含有媒體片段Seg(A,1)、Seg(B,1)和Seg(B,2)的索引信息,其中Seg(X,i)表示編碼表達X中的第i個媒體片段。n、k為正整數(shù)??蛇x地,作為另一實施例中,如圖6B所示,編碼表達A和編碼表達B分別包括媒體片段Seg#1、Seg#2、Seg#3、……、Seg#n。索引表達包括索引 片段IndexSeg#1、IndexSeg#2、IndexSeg#3、……、IndexSeg#n。編碼表達的媒體片段是時間對齊的,索引片段的時間長度和一個媒體片段長度相同,索引片段包含每個編碼表達中相同時間范圍的一個媒體片段的索引信息,這樣索引片段和被索引的媒體片段的邊界是對齊的。n為正整數(shù)。但是不同編碼表達的媒體片段在時間上對齊是一個很高的要求,不是總能夠滿足??蛇x地,作為另一實施例,如圖6C所示,編碼表達A包括媒體片段Seg#1、Seg#2、Seg#3、……、Seg#n。索引表達包括索引片段IndexSeg#1、IndexSeg#2、IndexSeg#3、……、IndexSeg#n。索引片段僅包含一個編碼表達的一個媒體片段的索引信息,索引片段的時間長度等于媒體片段的時間長度,這樣就不要求不同的編碼表達的媒體片段是時間對齊的。n為正整數(shù)??蛇x地,作為另一實施例,索引片段可以是針對一個編碼表達的,包含來自一個編碼表達的多個媒體片段的信息,索引片段的時間長度是被索引的多個媒體片段的時間長度之和。本發(fā)明實施例通過獨立于媒體片段的索引片段提供媒體片段的索引信息,使得客戶端根據(jù)需要獲取索引片段,從而減少了不必要的數(shù)據(jù)傳輸,節(jié)省了帶寬。圖7是根據(jù)本發(fā)明實施例的流媒體切換/時間定位的示意圖。例如,索引片段的存儲位置信息的生成規(guī)則通過URL模板進行指示??蛻舳烁鶕?jù)該模板相應(yīng)的參數(shù),生成該索引片段的URL。當進行編碼表達的切換或者時間定位操作時,客戶端請求覆蓋指定時間的索引片段,獲取相應(yīng)的媒體片段中隨機接入點的信息和子段的信息,確定準確的切換時間和定位點。例如,如圖7所示,客戶端從編碼表達A切換到編碼表達B,tw是決定進行切換的時間,要在編碼表達B中找到盡可能靠近tw的接入點。客戶端找到包含該時間位置tw的索引片段,其序號為i,生成的URL獲取相應(yīng)的索引片段,查找滿足條件的隨機接入點。由于隨機接入點位置的不確定性,如果在索引片段i沒有找到合適的隨機接入點,可能需要訪問相鄰的索引片段,如索引片段i-1或者索引片段i+1。例如在該實施例中,找到在編碼表達B的媒體片段MS#j的子段中有一個合適的隨機接入點,其時間為ts,在ts進行編碼表達的切換??蛻舳苏埱缶幋a表達A中直到時間點ts的數(shù)據(jù);請求編碼表達B的媒體片段j中從ts開始的數(shù)據(jù)以及后續(xù)的媒體片段;客戶端持續(xù)播放 編碼表達A直到時間ts,然后開始播放編碼表達B的媒體數(shù)據(jù),完成切換。因此,本發(fā)明實施例通過獨立于媒體片段的索引片段提供媒體片段的索引信息,僅在切換或者執(zhí)行時間定位操作時,才請求索引片段,可確定準確的切換時間和定位點,完成切換或時間定位,避免了傳輸不必要的數(shù)據(jù)。圖8是本發(fā)明一個實施例的用于傳輸流媒體的設(shè)備的框圖。圖8的設(shè)備800的一個例子是服務(wù)端(例如,可以是圖1中的服務(wù)端110)。該設(shè)備800包括第一生成模塊810、第二生成模塊820和存儲模塊830。第一生成模塊810生成至少一個索引片段,該至少一個索引片段包括至少一個媒體片段的索引信息,且該至少一個索引片段獨立于該至少一個媒體片段。第二生成模塊820根據(jù)對應(yīng)于該至少一個索引片段的存儲位置信息的生成規(guī)則,生成對應(yīng)于該至少一個索引片段的存儲位置信息。存儲模塊830在該存儲位置信息對應(yīng)的存儲位置上存儲該至少一個索引片段,以便客戶端從該存儲位置獲取該至少一個索引片段。典型地,該存儲模塊是一個HTTP服務(wù)器。本發(fā)明實施例通過獨立于媒體片段的索引片段提供媒體片段的索引信息,使得客戶端根據(jù)需要獲取索引片段,從而減少了不必要的數(shù)據(jù)傳輸,節(jié)省了帶寬。另外,本發(fā)明實施例可以不改變媒體片段的格式,現(xiàn)有的內(nèi)容準備設(shè)備可以繼續(xù)使用,且現(xiàn)有的編碼表達可以繼續(xù)使用,從而節(jié)省了改造成本。此外,本發(fā)明實施例還可允許更多的元數(shù)據(jù)封裝在索引片段中,從而提高了傳輸效率。圖9是本發(fā)明另一實施例的用于傳輸流媒體的設(shè)備的框圖。將省略圖9與圖8中相同或相似的部件的詳細描述,圖9的設(shè)備900和圖8的設(shè)備不同之處在于,設(shè)備900還可以包括接收模塊840和發(fā)送模塊850。接收模塊840可接收該客戶端對于該至少一個索引片段中的特定索引片段的請求,該請求中攜帶對應(yīng)于該特定索引片段的存儲位置信息。發(fā)送模塊850可向該客戶端發(fā)送該特定索引片段。可選地,作為另一實施例,設(shè)備900還包括建立模塊860,用于建立對應(yīng)于該至少一個索引片段的存儲位置信息的生成規(guī)則??蛇x地,作為另一實施例,設(shè)備900還包括第三生成模塊870,用于生成媒體呈現(xiàn)描述文件,該媒體呈現(xiàn)描述文件攜帶所述生成規(guī)則。設(shè)備800和設(shè)備900的其他功能和操作可參照上面圖2、圖4和圖5的方法實施例中涉及服務(wù)端的過程,為避免重復,不再詳細描述。本發(fā)明實施例通過獨立于媒體片段的索引片段提供媒體片段的索引信息,使得客戶端根據(jù)需要獲取索引片段,從而減少了不必要的數(shù)據(jù)傳輸,節(jié)省了帶寬。另外,本發(fā)明實施例可以不改變媒體片段的格式,現(xiàn)有的內(nèi)容準備設(shè)備可以繼續(xù)使用,且現(xiàn)有的編碼表達可以繼續(xù)使用,從而節(jié)省了改造成本。此外,本發(fā)明實施例還可允許更多的元數(shù)據(jù)封裝在索引片段中,從而提高了傳輸效率。圖10是本發(fā)明一個實施例的用于傳輸流媒體的設(shè)備的框圖。圖10的設(shè)備1000的一個例子是客戶端(例如,可以是圖1中的客戶端120)。該設(shè)備1000包括第一獲取模塊1010、生成模塊1020和第二獲取模塊1030。第一獲取模塊1010獲取對應(yīng)于至少一個索引片段的存儲位置信息的生成規(guī)則,該至少一個索引片段包括至少一個媒體片段的索引信息,且該至少一個索引片段獨立于該至少一個媒體片段。生成模塊1020根據(jù)該生成規(guī)則,生成對應(yīng)于該至少一個索引片段的存儲位置信息。第二獲取模塊1030,從該存儲位置信息對應(yīng)的存儲位置獲取該至少一個索引片段。設(shè)備1000的其他功能和操作可參照上面圖3、圖5和圖7的方法實施例中涉及客戶端的過程,為避免重復,不再詳細描述。例如,第一獲取模塊1010可獲取媒體呈現(xiàn)描述文件,該媒體呈現(xiàn)描述文件攜帶該生成規(guī)則。第二獲取模塊1030可向服務(wù)端發(fā)送對于該至少一個索引片段中的特定索引片段的請求,該請求中攜帶對應(yīng)于該特定索引片段的存儲位置信息,并接收來自該服務(wù)端的該特定索引片段。本發(fā)明實施例通過獨立于媒體片段的索引片段提供媒體片段的索引信息,使得客戶端根據(jù)需要獲取索引片段,從而減少了不必要的數(shù)據(jù)傳輸,節(jié)省了帶寬。另外,本發(fā)明實施例可以不改變媒體片段的格式,現(xiàn)有的內(nèi)容準備設(shè)備可以繼續(xù)使用,且現(xiàn)有的編碼表達可以繼續(xù)使用,從而節(jié)省了改造成本。此外,本發(fā)明實施例還可允許更多的元數(shù)據(jù)封裝在索引片段中,從而提高了傳輸效率。本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各 示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限 于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)所述以權(quán)利要求的保護范圍為準。