本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種視頻傳輸方法及系統(tǒng)。
背景技術(shù):
經(jīng)過近幾年的互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)的業(yè)務(wù)不斷增加,人們基于互聯(lián)網(wǎng)可以接觸到各種各樣的信息,網(wǎng)絡(luò)也成為人們?nèi)粘9ぷ骱蜕钪胁豢苫蛉钡囊徊糠?。比如,用戶可以利用互?lián)網(wǎng)收發(fā)工作郵件、進行視頻會議等;或者,利用互聯(lián)網(wǎng)瀏覽新聞、聽音樂、購物、訂餐、觀看視頻等。且隨著互聯(lián)網(wǎng)的不斷發(fā)展進步,用戶通過實時傳輸視頻進行播放視頻的情況也越來越多,但目前視頻傳輸通常采用TCP協(xié)議(Transmission Control Protocol:傳輸控制協(xié)議),但TCP協(xié)議傳輸?shù)臄?shù)據(jù)包比較大,且其有嚴格的傳輸檢測,也即,如果在傳輸過程中丟失數(shù)據(jù)包則必須重傳;因此如果在網(wǎng)絡(luò)帶寬不好,或者終端的分辨率不高的情況下,并不能支持大數(shù)據(jù)包。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種視頻傳輸方法及系統(tǒng),將視頻的各個視頻幀拆分為多個小數(shù)據(jù)包進行傳輸,且在視頻的傳輸過程中允許丟失部分數(shù)據(jù)包而不要求重新傳輸,進而保證了視頻傳輸?shù)姆€(wěn)定和流暢,提升了用戶體驗。
本發(fā)明實施例提供一種視頻傳輸方法,包括:
獲取視頻文件的視頻幀,并將各所述視頻幀拆分為多個數(shù)據(jù)包;
通過預(yù)設(shè)的傳輸協(xié)議將所述視頻幀的所有所述數(shù)據(jù)包傳輸至預(yù)設(shè)位置;
在所述視頻幀的所有所述數(shù)據(jù)包傳輸完畢之后,檢測未傳輸成功的所述數(shù)據(jù)包數(shù)量是否超過預(yù)設(shè)閾值;
在未傳輸成功的所述數(shù)據(jù)包數(shù)量并未超過預(yù)設(shè)閾值時,將所有傳輸成功的所述數(shù)據(jù)包合并為視頻幀。
在一個實施例中,所述傳輸協(xié)議為HTTP傳輸協(xié)議。
在一個實施例中,所述方法還包括:
在未傳輸成功的所述數(shù)據(jù)包數(shù)量超過預(yù)設(shè)閾值時,重新傳輸所述視頻幀中未傳輸成功的所述數(shù)據(jù)包或所述視頻幀的所有所述數(shù)據(jù)包。
在一個實施例中,所述通過預(yù)設(shè)的傳輸協(xié)議將所述視頻幀的所有所述數(shù)據(jù)包傳輸至預(yù)設(shè)位之前,包括:
根據(jù)當(dāng)前的網(wǎng)絡(luò)帶寬手動調(diào)整每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小。
在一個實施例中,所述通過預(yù)設(shè)的傳輸協(xié)議將所述視頻幀的所有所述數(shù)據(jù)包傳輸至預(yù)設(shè)位之前,還包括:
根據(jù)當(dāng)前網(wǎng)絡(luò)帶寬以及預(yù)設(shè)的數(shù)據(jù)傳輸表自動配置每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小。
對應(yīng)于以上實施例所提供的一種視頻傳輸方法,本發(fā)明實施例還提供了一種視頻傳輸系統(tǒng),包括:
拆分模塊,用于獲取視頻文件的視頻幀,并將各所述視頻幀拆分為多個數(shù)據(jù)包;
傳輸模塊,用于通過預(yù)設(shè)的傳輸協(xié)議將所述視頻幀的所有所述數(shù)據(jù)包傳輸至預(yù)設(shè)位置;
檢測模塊,用于在所述視頻幀的所有所述數(shù)據(jù)包傳輸完畢之后,檢測未傳輸成功的所述數(shù)據(jù)包數(shù)量是否超過預(yù)設(shè)閾值;
合并模塊,用于在未傳輸成功的所述數(shù)據(jù)包數(shù)量并未超過預(yù)設(shè)閾值時,將所有傳輸成功的所述數(shù)據(jù)包合并為視頻幀。
在一個實施例中,所述傳輸協(xié)議為HTTP傳輸協(xié)議。
在一個實施例中,所述系統(tǒng)還包括:
重傳模塊,用于在未傳輸成功的所述數(shù)據(jù)包數(shù)量超過預(yù)設(shè)閾值時,重新傳輸所述視頻幀中未傳輸成功的所述數(shù)據(jù)包或所述視頻幀的所有所述數(shù)據(jù)包。
在一個實施例中,所述系統(tǒng)還包括:
手動調(diào)整模塊,用于根據(jù)當(dāng)前的網(wǎng)絡(luò)帶寬手動調(diào)整每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小。
在一個實施例中,所述系統(tǒng)還包括:
自動配置模塊,用于根據(jù)當(dāng)前網(wǎng)絡(luò)帶寬以及預(yù)設(shè)的數(shù)據(jù)傳輸表自動配置每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小。
以上實施例所描述的一種視頻傳輸方法及系統(tǒng),可以達到如下有益效果:獲取視頻文件的視頻幀,并將各所述視頻幀拆分為多個數(shù)據(jù)包;通過預(yù)設(shè)的傳輸協(xié)議將所述視頻幀的所有所述數(shù)據(jù)包傳輸至預(yù)設(shè)位置;在所述視頻幀的所有所述數(shù)據(jù)包傳輸完畢之后,檢測未傳輸成功的所述數(shù)據(jù)包數(shù)量是否超過預(yù)設(shè)閾值;在未傳輸成功的所述數(shù)據(jù)包數(shù)量并未超過預(yù)設(shè)閾值時,將所有傳輸成功的所述數(shù)據(jù)包合并為視頻幀。該方案將視頻的各個視頻幀拆分為多個小數(shù)據(jù)包進行傳輸,且在視頻的傳輸過程中允許丟失部分數(shù)據(jù)包而不要求重新傳輸,進而保證了視頻傳輸?shù)姆€(wěn)定和流暢,提升了用戶體驗。
本發(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ā)明根據(jù)一示例性實施例示出的一種視頻傳輸方法的一種實施例的流程圖;
圖2為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸方法的另一種實施例的流程圖;
圖3為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸方法的又一種實施例的流程圖;
圖4為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸方法的再一種實施例的流程圖;
圖5為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸系統(tǒng)的一種實施例的框圖;
圖6為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸系統(tǒng)的另一種實施例的框圖;
圖7為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸系統(tǒng)的又一種實施例的框圖;
圖8為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸系統(tǒng)的再一種實施例的框圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明公開的一實施例中提供了一種視頻傳輸方法,用以將視頻的各個視頻幀拆分為多個小數(shù)據(jù)包進行傳輸,且在視頻的傳輸過程中允許丟失部分數(shù)據(jù)包而不要求重新傳輸,進而保證了視頻傳輸?shù)姆€(wěn)定和流暢,提升了用戶體驗。如圖1所示,圖1為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸方法的一種實施例的流程圖;本發(fā)明實施例中一種視頻傳輸方法包括步驟S10-S40:
在步驟S10中,獲取視頻文件的視頻幀,并將各所述視頻幀拆分為多個數(shù)據(jù)包;也即,在該實施例中,首先需要將將要進行視頻傳輸?shù)囊曨l文件獲取到并將該視頻的每一幀視頻均分解為多個小數(shù)據(jù)包,該數(shù)據(jù)包的大小和每次傳輸?shù)乃鰯?shù)據(jù)包的數(shù)量可以根據(jù)預(yù)先設(shè)定的條件進行調(diào)整,比如,在網(wǎng)絡(luò)帶寬允許時,可以調(diào)大所述數(shù)據(jù)包的大小,而在網(wǎng)絡(luò)帶寬不允許時,可以調(diào)小所述數(shù)據(jù)包的大小,從而令所述數(shù)據(jù)包在各種情況下均被允許進行傳輸,且可以保證其傳輸速度可以流暢,從而在視頻播放時令觀眾觀看到的實時傳輸?shù)囊曨l是穩(wěn)定的??衫斫獾模谠撘曨l幀全部傳輸完成后,傳輸成功的所述數(shù)據(jù)包中,所有數(shù)據(jù)包可以合成一個高清視頻幀,而丟失了部分數(shù)據(jù)包(在預(yù)設(shè)閾值內(nèi))之后的數(shù)據(jù)包可以合成一個標(biāo)清視頻幀。
在步驟S20中,通過預(yù)設(shè)的傳輸協(xié)議將所述視頻幀的所有所述數(shù)據(jù)包傳輸至預(yù)設(shè)位置;也即,在該實施例中,所述傳輸協(xié)議可以根據(jù)需要進行設(shè)定,比如,在通常情況下,觀眾需要看到的是穩(wěn)定流暢的視頻播放,因此,在一個實施例中,所述傳輸協(xié)議為HTTP傳輸協(xié)議(Hyper Text Transfer Protocol:超文本傳輸協(xié)議);可理解的,HTTP傳輸協(xié)議更通用,其適合于更多的播放器和瀏覽器,且在本實施例中,HTTP傳輸協(xié)議當(dāng)發(fā)生數(shù)據(jù)包丟失的情況時,可以允許不再重傳而直接在該狀態(tài)下默認該幀視頻已經(jīng)完成傳輸,由于丟失的部分數(shù)據(jù)包只是一幀視頻中數(shù)據(jù)的一部分,因此丟失的數(shù)據(jù)包的數(shù)量在預(yù)設(shè)閾值之內(nèi)時,只是會使得視頻播放的清晰度下降,而不影響觀看,也即,優(yōu)先保證實時流暢,畫質(zhì)可以其次保證??衫斫獾?,在一些實施例中,在網(wǎng)絡(luò)帶寬允許且觀眾要求播放高清視頻時,此時可以切換為采用TCP傳輸協(xié)議亦可。
在步驟S30中,在所述視頻幀的所有所述數(shù)據(jù)包傳輸完畢之后,檢測未傳輸成功的所述數(shù)據(jù)包數(shù)量是否超過預(yù)設(shè)閾值;也即,在數(shù)據(jù)包丟失超過預(yù)設(shè)閾值,比如全部丟失的情況下,此時肯定需要進行重傳,因此首先需要檢測丟失的數(shù)據(jù)包數(shù)量有多少,是否超過預(yù)設(shè)閾值,可理解的,所述預(yù)設(shè)閾值可以根據(jù)觀看視頻的對象進行設(shè)置;如果丟失的數(shù)據(jù)包數(shù)量并未超過預(yù)設(shè)閾值,則可以將傳輸成功的多個數(shù)據(jù)包合并為視頻幀進行播放;而如果丟失的數(shù)據(jù)包數(shù)量超過預(yù)設(shè)閾值,則說明丟失的數(shù)據(jù)包過多,此時依舊需要進行重傳以保證視頻播放。
在步驟S40中,在未傳輸成功的所述數(shù)據(jù)包數(shù)量并未超過預(yù)設(shè)閾值時,將所有傳輸成功的所述數(shù)據(jù)包合并為視頻幀。也即,當(dāng)丟失的數(shù)據(jù)包并未影響到視頻播放時,可以直接在該情況下直接將數(shù)據(jù)包合成視頻幀進行播放,以優(yōu)先保證視頻的播放流暢。
在一個實施例中,如圖2所示,圖2為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸方法的另一種實施例的流程圖;所述方法的步驟S30之后還包括步驟S50:
在步驟S50中,在未傳輸成功的所述數(shù)據(jù)包數(shù)量超過預(yù)設(shè)閾值時,重新傳輸所述視頻幀中未傳輸成功的所述數(shù)據(jù)包或所述視頻幀的所有所述數(shù)據(jù)包。也即,當(dāng)丟失的數(shù)據(jù)包以及超出預(yù)設(shè)閾值影響到視頻播放時,在該情況下,需要進行重傳以保證視頻播放,而重傳的方式可以有兩種,一種是只重傳丟失的那部分數(shù)據(jù)包,另一種方式是將該視頻幀的所有拆分的數(shù)據(jù)包全部重傳。
在一個實施例中,如圖3所示,圖3為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸方法的又一種實施例的流程圖;所述方法的步驟S20之前還包括步驟S60:
在步驟S60中,根據(jù)當(dāng)前的網(wǎng)絡(luò)帶寬手動調(diào)整每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小。也即,本實施例中,手動調(diào)節(jié)的過程是采用了node(node.js)技術(shù)來進行的,可以利用node技術(shù)來根據(jù)網(wǎng)絡(luò)帶寬情況來調(diào)整每次傳輸?shù)臄?shù)據(jù)包的數(shù)量和/或每個所述數(shù)據(jù)包的大小,node在本實施例中作為一個微型服務(wù)器,且其更新時不用安裝,可以運用node實現(xiàn)p2p傳輸和繞開防火墻,運用它來進行調(diào)整每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小,高效穩(wěn)定,簡單快捷。
在一個實施例中,如圖4所示,圖4為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸方法的再一種實施例的流程圖;所述方法的步驟S20之前還包括步驟S70:
在步驟S70中,根據(jù)當(dāng)前網(wǎng)絡(luò)帶寬以及預(yù)設(shè)的數(shù)據(jù)傳輸表自動配置每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小。也即,本實施例中,自動配置的過程是采用了node(node.js)技術(shù)來進行的,可以利用node技術(shù)來根據(jù)網(wǎng)絡(luò)帶寬情況來調(diào)整每次傳輸?shù)臄?shù)據(jù)包的數(shù)量和/或每個所述數(shù)據(jù)包的大小,node在本實施例中作為一個微型服務(wù)器,且其更新時不用安裝,可以運用node實現(xiàn)p2p傳輸和繞開防火墻,運用它來進行調(diào)整每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小,高效穩(wěn)定,簡單快捷。
以上實施例所描述的一種視頻傳輸方法及系統(tǒng),可以達到如下有益效果:獲取視頻文件的視頻幀,并將各所述視頻幀拆分為多個數(shù)據(jù)包;通過預(yù)設(shè)的傳輸協(xié)議將所述視頻幀的所有所述數(shù)據(jù)包傳輸至預(yù)設(shè)位置;在所述視頻幀的所有所述數(shù)據(jù)包傳輸完畢之后,檢測未傳輸成功的所述數(shù)據(jù)包數(shù)量是否超過預(yù)設(shè)閾值;在未傳輸成功的所述數(shù)據(jù)包數(shù)量并未超過預(yù)設(shè)閾值時,將所有傳輸成功的所述數(shù)據(jù)包合并為視頻幀。該方案將視頻的各個視頻幀拆分為多個小數(shù)據(jù)包進行傳輸,且在視頻的傳輸過程中允許丟失部分數(shù)據(jù)包而不要求重新傳輸,進而保證了視頻傳輸?shù)姆€(wěn)定和流暢,提升了用戶體驗。
對應(yīng)本發(fā)明實施例提供的一種視頻傳輸方法,本發(fā)明還提供了一種視頻傳輸系統(tǒng);如圖5所示,圖5為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸系統(tǒng)的一種實施例的框圖;所述一種視頻傳輸系統(tǒng),包括:
拆分模塊61,用于獲取視頻文件的視頻幀,并將各所述視頻幀拆分為多個數(shù)據(jù)包;也即,在該實施例中,首先需要將將要進行視頻傳輸?shù)囊曨l文件獲取到并將該視頻的每一幀視頻均分解為多個小數(shù)據(jù)包,該數(shù)據(jù)包的大小和每次傳輸?shù)乃鰯?shù)據(jù)包的數(shù)量可以根據(jù)預(yù)先設(shè)定的條件進行調(diào)整,比如,在網(wǎng)絡(luò)帶寬允許時,可以調(diào)大所述數(shù)據(jù)包的大小,而在網(wǎng)絡(luò)帶寬不允許時,可以調(diào)小所述數(shù)據(jù)包的大小,從而令所述數(shù)據(jù)包在各種情況下均被允許進行傳輸,且可以保證其傳輸速度可以流暢,從而在視頻播放時令觀眾觀看到的實時傳輸?shù)囊曨l是穩(wěn)定的??衫斫獾?,在該視頻幀全部傳輸完成后,傳輸成功的所述數(shù)據(jù)包中,所有數(shù)據(jù)包可以合成一個高清視頻幀,而丟失了部分數(shù)據(jù)包(在預(yù)設(shè)閾值內(nèi))之后的數(shù)據(jù)包可以合成一個標(biāo)清視頻幀。
傳輸模塊62,用于通過預(yù)設(shè)的傳輸協(xié)議將所述視頻幀的所有所述數(shù)據(jù)包傳輸至預(yù)設(shè)位置;也即,在該實施例中,所述傳輸協(xié)議可以根據(jù)需要進行設(shè)定,比如,在通常情況下,觀眾需要看到的是穩(wěn)定流暢的視頻播放,因此,在一個實施例中,所述傳輸協(xié)議為HTTP傳輸協(xié)議(Hyper Text Transfer Protocol:超文本傳輸協(xié)議);可理解的,HTTP傳輸協(xié)議更通用,其適合于更多的播放器和瀏覽器,且在本實施例中,HTTP傳輸協(xié)議當(dāng)發(fā)生數(shù)據(jù)包丟失的情況時,可以允許不再重傳而直接在該狀態(tài)下默認該幀視頻已經(jīng)完成傳輸,由于丟失的部分數(shù)據(jù)包只是一幀視頻中數(shù)據(jù)的一部分,因此丟失的數(shù)據(jù)包的數(shù)量在預(yù)設(shè)閾值之內(nèi)時,只是會使得視頻播放的清晰度下降,而不影響觀看,也即,優(yōu)先保證實時流暢,畫質(zhì)可以其次保證??衫斫獾?,在一些實施例中,在網(wǎng)絡(luò)帶寬允許且觀眾要求播放高清視頻時,此時可以切換為采用TCP傳輸協(xié)議亦可。
檢測模塊63,用于在所述視頻幀的所有所述數(shù)據(jù)包傳輸完畢之后,檢測未傳輸成功的所述數(shù)據(jù)包數(shù)量是否超過預(yù)設(shè)閾值;也即,在數(shù)據(jù)包丟失超過預(yù)設(shè)閾值,比如全部丟失的情況下,此時肯定需要進行重傳,因此首先需要檢測丟失的數(shù)據(jù)包數(shù)量有多少,是否超過預(yù)設(shè)閾值,可理解的,所述預(yù)設(shè)閾值可以根據(jù)觀看視頻的對象進行設(shè)置;如果丟失的數(shù)據(jù)包數(shù)量并未超過預(yù)設(shè)閾值,則可以將傳輸成功的多個數(shù)據(jù)包合并為視頻幀進行播放;而如果丟失的數(shù)據(jù)包數(shù)量超過預(yù)設(shè)閾值,則說明丟失的數(shù)據(jù)包過多,此時依舊需要進行重傳以保證視頻播放。
合并模塊64,用于在未傳輸成功的所述數(shù)據(jù)包數(shù)量并未超過預(yù)設(shè)閾值時,將所有傳輸成功的所述數(shù)據(jù)包合并為視頻幀。也即,當(dāng)丟失的數(shù)據(jù)包并未影響到視頻播放時,可以直接在該情況下直接將數(shù)據(jù)包合成視頻幀進行播放,以優(yōu)先保證視頻的播放流暢。
在一個實施例中,如圖6所示,圖6為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸系統(tǒng)的另一種實施例的框圖;所述系統(tǒng)還包括:
重傳模塊65,用于在未傳輸成功的所述數(shù)據(jù)包數(shù)量超過預(yù)設(shè)閾值時,重新傳輸所述視頻幀中未傳輸成功的所述數(shù)據(jù)包或所述視頻幀的所有所述數(shù)據(jù)包。也即,當(dāng)丟失的數(shù)據(jù)包以及超出預(yù)設(shè)閾值影響到視頻播放時,在該情況下,需要進行重傳以保證視頻播放,而重傳的方式可以有兩種,一種是只重傳丟失的那部分數(shù)據(jù)包,另一種方式是將該視頻幀的所有拆分的數(shù)據(jù)包全部重傳。
在一個實施例中,如圖7所示,圖7為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸系統(tǒng)的又一種實施例的框圖;所述系統(tǒng)還包括:
手動調(diào)整模塊66,用于根據(jù)當(dāng)前的網(wǎng)絡(luò)帶寬手動調(diào)整每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小。也即,本實施例中,手動調(diào)節(jié)的過程是采用了node(node.js)技術(shù)來進行的,可以利用node技術(shù)來根據(jù)網(wǎng)絡(luò)帶寬情況來調(diào)整每次傳輸?shù)臄?shù)據(jù)包的數(shù)量和/或每個所述數(shù)據(jù)包的大小,node在本實施例中作為一個微型服務(wù)器,且其更新時不用安裝,可以運用node實現(xiàn)p2p傳輸和繞開防火墻,運用它來進行調(diào)整每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小,高效穩(wěn)定,簡單快捷。
在一個實施例中,如圖8所示,圖8為本發(fā)明根據(jù)一示例性實施例示出的一種視頻傳輸系統(tǒng)的再一種實施例的框圖;所述系統(tǒng)還包括:
自動配置模塊67,用于根據(jù)當(dāng)前網(wǎng)絡(luò)帶寬以及預(yù)設(shè)的數(shù)據(jù)傳輸表自動配置每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小。也即,本實施例中,自動配置的過程是采用了node(node.js)技術(shù)來進行的,可以利用node技術(shù)來根據(jù)網(wǎng)絡(luò)帶寬情況來調(diào)整每次傳輸?shù)臄?shù)據(jù)包的數(shù)量和/或每個所述數(shù)據(jù)包的大小,node在本實施例中作為一個微型服務(wù)器,且其更新時不用安裝,可以運用node實現(xiàn)p2p傳輸和繞開防火墻,運用它來進行調(diào)整每次傳輸數(shù)據(jù)包的數(shù)量和/或數(shù)據(jù)包的大小,高效穩(wěn)定,簡單快捷。
以上實施例所描述的一種視頻傳輸系統(tǒng),可以達到如下有益效果:將視頻的各個視頻幀拆分為多個小數(shù)據(jù)包進行傳輸,且在視頻的傳輸過程中允許丟失部分數(shù)據(jù)包而不要求重新傳輸,進而保證了視頻傳輸?shù)姆€(wěn)定和流暢,提升了用戶體驗。
本領(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)。