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

一種下載流媒體數(shù)據(jù)的方法及裝置與流程

文檔序號:11139354閱讀:569來源:國知局
一種下載流媒體數(shù)據(jù)的方法及裝置與制造工藝

本發(fā)明涉及互聯(lián)網(wǎng)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種下載流媒體數(shù)據(jù)的方法及裝置。



背景技術(shù):

流媒體,又叫流式媒體,是邊傳邊播的媒體,是多媒體的一種。邊傳邊播是指媒體提供商在網(wǎng)絡(luò)上傳輸媒體的同時,用戶一邊不斷地接收并觀看或收聽被傳輸?shù)拿襟w。流媒體的流指的是這種媒體的傳輸方式(流的方式),而并不是指媒體本身。

HTTP live Streaming(HLS)是蘋果公司實現(xiàn)的基于HTTP(Hypertext transfer protocol,超文本傳輸協(xié)議)的流媒體傳輸協(xié)議,可以實現(xiàn)流媒體的播放。HLS基于HTTP協(xié)議實現(xiàn),HLS協(xié)議在服務(wù)器端將數(shù)據(jù)流存儲為連續(xù)的、很短時長的媒體文件,傳輸內(nèi)容包括兩部分,一是m3u8文件(是蘋果公司HLS協(xié)議里規(guī)定的一種描述文件,用文本方式對媒體文件進行描述,由一系列標簽組成);二是MPEG-TS(Moving Pictures Experts Group/Motion Pictures Experts Group-Transport Stream,動態(tài)圖像專家組-傳輸流)格式的媒體文件。m3u8文件是為這些MPEG-TS格式的媒體文件創(chuàng)建的索引文件。客戶端不斷的下載并播放這些媒體文件,就實現(xiàn)了流媒體的播放。



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

本發(fā)明提供一種下載流媒體數(shù)據(jù)的方法及裝置,用以實現(xiàn)靈活地下載流媒體數(shù)據(jù)的目的。

本發(fā)明提供一種下載流媒體數(shù)據(jù)的方法,包括:

當(dāng)接收到下載流媒體數(shù)據(jù)對應(yīng)的TS文件的指令時,向服務(wù)器發(fā)送獲取用于下載TS文件的線程數(shù)的請求;

接收所述服務(wù)器返回的獲取結(jié)果;

根據(jù)所述獲取結(jié)果對應(yīng)的線程數(shù)的線程下載所述TS文件。

在本發(fā)明一實施例中,所述服務(wù)器根據(jù)客戶端的第一相關(guān)信息和服務(wù)器本端的第二相關(guān)信息,確定所述客戶端即將下載所述TS文件的線程數(shù),并將所述線程數(shù)添加到所述TS文件的指定位置;

向服務(wù)器發(fā)送獲取用于下載TS文件的線程數(shù)的請求,包括:

向服務(wù)器發(fā)送下載所述TS文件的指定位置的數(shù)據(jù)的請求。

在本發(fā)明一實施例中,所述客戶端的第一相關(guān)信息包括所述客戶端處理數(shù)據(jù)的能力值;所述服務(wù)器本端的第二相關(guān)信息包括所述服務(wù)器本端的網(wǎng)絡(luò)帶寬。

在本發(fā)明一實施例中,當(dāng)所述服務(wù)器確定的線程數(shù)發(fā)生變化時,將變化后的線程數(shù)添加到所述TS文件的下一個TS文件的指定位置。

在本發(fā)明一實施例中,若所述獲取結(jié)果中包括所述線程數(shù);

根據(jù)所述獲取結(jié)果對應(yīng)的線程數(shù)的線程下載所述TS文件,包括:

從所述獲取結(jié)果中提取所述線程數(shù);

根據(jù)所述線程數(shù)的線程下載所述TS文件。

在本發(fā)明一實施例中,若所述獲取結(jié)果中不包括所述線程數(shù);

根據(jù)所述獲取結(jié)果對應(yīng)的線程數(shù)的線程下載所述TS文件,包括:

獲取所述客戶端配置的線程數(shù);

根據(jù)所述線程數(shù)的線程下載所述TS文件。

在本發(fā)明一實施例中,根據(jù)所述線程數(shù)的線程下載所述TS文件,包括:

獲取所述TS文件的第一數(shù)據(jù)量;

采用所述TS文件的第一數(shù)據(jù)量除以所述線程數(shù),得到每個線程下載的數(shù)據(jù)塊的第二數(shù)據(jù)量;

利用各個線程下載所述第二數(shù)據(jù)量的數(shù)據(jù)塊。

本發(fā)明還提供一種下載流媒體數(shù)據(jù)的裝置,包括:

發(fā)送模塊,用于當(dāng)接收到下載流媒體數(shù)據(jù)對應(yīng)的TS文件的指令時,向服務(wù)器發(fā)送獲取用于下載TS文件的線程數(shù)的請求;

接收模塊,用于接收所述服務(wù)器返回的獲取結(jié)果;

下載模塊,用于根據(jù)所述獲取結(jié)果對應(yīng)的線程數(shù)的線程下載所述TS文件。

在本發(fā)明一實施例中,所述服務(wù)器根據(jù)客戶端的第一相關(guān)信息和服務(wù)器本端的第二相關(guān)信息,確定所述客戶端即將下載所述TS文件的線程數(shù),并將所述線程數(shù)添加到所述TS文件的指定位置;

所述發(fā)送模塊,還用于向服務(wù)器發(fā)送下載所述TS文件的指定位置的數(shù)據(jù)的請求。

在本發(fā)明一實施例中,所述客戶端的第一相關(guān)信息包括所述客戶端處理數(shù)據(jù)的能力值;所述服務(wù)器本端的第二相關(guān)信息包括所述服務(wù)器本端的網(wǎng)絡(luò)帶寬。

在本發(fā)明一實施例中,當(dāng)所述服務(wù)器確定的線程數(shù)發(fā)生變化時,將變化后的線程數(shù)添加到所述TS文件的下一個TS文件的指定位置。

在本發(fā)明一實施例中,若所述獲取結(jié)果中包括所述線程數(shù),所述下載模塊還用于:從所述獲取結(jié)果中提取所述線程數(shù);根據(jù)所述線程數(shù)的線程下載所述TS文件。

在本發(fā)明一實施例中,若所述獲取結(jié)果中不包括所述線程數(shù),所述下載模塊還用于:獲取所述客戶端配置的線程數(shù);根據(jù)所述線程數(shù)的線程下載所述TS文件。

在本發(fā)明一實施例中,所述下載模塊還用于:

獲取所述TS文件的第一數(shù)據(jù)量;

采用所述TS文件的第一數(shù)據(jù)量除以所述線程數(shù),得到每個線程下載的數(shù)據(jù)塊的第二數(shù)據(jù)量;

利用各個線程下載所述第二數(shù)據(jù)量的數(shù)據(jù)塊。

在本發(fā)明實施例中,當(dāng)接收到下載流媒體數(shù)據(jù)對應(yīng)的TS文件的指令時,向服務(wù)器發(fā)送獲取用于下載TS文件的線程數(shù)的請求;接收所述服務(wù)器返回的獲取結(jié)果;根據(jù)所述獲取結(jié)果對應(yīng)的線程數(shù)的線程下載所述TS文件。由此可見,本發(fā)明實施例能夠?qū)崿F(xiàn)靈活地下載流媒體數(shù)據(jù)的目的。

本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。

下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。

附圖說明

附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:

圖1所示為本發(fā)明一實施例中下載流媒體數(shù)據(jù)的方法的流程圖;

圖2所示為本發(fā)明另一實施例中下載流媒體數(shù)據(jù)的方法的流程圖;以及

圖3所示為本發(fā)明一實施例中下載流媒體數(shù)據(jù)的裝置的結(jié)構(gòu)示意圖。

具體實施方式

以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。

如圖1所示為本發(fā)明一實施例中下載流媒體數(shù)據(jù)的方法的流程圖,該方法可以包括以下步驟S11-S13。

步驟S11,當(dāng)接收到下載流媒體數(shù)據(jù)對應(yīng)的TS文件的指令時,向服務(wù)器發(fā)送獲取用于下載TS文件的線程數(shù)的請求。

在該步驟中,客戶端接收到來自用戶的播放流媒體數(shù)據(jù)的請求時,則獲取待下載流媒體數(shù)據(jù)的索引文件,該索引文件中至少包括待下載流媒體數(shù)據(jù)對應(yīng)的一個或多個TS文件的下載地址,此時,可以生成下載流媒體數(shù)據(jù)對應(yīng)的TS文件的指令。

步驟S12,接收服務(wù)器返回的獲取結(jié)果。

步驟S13,根據(jù)獲取結(jié)果對應(yīng)的線程數(shù)的線程下載TS文件。

在本發(fā)明實施例中,當(dāng)接收到下載流媒體數(shù)據(jù)對應(yīng)的TS文件的指令時,向服務(wù)器發(fā)送獲取用于下載TS文件的線程數(shù)的請求;接收所述服務(wù)器返回的獲取結(jié)果;根據(jù)所述獲取結(jié)果對應(yīng)的線程數(shù)的線程下載所述TS文件。由此可見,本發(fā)明實施例能夠?qū)崿F(xiàn)靈活地下載流媒體數(shù)據(jù)的目的。

在本發(fā)明的可選實施例中,服務(wù)器可以根據(jù)客戶端的第一相關(guān)信息和服務(wù)器本端的第二相關(guān)信息,確定該客戶端即將下載TS文件的線程數(shù),并將線程數(shù)添加到TS文件的指定位置,如TS文件的頭部等。此時,步驟S11中向服務(wù)器發(fā)送獲取用于下載TS文件的線程數(shù)的請求可以實施為向服務(wù)器發(fā)送下載TS文件的指定位置(如,TS文件的頭部等)的數(shù)據(jù)的請求。也就是說,客戶端每次下載TS文件時先下載TS文件的頭部,查看頭部中是否規(guī)定了線程數(shù)。

進一步地,客戶端的第一相關(guān)信息可以包括客戶端處理數(shù)據(jù)的能力值(如客戶端的CPU、內(nèi)存等信息),服務(wù)器本端的第二相關(guān)信息可以包括服務(wù)器本端的網(wǎng)絡(luò)帶寬、CPU信息等,本發(fā)明不限于此。例如,服務(wù)器可以根據(jù)客戶端處理數(shù)據(jù)的能力值和服務(wù)器本端的網(wǎng)絡(luò)帶寬情況,來確定該客戶端即將下載TS文件的線程數(shù),并將線程數(shù)添加到TS文件的指定位置,如TS文件的頭部等。

此外,服務(wù)器也可以根據(jù)客戶端處理數(shù)據(jù)的能力值和服務(wù)器本端的網(wǎng)絡(luò)帶寬情況,動態(tài)調(diào)整客戶端下載TS文件的線程數(shù)。具體地,當(dāng)服務(wù)器確定的線程數(shù)發(fā)生變化時,將變化后的線程數(shù)添加到TS文件的下一個TS文件的指定位置。例如,該線程數(shù)放置在TS文件的頭部,則當(dāng)前需要動態(tài)調(diào)整時,將線程數(shù)放在下一個TS文件的頭部。

在本發(fā)明的可選實施例中,若獲取結(jié)果中包括線程數(shù),則步驟S13根據(jù)獲取結(jié)果對應(yīng)的線程數(shù)的線程下載TS文件實施為:從獲取結(jié)果中提取線程數(shù),進而根據(jù)線程數(shù)的線程下載TS文件。也就是說,如果獲取結(jié)果中規(guī)定了線程數(shù),則客戶端的線程數(shù)不能超過規(guī)定的線程數(shù)。

在本發(fā)明的可選實施例中,若獲取結(jié)果中不包括線程數(shù),則步驟S13根據(jù)獲取結(jié)果對應(yīng)的線程數(shù)的線程下載TS文件實施為:獲取客戶端配置的線程數(shù),進而根據(jù)線程數(shù)的線程下載TS文件。也就是說,如果獲取結(jié)果中沒有規(guī)定線程數(shù),則按照客戶端本地的配置不能超過客戶端本地要求的最大線程數(shù)。

在本發(fā)明的可選實施例中,根據(jù)線程數(shù)的線程下載TS文件可以實施為以下步驟A1-A3。

步驟A1,獲取TS文件的第一數(shù)據(jù)量。

步驟A2,采用TS文件的第一數(shù)據(jù)量除以線程數(shù),得到每個線程下載的數(shù)據(jù)塊的第二數(shù)據(jù)量。

步驟A3,利用各個線程下載第二數(shù)據(jù)量的數(shù)據(jù)塊。

例如,客戶端采用多個線程下載同一個TS文件。每個線程下載的數(shù)據(jù)塊的大小是固定的,如265KB等?;蛘?,用TS文件的大小除以線程數(shù),得到每個線程下載的數(shù)據(jù)塊的大小。

下面通過一具體實施例來詳細介紹本發(fā)明的下載流媒體數(shù)據(jù)的方法的實現(xiàn)過程。如圖2所示為本發(fā)明另一實施例中下載流媒體數(shù)據(jù)的方法的流程圖,該方法可以包括以下步驟S21-S24。

步驟S21,當(dāng)接收到來自用戶的播放流媒體數(shù)據(jù)的請求時,則獲取待下載流媒體數(shù)據(jù)的索引文件,該索引文件中至少包括待下載流媒體數(shù)據(jù)對應(yīng)的一個或多個TS文件的下載地址。

步驟S22,根據(jù)索引文件生成下載流媒體數(shù)據(jù)對應(yīng)的TS文件的指令,并向服務(wù)器發(fā)送下載TS文件的頭部的數(shù)據(jù)的請求。

在該步驟中,服務(wù)器可以根據(jù)客戶端處理數(shù)據(jù)的能力值和服務(wù)器本端的網(wǎng)絡(luò)帶寬情況,來確定該客戶端即將下載TS文件的線程數(shù),并將線程數(shù)添加到TS文件的指定位置,如TS文件的頭部等??蛻舳嗣看蜗螺dTS文件時先下載TS文件的頭部,查看頭部中是否規(guī)定了線程數(shù)。

步驟S23,接收服務(wù)器返回的獲取結(jié)果。

步驟S24,根據(jù)獲取結(jié)果對應(yīng)的線程數(shù)的線程下載TS文件。

在該步驟中,若獲取結(jié)果中包括線程數(shù),則可以從獲取結(jié)果中提取線程數(shù),進而根據(jù)線程數(shù)的線程下載TS文件。也就是說,如果獲取結(jié)果中規(guī)定了線程數(shù),則客戶端的線程數(shù)不能超過規(guī)定的線程數(shù)。

若獲取結(jié)果中不包括線程數(shù),則可以獲取客戶端配置的線程數(shù),進而根據(jù)線程數(shù)的線程下載TS文件。也就是說,如果獲取結(jié)果中沒有規(guī)定線程數(shù),則按照客戶端本地的配置不能超過客戶端本地要求的最大線程數(shù)。

進一步地,客戶端采用多個線程下載同一個TS文件時,每個線程下載的數(shù)據(jù)塊的大小是固定的,如265KB等?;蛘撸肨S文件的大小除以線程數(shù),得到每個線程下載的數(shù)據(jù)塊的大小。

需要說明的是,在實際應(yīng)用中,上述所有可選實施方式可以采用結(jié)合的方式任意組合,形成本發(fā)明的可選實施例,在此不再一一贅述。

對應(yīng)于上述實施例中的下載流媒體數(shù)據(jù)的方法,本發(fā)明還提供一種下載流媒體數(shù)據(jù)的裝置。如圖3所示為本發(fā)明一實施例中下載流媒體數(shù)據(jù)的裝置的結(jié)構(gòu)示意圖,包括:

發(fā)送模塊31,用于當(dāng)接收到下載流媒體數(shù)據(jù)對應(yīng)的TS文件的指令時,向服務(wù)器發(fā)送獲取用于下載TS文件的線程數(shù)的請求;

接收模塊32,用于接收所述服務(wù)器返回的獲取結(jié)果;

下載模塊33,用于根據(jù)所述獲取結(jié)果對應(yīng)的線程數(shù)的線程下載所述TS文件。

在本發(fā)明一實施例中,所述服務(wù)器根據(jù)客戶端的第一相關(guān)信息和服務(wù)器本端的第二相關(guān)信息,確定所述客戶端即將下載所述TS文件的線程數(shù),并將所述線程數(shù)添加到所述TS文件的指定位置;

所述發(fā)送模塊31,還用于向服務(wù)器發(fā)送下載所述TS文件的指定位置的數(shù)據(jù)的請求。

在本發(fā)明一實施例中,所述客戶端的第一相關(guān)信息包括所述客戶端處理數(shù)據(jù)的能力值;所述服務(wù)器本端的第二相關(guān)信息包括所述服務(wù)器本端的網(wǎng)絡(luò)帶寬。

在本發(fā)明一實施例中,當(dāng)所述服務(wù)器確定的線程數(shù)發(fā)生變化時,將變化后的線程數(shù)添加到所述TS文件的下一個TS文件的指定位置。

在本發(fā)明一實施例中,若所述獲取結(jié)果中包括所述線程數(shù),所述下載模塊33還用于:從所述獲取結(jié)果中提取所述線程數(shù);根據(jù)所述線程數(shù)的線程下載所述TS文件。

在本發(fā)明一實施例中,若所述獲取結(jié)果中不包括所述線程數(shù),所述下載模塊33還用于:獲取所述客戶端配置的線程數(shù);根據(jù)所述線程數(shù)的線程下載所述TS文件。

在本發(fā)明一實施例中,所述下載模塊33還用于:

獲取所述TS文件的第一數(shù)據(jù)量;

采用所述TS文件的第一數(shù)據(jù)量除以所述線程數(shù),得到每個線程下載的數(shù)據(jù)塊的第二數(shù)據(jù)量;

利用各個線程下載所述第二數(shù)據(jù)量的數(shù)據(jù)塊。

本發(fā)明實施例的上述裝置:當(dāng)接收到下載流媒體數(shù)據(jù)對應(yīng)的TS文件的指令時,向服務(wù)器發(fā)送獲取用于下載TS文件的線程數(shù)的請求;接收所述服務(wù)器返回的獲取結(jié)果;根據(jù)所述獲取結(jié)果對應(yīng)的線程數(shù)的線程下載所述TS文件。由此可見,本發(fā)明實施例能夠?qū)崿F(xiàn)靈活地下載流媒體數(shù)據(jù)的目的。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
玉溪市| 玉环县| 社旗县| 昭觉县| 玛曲县| 淮滨县| 新河县| 道孚县| 香港| 黔南| 临洮县| 正蓝旗| 大兴区| 高要市| 景洪市| 建水县| 库伦旗| 龙里县| 汝南县| 东兰县| 萍乡市| 五寨县| 海丰县| 祁阳县| 芒康县| 二手房| 郸城县| 双牌县| 西华县| 广宁县| 舞阳县| 湖北省| 武义县| 厦门市| 蒙阴县| 上饶市| 岳普湖县| 乌兰县| 平江县| 合水县| 成安县|