基于多服務(wù)器的流媒體傳輸裝置和流媒體傳輸方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及流媒體傳輸技術(shù)領(lǐng)域,具體而言,涉及一種基于多服務(wù)器的流媒體傳 輸裝置和一種基于多服務(wù)器的流媒體傳輸方法。
【背景技術(shù)】
[0002] 近幾年來,動態(tài)HTTP流媒體傳輸技術(shù)廣泛應(yīng)用于網(wǎng)絡(luò)視頻傳輸。為了提高傳輸?shù)?帶寬和穩(wěn)定性,相關(guān)技術(shù)中將視頻文件切分為一定時間長度的視頻片段(fragment),存儲 于服務(wù)器端,并提出了基于多服務(wù)器的并行下載技術(shù)。
[0003] 但是,多服務(wù)器帶寬的異構(gòu)特性使得傳統(tǒng)的基于fragment的HTTP流媒體的碼率 選擇算法面臨很多挑戰(zhàn)困難,例如:1)每個服務(wù)器的帶寬不一樣,因此下載完相同碼率的 fragment所需要的時間也不一樣,則可能無法同時對所有服務(wù)器一起調(diào)整碼率,容易導致 碼率調(diào)整的不同步性;2)針對不同的服務(wù)器,每個fragment下載的結(jié)束時刻也不同步,但 是視頻的播放又具有嚴格的時序,因此下載結(jié)束時刻的不同步也會影響視頻的播放,甚至 引起嚴重的卡頓現(xiàn)象,影響用戶的使用體驗。
[0004] 因此,如何降低多服務(wù)器的帶寬異構(gòu)對流媒體傳輸?shù)挠绊?,避免視頻片段的下載 完成順序與播放順序的不一致,成為目前亟待解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明正是基于上述問題,提出了一種新的技術(shù)方案,可以在基于多服務(wù)器的流 媒體文件傳輸過程中,使得視頻片段的下載完成順序與播放順序一致,避免卡頓等現(xiàn)象的 發(fā)生,有助于提升用戶體驗。
[0006] 有鑒于此,本發(fā)明提出了一種基于多服務(wù)器的流媒體傳輸裝置,包括:調(diào)度配置單 元,在所述流媒體傳輸裝置需要下載一流媒體文件時,根據(jù)所述一流媒體文件對應(yīng)的視頻 片段之間的播放順序,確定每個視頻片段對應(yīng)的下載服務(wù)器,以確保所有的服務(wù)器進行并 行下載時,每個視頻片段的下載完成順序與對應(yīng)的播放順序一致,其中,所述一流媒體文件 被按照預(yù)設(shè)時間長度切分為多個視頻片段,且所述多個服務(wù)器中均存儲有得到的所有視頻 片段;數(shù)據(jù)傳輸單元,向每個服務(wù)器請求對應(yīng)的視頻片段,并下載對應(yīng)的視頻片段;視頻播 放單元,對下載完成的視頻片段依次進行解碼播放。
[0007] 在該技術(shù)方案中,通過將流媒體文件切分為多個視頻片段,則多個服務(wù)器可以同 時下載多個視頻片段,有助于提高下載速度,充分利用帶寬資源。
[0008] 通過對每個服務(wù)器與客戶端之間的帶寬情況,比如理論上的帶寬數(shù)值、帶寬占用 情況、實際上的帶寬數(shù)值等,就能夠了解到多個服務(wù)器對視頻片段的下載速度的比例關(guān)系, 從而確定每個服務(wù)器所需下載的視頻片段的數(shù)目,以便合理分配帶寬資源。
[0009] 在上述技術(shù)方案中,優(yōu)選地,所述調(diào)度配置單元用于:按照所述播放順序依次選取 每個視頻片段,并通過遍歷所述多個服務(wù)器,預(yù)估出最先下載完當前被選中的視頻片段的 服務(wù)器,以作為當前被選中的視頻片段對應(yīng)的服務(wù)器。
[0010] 在該技術(shù)方案中,通過對每個服務(wù)器進行遍歷,尋找出能夠在按照播放順序的情 況下,最早完成對當前視頻片段進行下載的服務(wù)器,從而在盡可能保證下載速度的同時,避 免與播放順序相沖突,從而確保播放過程的順暢。
[0011] 在上述任一技術(shù)方案中,優(yōu)選地,所述調(diào)度配置單元利用下述公式通過 遍歷所述多個服務(wù)器,并預(yù)估出最先下載完當前被選中的視頻片段的服務(wù)器:
【主權(quán)項】
1. 一種基于多服務(wù)器的流媒體傳輸裝置,其特征在于,包括: 調(diào)度配置單元,在所述流媒體傳輸裝置需要下載一流媒體文件時,根據(jù)所述一流媒體 文件對應(yīng)的視頻片段之間的播放順序,確定每個視頻片段對應(yīng)的下載服務(wù)器,以確保所有 的服務(wù)器進行并行下載時,每個視頻片段的下載完成順序與對應(yīng)的播放順序一致,其中,所 述一流媒體文件被按照預(yù)設(shè)時間長度切分為多個視頻片段,且所述多個服務(wù)器中均存儲有 得到的所有視頻片段; 數(shù)據(jù)傳輸單元,向每個服務(wù)器請求對應(yīng)的視頻片段,并下載對應(yīng)的視頻片段; 視頻播放單元,對下載完成的視頻片段依次進行解碼播放。
2. 根據(jù)權(quán)利要求1所述的流媒體傳輸裝置,其特征在于,所述調(diào)度配置單元用于: 按照所述播放順序依次選取每個視頻片段,并通過遍歷所述多個服務(wù)器,預(yù)估出最先 下載完當前被選中的視頻片段的服務(wù)器,以作為當前被選中的視頻片段對應(yīng)的服務(wù)器。
3. 根據(jù)權(quán)利要求2所述的流媒體傳輸裝置,其特征在于,所述調(diào)度配置單元利用下述 公式通過遍歷所述多個服務(wù)器,并預(yù)估出最先下載完當前被選中的視頻片段的服務(wù)器:
其中,j為將該服務(wù)器對應(yīng)的順序編號,S為所有的服務(wù)器的總數(shù)量,為該服務(wù)器的 帶寬數(shù)值,n為當前被選中的視頻片段在所述所有視頻片段中對應(yīng)的播放順序編號;以及 {xnJ}為預(yù)設(shè)矩陣,其中,當視頻片段n對應(yīng)于服務(wù)器j時,xnJ=l,否則xnJ=0。
4. 根據(jù)權(quán)利要求1所述的流媒體傳輸裝置,其特征在于,還包括: 信息確定單元,用于根據(jù)所述客戶端與所述多個服務(wù)器中的每個服務(wù)器之間的帶寬情 況,確定本次下載操作需要向每個服務(wù)器分別請求下載的視頻片段的數(shù)量; 其中,所述調(diào)度配置單元根據(jù)所述數(shù)量確定本次需要下載的視頻片段,并根據(jù)本次需 要下載的視頻片段之間的播放順序,確定每個視頻片段對應(yīng)的下載服務(wù)器,以確保所有的 服務(wù)器進行并行下載時,每個視頻片段的下載完成順序與對應(yīng)的播放順序一致。
5. 根據(jù)權(quán)利要求4所述的流媒體傳輸裝置,其特征在于,所述信息確定單元用于: 計算任一服務(wù)器與所述客戶端之間的帶寬數(shù)值與標準數(shù)值的比值,將小于或等于該比 值的最大整數(shù),或所述最大整數(shù)的預(yù)設(shè)倍數(shù),作為所述任一服務(wù)器對應(yīng)的視頻片段的數(shù)量。
6. 根據(jù)權(quán)利要求5所述的流媒體傳輸裝置,其特征在于,所述標準數(shù)值包括所述多個 服務(wù)器與所述客戶端之間的所有帶寬數(shù)值中的最小帶寬數(shù)值。
7. 根據(jù)權(quán)利要求1至6中任一項所述的流媒體傳輸裝置,其特征在于,所述一流媒體文 件還被轉(zhuǎn)碼為具有不同碼率的多個流媒體文件,且每個轉(zhuǎn)碼后的流媒體文件按照預(yù)設(shè)時間 長度被切分為多個視頻片段后,存儲在所述多個服務(wù)器中,則所述數(shù)據(jù)傳輸單元用于: 按照預(yù)設(shè)碼率,從所述多個服務(wù)器中下載所述一流媒體文件對應(yīng)的視頻片段。
8. 根據(jù)權(quán)利要求7所述的流媒體傳輸裝置,其特征在于,還包括: 緩存計算單元,用于獲取所述客戶端的緩存中的緩存數(shù)據(jù)量; 碼率調(diào)整單元,用于在所述緩存數(shù)據(jù)量超出預(yù)設(shè)緩存數(shù)據(jù)范圍的情況下,根據(jù)超出部 分的差值和/或所述超出部分的變化率,對將要下載的視頻片段的碼率進行調(diào)整。
9. 根據(jù)權(quán)利要求8所述的流媒體傳輸裝置,其特征在于,所述碼率調(diào)整單元用于: 當所述緩存數(shù)據(jù)量大于預(yù)設(shè)的緩存數(shù)值范圍的上限閾值時,降低所述預(yù)設(shè)碼率;以及 當所述緩存數(shù)據(jù)量小于預(yù)設(shè)的緩存數(shù)值范圍的下限閾值時,提高所述預(yù)設(shè)碼率。
10. 根據(jù)權(quán)利要求8所述的流媒體傳輸裝置,其特征在于,所述數(shù)據(jù)傳輸單元執(zhí)行的第 k次下載操作,對應(yīng)于所述一流媒體文件的第k部分的視頻片段,則所述碼率調(diào)整單元在所 述數(shù)據(jù)傳輸單元執(zhí)行第k次下載操作時,按照下述公式計算對所述預(yù)設(shè)碼率進行調(diào)整的調(diào) 整量:
其中,S(v(k))為所述調(diào)整量,a(