媒體數(shù)據(jù)的下載方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及媒體數(shù)據(jù)的下載方法和裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)視頻以其豐富多彩的展現(xiàn)內(nèi)容,極大的便利了人們的生活,并逐漸成為人們學習、社交以及休閑娛樂而不可替代的重要方式。尤其是隨著智能移動終端的廣泛普及,使人們可以方便的通過手機、PDA、平板電腦等各種終端設(shè)備上的瀏覽器訪問各大視頻網(wǎng)站,觀看喜愛的視頻資源。目前各大視頻網(wǎng)站提供的視頻多為基于HLS (HTTP Live Streaming)流媒體播放協(xié)議的m3u8格式。
[0003]HLS協(xié)議最大的特點是使用了流切割技術(shù),將視頻、音頻等流媒體文件切割成多個TS片段(或稱為TS碎片文件)分別進行存儲,然后建立一個與所述多個TS片段相對應(yīng)的m3u8描述文件,在該m3u8文件中對各TS片段的存儲地址、片段時長、播放順序等信息進行描述??蛻舳烁鶕?jù)m3u8中描述的TS片段的存儲地址進行串行或批量的并行漸進式下載,并根據(jù)所述片段時長及播放順序進行播放。該設(shè)計使流媒體可以實現(xiàn)碎片化傳輸,有利于充分利用網(wǎng)絡(luò)性能。
[0004]各大視頻網(wǎng)站出于對視頻版權(quán)或其他方面的考慮,經(jīng)常會變更流媒體中的若干TS片段的存儲地址,或者對流媒體重新切割、存儲,這可能會使流媒體中的某些TS片段由于原下載地址失效而下載失敗,導致流媒體無法正常播放。在下載失敗時,客戶端一般會重新嘗試下載該流媒體。有時甚至需要重復(fù)下載多次才能將一個流媒體的全部的TS片段下載下來,下載成功率低,也降低了用戶的觀賞體驗。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了一種媒體數(shù)據(jù)的下載方法和裝置,用于下載m3u8格式的流媒體數(shù)據(jù),以解決現(xiàn)有技術(shù)中下載m3u8格式的流媒體時下載成功率低,影響用戶觀賞體驗的問題。
[0006]為了解決上述技術(shù)問題,本發(fā)明實施例公開了如下技術(shù)方案:
[0007]—方面,本發(fā)明提供了媒體數(shù)據(jù)的下載方法,所述方法用于下載m3u8格式的流媒體數(shù)據(jù),所述方法包括:
[0008]如果流媒體包含的第一數(shù)目的TS片段下載失敗,則獲取所述第一數(shù)目的TS片段的新下載地址信息,并根據(jù)所述新下載地址信息繼續(xù)下載所述第一數(shù)目的TS片段;
[0009]在繼續(xù)下載后,如果所述第一數(shù)目的TS片段中仍然有第二數(shù)目的TS片段下載失敗,且所述第二數(shù)目的TS片段滿足預(yù)設(shè)的放棄下載條件,則放棄下載所述第二數(shù)目的TS片段。
[0010]優(yōu)選的,所述判斷所述第二數(shù)目的TS片段是否滿足預(yù)設(shè)的放棄下載條件包括:
[0011]如果所述第二數(shù)目的TS片段的片段數(shù)目小于第一預(yù)設(shè)數(shù)目,并且所述第二數(shù)目的TS片段的總時長小于第一預(yù)設(shè)時長。
[0012]優(yōu)選的,所述方法還包括:
[0013]根據(jù)下載成功的TS片段的片段數(shù)目、對應(yīng)時長及索引順序建立所述流媒體的播放端m3u8描述文件;
[0014]根據(jù)所述播放端m3u8描述文件播放所述流媒體。
[0015]優(yōu)選的,所述獲取所述第一數(shù)目的TS片段的新下載地址信息包括:
[0016]獲取所述流媒體的新下載地址信息;
[0017]根據(jù)所述新下載地址信息獲取所述流媒體的新m3u8描述文件;
[0018]根據(jù)所述新m3u8描述文件獲取所述第一數(shù)目的TS片段的新下載地址信息,根據(jù)所述第一數(shù)目的TS片段的新下載地址信息更換所述第一數(shù)目的TS片段的原下載地址信息。
[0019]優(yōu)選的,所述獲取所述流媒體的新下載地址信息包括:
[0020]在預(yù)設(shè)流媒體網(wǎng)站上獲取與所述流媒體的有效信息相匹配的同一流媒體的地址信息,即為所述流媒體的新下載地址信息,所述有效信息包括所述流媒體的時長信息,和/或所述流媒體所在的網(wǎng)頁地址信息,和/或所述流媒體的地址信息,和/或所述流媒體的名稱。
[0021]優(yōu)選的,所述根據(jù)所述新m3u8描述文件獲取所述第一數(shù)目的TS片段的新下載地址信息包括:
[0022]如果所述新m3u8描述文件中包含的TS片段信息與所述流媒體的原m3u8描述文件中包含的對應(yīng)TS片段信息屬于同一 TS片段,則在所述新m3u8描述文件中獲取第一數(shù)目的TS片段的新下載地址信息。
[0023]優(yōu)選的,所述新m3u8描述文件中包含的TS片段信息與所述流媒體的原m3u8描述文件中包含的對應(yīng)TS片段信息屬于同一 TS片段包括:
[0024]所述新m3u8描述文件中包含的TS片段的片段數(shù)目與所述流媒體的原m3u8描述文件中包含的TS片段的片段數(shù)目相等,并且
[0025]所述新m3u8描述文件中包含的TS片段的時長與所述流媒體的原m3u8描述文件中包含的對應(yīng)TS片段的時長相等。
[0026]另一方面,本發(fā)明提供了媒體數(shù)據(jù)的下載裝置,所述裝置用于下載m3u8格式的流媒體數(shù)據(jù),所述裝置包括:
[0027]獲取單元,用于如果流媒體包含的第一數(shù)目的TS片段下載失敗,則獲取所述第一數(shù)目的TS片段的下載地址信息,并根據(jù)所述新下載地址信息繼續(xù)下載所述第一數(shù)目的TS片段;
[0028]執(zhí)行單元,用于在繼續(xù)下載后,如果所述第一數(shù)目的TS片段中仍然有第二數(shù)目的TS片段下載失敗,并且所述第二數(shù)目的TS片段滿足預(yù)設(shè)的放棄下載條件,則放棄下載所述第二數(shù)目的TS片段。
[0029]優(yōu)選的,所述執(zhí)行單元包括:
[0030]第一確認子單元,用于如果所述第二數(shù)目的TS片段的片段數(shù)目小于第一預(yù)設(shè)數(shù)目,并且所述第二數(shù)目的TS片段的總時長小于第一預(yù)設(shè)時長,則確定所述第二數(shù)目的TS片段滿足預(yù)設(shè)的放棄下載條件。
[0031]優(yōu)選的,所述裝置還包括:
[0032]建立單元,用于根據(jù)下載成功的TS片段的片段數(shù)目、對應(yīng)時長及索引順序建立所述流媒體的播放端m3u8描述文件;
[0033]播放單元,用于根據(jù)所述播放端m3u8描述文件播放所述流媒體。
[0034]優(yōu)選的,所述獲取單元包括:
[0035]第一獲取子單元,用于獲取所述流媒體的新下載地址信息;
[0036]第二獲取子單元,用于根據(jù)所述新下載地址信息獲取所述流媒體的新m3u8描述文件;
[0037]第三獲取子單元,用于根據(jù)所述新m3u8描述文件獲取所述第一數(shù)目的TS片段的新下載地址信息;
[0038]更換子單元,用于根據(jù)所述第一數(shù)目的TS片段的新下載地址信息更換所述第一數(shù)目的TS片段的原下載地址信息。
[0039]優(yōu)選的,所述獲取所述流媒體的新下載地址信息包括:
[0040]在預(yù)設(shè)流媒體網(wǎng)站上獲取與所述流媒體的有效信息相匹配的同一流媒體的地址信息,即為所述流媒體的新下載地址信息,所述有效信息包括所述流媒體的時長信息,和/或所述流媒體所在的網(wǎng)頁地址信息,和/或所述流媒體的地址信息,和/或所述流媒體的名稱。
[0041]優(yōu)選的,所述第三獲取子單元包括:第二確認子單元,用于:
[0042]如果所述新m3u8描述文件中包含的TS片段的片段數(shù)目與所述流媒體的原m3u8描述文件中包含的TS片段的片段數(shù)目相等,并且
[0043]所述新m3u8描述文件中包含的TS片段的時長與所述流媒體的原m3u8描述文件中包含的對應(yīng)TS片段的時長相等,則確認所述新m3u8描述文件中包含的TS片段信息與所述流媒體的原m3u8描述文件中包含的對應(yīng)TS片段信息屬于同一 TS片段。
[0044]上述媒體數(shù)據(jù)的下載方法及裝置的技術(shù)方案,如果流媒體包含的第一數(shù)目的TS片段下載失敗,則獲取所述第一數(shù)目的TS片段的下載地址信息,并根據(jù)所述新下載地址信息繼續(xù)下載所述第一數(shù)目的TS片段;如果所述