欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多媒體文件下載的方法及裝置與流程

文檔序號(hào):12068064閱讀:428來(lái)源:國(guó)知局
一種多媒體文件下載的方法及裝置與流程

本發(fā)明涉及互聯(lián)網(wǎng)技術(shù),具體涉及多媒體文件下載的方法及裝置。



背景技術(shù):

用戶在使用手機(jī)瀏覽器瀏覽一些視頻、音樂(lè)網(wǎng)站時(shí),經(jīng)常會(huì)發(fā)現(xiàn)網(wǎng)頁(yè)上自己喜歡的視頻或音樂(lè)只能在線播放,而沒(méi)有任何可對(duì)該媒體文件進(jìn)行下載的操作按鈕,從而無(wú)法把這些文件下載到本地來(lái)隨時(shí)進(jìn)行離線播放。而在線播放不僅可能消耗過(guò)多的網(wǎng)絡(luò)流量,而且受帶寬影響經(jīng)常播放卡頓,造成很不好的用戶體驗(yàn)。

已有瀏覽器嗅探功能的主要原理是在網(wǎng)頁(yè)資源加載完成后,對(duì)網(wǎng)頁(yè)內(nèi)各個(gè)標(biāo)簽進(jìn)行檢測(cè)。若檢測(cè)到視頻或音頻等標(biāo)簽則獲取它們對(duì)應(yīng)的URL地址,然后提示給用戶是否需要下載該媒體文件。用戶選擇提示下載后,瀏覽器下載模塊通過(guò)該URL地址就將媒體文件下載到本地供用戶進(jìn)行離線播放。

現(xiàn)在大量的主流視頻網(wǎng)站都是采用多段視頻的在線播放(主要是電視劇、電影等),即一集完整的電視劇或一部完整的電影被分成多個(gè)視頻段來(lái)播放,其中每個(gè)視頻段對(duì)應(yīng)不同的URL地址。當(dāng)播放完一段視頻以后,終端才會(huì)向視頻服務(wù)器請(qǐng)求到下一段視頻的URL地址進(jìn)行繼續(xù)播放。因此按照常規(guī)的嗅探方法,只能獲取到當(dāng)前正在在線播放視頻的URL地址,從而只能下載到當(dāng)前一段視頻的文件。如果需要下載下一段的視頻文件,必須要等到本段播放結(jié)束下一段開(kāi)始播放才能取得下一段視頻文件對(duì)應(yīng)的URL地址。這樣要嗅探下載一集完整的電視劇或一部完整的電影即費(fèi)流量又費(fèi)時(shí)間,還需要不斷提示用戶選擇是否下載,帶來(lái)非常不好的用戶體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種多媒體文件下載的方法及裝置,實(shí)現(xiàn)了在短時(shí)間內(nèi)獲取視頻文件各視頻段的URL地址。

為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種多媒體文件下載的方法,所述方法包括:

對(duì)多媒體文件各多媒體數(shù)據(jù)段依次進(jìn)行以下操作:獲取當(dāng)前多媒體數(shù)據(jù)段的統(tǒng)一資源定位符URL地址;判斷所述當(dāng)前多媒體數(shù)據(jù)段的URL地址是否滿足預(yù)設(shè)的條件;當(dāng)所述當(dāng)前多媒體數(shù)據(jù)段的URL地址滿足預(yù)設(shè)的條件時(shí),將所述當(dāng)前多媒體數(shù)據(jù)段切換至結(jié)尾后獲取下一多媒體數(shù)據(jù)段的URL地址;

當(dāng)獲取了所述多媒體文件各多媒體數(shù)據(jù)段的URL地址后,下載所述各URL對(duì)應(yīng)的多媒體數(shù)據(jù)段。

優(yōu)選地,

所述預(yù)設(shè)的條件為所述當(dāng)前多媒體數(shù)據(jù)段的URL地址不為空且與上一多媒體數(shù)據(jù)段的URL地址不相同。

優(yōu)選地,

所述多媒體文件為視頻文件,所述多媒體數(shù)據(jù)段為視頻段;

所述獲取當(dāng)前多媒體數(shù)據(jù)段的URL地址包括:

遍歷所述當(dāng)前多媒體數(shù)據(jù)段中的視頻標(biāo)簽;

將所述視頻標(biāo)簽對(duì)應(yīng)的SRC屬性作為所述當(dāng)前視頻段的URL地址。

優(yōu)選地,

所述下載所述各URL對(duì)應(yīng)的多媒體數(shù)據(jù)段包括:

并行下載各URL地址對(duì)應(yīng)的多媒體數(shù)據(jù)段。

優(yōu)選地,

所述并行下載各URL地址對(duì)應(yīng)的多媒體段包括:

根據(jù)所述各URL地址分別生成相應(yīng)的線程;

通過(guò)所述各線程并行下載各URL地址對(duì)應(yīng)的多媒體數(shù)據(jù)段。

本發(fā)明還提供一種多媒體文件下載的裝置,其特征在于,所述裝置包括:

數(shù)據(jù)獲取模塊,用于對(duì)多媒體文件各多媒體數(shù)據(jù)段依次進(jìn)行以下操作:獲取當(dāng)前多媒體數(shù)據(jù)段的統(tǒng)一資源定位符URL地址;判斷所述當(dāng)前多媒體數(shù) 據(jù)段的URL地址是否滿足預(yù)設(shè)的條件;當(dāng)所述當(dāng)前多媒體數(shù)據(jù)段的URL地址滿足預(yù)設(shè)的條件時(shí),將所述當(dāng)前多媒體數(shù)據(jù)段切換至結(jié)尾后獲取下一多媒體數(shù)據(jù)段的URL地址;

下載模塊,用于當(dāng)獲取了所述多媒體文件各多媒體數(shù)據(jù)段的URL地址后,下載所述各URL對(duì)應(yīng)的多媒體數(shù)據(jù)段。

優(yōu)選地,

所述預(yù)設(shè)的條件為所述當(dāng)前多媒體數(shù)據(jù)段的URL地址不為空且與上一多媒體數(shù)據(jù)段的URL地址不相同。

優(yōu)選地,

所述多媒體文件為視頻文件,所述多媒體數(shù)據(jù)段為視頻段;

所述數(shù)據(jù)獲取模塊用于獲取當(dāng)前多媒體數(shù)據(jù)段的URL地址具體是指:

遍歷所述當(dāng)前多媒體數(shù)據(jù)段中的視頻標(biāo)簽;

將所述視頻標(biāo)簽對(duì)應(yīng)的SRC屬性作為所述當(dāng)前視頻段的URL地址。

優(yōu)選地,

所述下載模塊用于下載所述各URL對(duì)應(yīng)的多媒體數(shù)據(jù)段具體是指:

并行下載各URL地址對(duì)應(yīng)的多媒體數(shù)據(jù)段。

優(yōu)選地,

所述并行下載各URL地址對(duì)應(yīng)的多媒體段具體是指:

根據(jù)所述各URL地址分別生成相應(yīng)的線程;

通過(guò)所述各線程并行下載各URL地址對(duì)應(yīng)的多媒體數(shù)據(jù)段。

上述方案無(wú)需等待當(dāng)前視頻段在線播放完就可獲取下一個(gè)視頻段的URL地址,而是在短時(shí)間內(nèi)就可獲取各視頻段的URL地址,進(jìn)而通過(guò)多線程下載分別處理,使用戶可以自動(dòng)完整地得到想要的視頻文件進(jìn)行離線觀看,提升了用戶體驗(yàn)。

附圖說(shuō)明

圖1為實(shí)施例一中的多媒體文件下載的方法的流程圖;

圖2為實(shí)施例一中的多媒體文件下載的裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本申請(qǐng)的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。

實(shí)施例一

如圖1所示,本實(shí)施例提供一種多媒體文件下載的方法,所述方法包括:

步驟S11:對(duì)多媒體文件各多媒體數(shù)據(jù)段依次進(jìn)行以下操作:

獲取當(dāng)前多媒體數(shù)據(jù)段的統(tǒng)一資源定位符URL地址;判斷所述當(dāng)前多媒體數(shù)據(jù)段的URL地址是否滿足預(yù)設(shè)的條件;當(dāng)所述當(dāng)前多媒體數(shù)據(jù)段的URL地址滿足預(yù)設(shè)的條件時(shí),將所述當(dāng)前多媒體數(shù)據(jù)段切換至結(jié)尾后獲取下一多媒體數(shù)據(jù)段的URL地址;

優(yōu)選地,預(yù)設(shè)的條件為:當(dāng)前多媒體數(shù)據(jù)段的URL地址不為空且與上一多媒體數(shù)據(jù)段的URL地址不相同。

在本實(shí)施例中,多媒體文件為視頻文件,多媒體數(shù)據(jù)段為視頻段。當(dāng)然,本發(fā)明還可以針對(duì)音頻等多媒體數(shù)據(jù)。

獲取當(dāng)前多媒體數(shù)據(jù)段的URL地址可以通過(guò)以下方式實(shí)現(xiàn):

遍歷所述當(dāng)前多媒體數(shù)據(jù)段中的視頻標(biāo)簽;

將所述視頻標(biāo)簽對(duì)應(yīng)的SRC屬性作為所述當(dāng)前視頻段的URL地址。

步驟S12:當(dāng)獲取了多媒體文件各多媒體數(shù)據(jù)段的URL地址后,下載各URL對(duì)應(yīng)的多媒體數(shù)據(jù)段。

可采用并行方式下載各URL地址對(duì)應(yīng)的多媒體數(shù)據(jù)段。具體的,根據(jù)各URL地址分別生成相應(yīng)的線程;通過(guò)各線程并行下載各URL地址對(duì)應(yīng)的多媒體數(shù)據(jù)段。

如圖2所示,本實(shí)施例還提供一種多媒體文件下載的裝置,所述裝置包括:

數(shù)據(jù)獲取模塊11,用于對(duì)多媒體文件各多媒體數(shù)據(jù)段依次進(jìn)行以下操作:獲取當(dāng)前多媒體數(shù)據(jù)段的統(tǒng)一資源定位符URL地址;判斷所述當(dāng)前多媒體數(shù)據(jù)段的URL地址是否滿足預(yù)設(shè)的條件;當(dāng)所述當(dāng)前多媒體數(shù)據(jù)段的URL地址滿足預(yù)設(shè)的條件時(shí),將所述當(dāng)前多媒體數(shù)據(jù)段切換至結(jié)尾后獲取下一多媒體數(shù)據(jù)段的URL地址;

下載模塊12,用于當(dāng)獲取了所述多媒體文件各多媒體數(shù)據(jù)段的URL地址后,下載所述各URL對(duì)應(yīng)的多媒體數(shù)據(jù)段。

優(yōu)選地,

所述預(yù)設(shè)的條件為所述當(dāng)前多媒體數(shù)據(jù)段的URL地址不為空且與上一多媒體數(shù)據(jù)段的URL地址不相同。

優(yōu)選地,

所述多媒體文件為視頻文件,所述多媒體數(shù)據(jù)段為視頻段;

所述數(shù)據(jù)獲取模塊11用于獲取當(dāng)前多媒體數(shù)據(jù)段的URL地址具體是指:

遍歷所述當(dāng)前多媒體數(shù)據(jù)段中的視頻標(biāo)簽;

將所述視頻標(biāo)簽對(duì)應(yīng)的SRC屬性作為所述當(dāng)前視頻段的URL地址。

優(yōu)選地,

所述下載模塊12用于下載所述各URL對(duì)應(yīng)的多媒體數(shù)據(jù)段具體是指:

并行下載各URL地址對(duì)應(yīng)的多媒體數(shù)據(jù)段。

優(yōu)選地,

所述并行下載各URL地址對(duì)應(yīng)的多媒體段具體是指:

根據(jù)所述各URL地址分別生成相應(yīng)的線程;

通過(guò)所述各線程并行下載各URL地址對(duì)應(yīng)的多媒體數(shù)據(jù)段。

實(shí)施例二

下面結(jié)合具體的場(chǎng)景進(jìn)一步說(shuō)明本發(fā)明的技術(shù)方案。

在本實(shí)施例中,可以通過(guò)在瀏覽器中注入自定義JS腳本來(lái)接管網(wǎng)頁(yè)原來(lái)的視頻播放控制流程,該JS腳本主要任務(wù)是是獲取當(dāng)前視頻播放器的接口從而能對(duì)網(wǎng)頁(yè)當(dāng)前視頻段進(jìn)行停止和播放、定位的控制,例如,切換到視頻任意進(jìn)度位置播放,同時(shí)注冊(cè)偵聽(tīng)視頻播放和停止的信號(hào)。

步驟一:檢測(cè)當(dāng)前視頻段的URL地址;

具體做法是遍歷查找DOM樹(shù)中是video標(biāo)簽,然后得到該標(biāo)簽對(duì)應(yīng)的src屬性,該屬性即為當(dāng)前在線播放視頻段的URL地址;

通常,一個(gè)網(wǎng)頁(yè)可能有多個(gè)video標(biāo)簽,每個(gè)video標(biāo)簽包含一個(gè)視頻源,即src屬性,這個(gè)屬性就是當(dāng)時(shí)該標(biāo)簽的視頻段URL地址,這個(gè)地址可能是變化的,每一個(gè)變化的地址就對(duì)應(yīng)一個(gè)視頻段。比如改變了5次,這個(gè)視頻源就有5個(gè)視頻段。

步驟二:檢查當(dāng)前視頻段的URL地址是否不為空且與上一視頻段的URL地址不相同;

如果當(dāng)前視頻段的URL地址為空或者與上一視頻段的URL地址相同則退出,否則進(jìn)入步驟三繼續(xù)處理;

步驟三:將步驟一中檢測(cè)到的當(dāng)前視頻段的URL地址交與多線程處理,會(huì)單獨(dú)產(chǎn)生一個(gè)線程來(lái)處理該URL地址對(duì)應(yīng)的下載任務(wù);

步驟四:通過(guò)視頻播放控制器,將當(dāng)前視頻播放切換到進(jìn)度的結(jié)尾處,在收到播放結(jié)束信號(hào)后啟動(dòng)下一視頻段的播放,在收到新的視頻段的播放信號(hào)后則重新轉(zhuǎn)入步驟一繼續(xù)處理;

通過(guò)以上步驟的處理,就可獲取視頻文件中所有視頻段對(duì)應(yīng)的URL地址,這樣就可將網(wǎng)頁(yè)中在線播放的多視頻段的視頻文件自動(dòng)完整地下載到終端上,提供給用戶進(jìn)行離線觀看。

上述技術(shù)方案無(wú)需等待當(dāng)前視頻段在線播放完畢再去檢測(cè)下一個(gè)視頻段的URL地址,而是通過(guò)向?yàn)g覽器注入自定義的JS腳本來(lái)接管視頻網(wǎng)頁(yè)中的視頻播放控制流程。在獲取第一段視頻的URL地址時(shí),及時(shí)切換到當(dāng)前播放 的結(jié)尾處并立即啟動(dòng)播放下一段視頻,從而可瞬間得到下一段視頻的URL地址,以此類推在很短時(shí)間內(nèi)就可得到所有視頻段的URL地址,然后在不同的線程(或進(jìn)程)同時(shí)對(duì)這些URL地址進(jìn)行下載,從而得到完整的視頻文件,極大地提高多段視頻嗅探體驗(yàn)。

以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤(pán)或光盤(pán)等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn),相應(yīng)地,上述實(shí)施例中的各模塊/模塊可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本申請(qǐng)不限制于任何特定形式的硬件和軟件的結(jié)合。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
广西| 泰宁县| 资溪县| 基隆市| 永丰县| 从江县| 辽源市| 兰溪市| 五常市| 商城县| 察哈| 宁陕县| 赤水市| 峡江县| 南充市| 郧西县| 和林格尔县| 湖口县| 太仆寺旗| 博客| 玉山县| 慈利县| 阳西县| 重庆市| 那曲县| 集安市| 偏关县| 绿春县| 增城市| 思南县| 拜泉县| 凤山市| 惠水县| 安西县| 梨树县| 且末县| 岐山县| 仙居县| 乌兰浩特市| 鄂托克旗| 扎囊县|