一種p2p系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法
【專利摘要】本發(fā)明提出一種P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,包括下列步驟:獲取直播流媒體源數(shù)據(jù);將所述直播流媒體源數(shù)據(jù)按照每一幀為長(zhǎng)度切片并且編碼為媒體數(shù)據(jù)包;對(duì)所述連續(xù)的媒體數(shù)據(jù)包按照固定長(zhǎng)度進(jìn)行切片并編碼封裝為P2P數(shù)據(jù)包;通過(guò)P2P網(wǎng)絡(luò)將所述P2P數(shù)據(jù)包發(fā)送給播放客戶端。本發(fā)明提出的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,最小化網(wǎng)絡(luò)傳輸開(kāi)銷,降低了對(duì)帶寬的要求,同時(shí)通過(guò)校驗(yàn)機(jī)制有效保證直播流防篡改。
【專利說(shuō)明】
一種P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及直播流媒體數(shù)據(jù)傳輸領(lǐng)域,且特別涉及一種P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的發(fā)展,利用網(wǎng)絡(luò)進(jìn)行流媒體直播或點(diǎn)播逐漸成為一種趨勢(shì),慢慢融入到人們的日常生活中,在工作、學(xué)習(xí)以及娛樂(lè)等各個(gè)方面形成熱點(diǎn),無(wú)論是視頻會(huì)議、在線教育還是網(wǎng)絡(luò)電視、視頻網(wǎng)站都應(yīng)用的越來(lái)越廣泛。流媒體(Stream Media)是指采用流式傳輸?shù)姆绞皆贗nternet/Intranet播放的媒體格式,如音頻、視頻或多媒體文件。流媒體在播放前不需要下載整個(gè)文件,只將開(kāi)始部分內(nèi)容存入內(nèi)存,在計(jì)算機(jī)中對(duì)數(shù)據(jù)包進(jìn)行緩存并使流媒體數(shù)據(jù)正確地輸出,可以邊下載邊觀看。其原理是把向用戶傳輸?shù)亩嗝襟w文件按照播出時(shí)間順序分為不同的片段,然后依次把這些片段發(fā)給用戶,連續(xù)播放這些片段就形成了連續(xù)的聲音和圖像。
[0003]流式傳輸主要指將整個(gè)音頻和視頻及三維媒體等多媒體文件經(jīng)過(guò)特定的壓縮方式解析成一個(gè)個(gè)壓縮包,由視頻服務(wù)器向用戶計(jì)算機(jī)順序或?qū)崟r(shí)傳送。在采用流式傳輸方式的系統(tǒng)中,用戶不必像采用下載方式那樣等到整個(gè)文件全部下載完畢,而是只需經(jīng)過(guò)幾秒或者幾十秒的啟動(dòng)延時(shí)即可再用戶的計(jì)算機(jī)上利用解壓設(shè)備對(duì)壓縮的多媒體文件解壓后進(jìn)行播放和觀看。此時(shí)多媒體文件的剩余部分將在后臺(tái)的服務(wù)器內(nèi)繼續(xù)下載。與單純的下載方式相比,這種對(duì)多媒體文件邊下載邊播放的流式傳輸方式不僅使啟動(dòng)時(shí)間大幅度地縮短,而且對(duì)系統(tǒng)緩存容量的需求也大大降低,極大地減少用戶用在等待的時(shí)間。目前,流媒體技術(shù)已經(jīng)廣泛應(yīng)用在互聯(lián)網(wǎng)領(lǐng)域中。
[0004]傳統(tǒng)的網(wǎng)絡(luò)流媒體播放系統(tǒng)一般基于C/S模式,但是由于流媒體播放需要消耗大量的網(wǎng)絡(luò)帶寬和服務(wù)器資源,因此這種模式嚴(yán)重限制了網(wǎng)絡(luò)流媒體業(yè)務(wù)的發(fā)展。以一個(gè)占用帶寬為300kbps的網(wǎng)絡(luò)視頻流為例,當(dāng)有1000個(gè)用戶同時(shí)觀看時(shí),需要的帶寬是300Mbps。這樣的性能要求對(duì)于大多數(shù)服務(wù)器來(lái)說(shuō)是滿足不了的。如果要支持幾萬(wàn)甚至幾十萬(wàn)的用戶,采用這種C/S模式幾乎是不可能的。當(dāng)然,增加服務(wù)器數(shù)量和提高帶寬是一種解決方法,但是這種方式需要巨大的成本開(kāi)支,所以需要新的技術(shù)手段來(lái)解決這個(gè)問(wèn)題。
[0005]IP組播是解決網(wǎng)絡(luò)流媒體多路傳輸消耗大量帶寬的一種技術(shù)。利用組播可以將一份數(shù)據(jù)同時(shí)發(fā)送給一組特定的用戶,從而避免了數(shù)據(jù)的重復(fù)發(fā)送,不會(huì)造成網(wǎng)絡(luò)帶寬的浪費(fèi),非常適合網(wǎng)絡(luò)流媒體傳輸。但是IP組播也具有自身的問(wèn)題,因?yàn)镮nternet是個(gè)異構(gòu)網(wǎng)絡(luò),硬件平臺(tái)千差萬(wàn)別,互聯(lián)設(shè)備在對(duì)組播的支持上也存在差異,因此IP組播在實(shí)際應(yīng)用中存在部署的困難。
[0006]對(duì)等網(wǎng)絡(luò)是最近幾年新興的網(wǎng)絡(luò)技術(shù),相對(duì)于傳統(tǒng)的C/S模式,P2P模式一個(gè)非常顯著的特點(diǎn)就是節(jié)點(diǎn)無(wú)需依賴集中式服務(wù)器資源,各節(jié)點(diǎn)可以直接進(jìn)行通信。每個(gè)節(jié)點(diǎn)具有相同的地位,既可以請(qǐng)求服務(wù),也可以提供服務(wù),同時(shí)扮演著C/S模式中服務(wù)器和客戶機(jī)的雙重角色,甚至還可以具有路由器和高速緩存的功能。在P2P模式下,由于每個(gè)節(jié)點(diǎn)都具有客戶機(jī)和服務(wù)器的功能,這樣每個(gè)節(jié)點(diǎn)在從別的節(jié)點(diǎn)接收數(shù)據(jù)流的同時(shí)還向其他節(jié)點(diǎn)發(fā)送數(shù)據(jù)流。利用這個(gè)特點(diǎn),P2P網(wǎng)絡(luò)技術(shù)可以應(yīng)用現(xiàn)有的計(jì)算資源和有限網(wǎng)絡(luò)帶寬來(lái)實(shí)現(xiàn)大規(guī)模網(wǎng)絡(luò)流媒體直播。
[0007]現(xiàn)有技術(shù)中的P2P直播技術(shù)是將流媒體數(shù)據(jù)按照每幀的形式切片并封裝為P2P媒體數(shù)據(jù)包后傳輸,然而由于每一幀的數(shù)據(jù)并不相同,導(dǎo)致某些幀的媒體數(shù)據(jù)包所包含的數(shù)據(jù)較大,特別對(duì)于一些帶寬較小的用戶在使用時(shí)會(huì)產(chǎn)生聲音或視頻畫(huà)面播放卡頓的現(xiàn)象。這種情況在包括視頻會(huì)議、遠(yuǎn)程教學(xué)、視頻直播等在內(nèi)的很多對(duì)實(shí)時(shí)性要求較高的應(yīng)用中是非常不利的,降低了系統(tǒng)的服務(wù)質(zhì)量和用戶感受。同時(shí),現(xiàn)有技術(shù)中的P2P直播技術(shù)并沒(méi)有數(shù)據(jù)校驗(yàn)機(jī)制,不能保證直播流被篡改,數(shù)據(jù)安全性無(wú)法得到保障。
【發(fā)明內(nèi)容】
[0008]本發(fā)明提出一種P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,最小化網(wǎng)絡(luò)傳輸開(kāi)銷,降低了對(duì)帶寬的要求,同時(shí)通過(guò)校驗(yàn)機(jī)制有效保證直播流防篡改。
[0009]為了達(dá)到上述目的,本發(fā)明提出一種P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,包括下列步驟:
[0010]獲取直播流媒體源數(shù)據(jù);
[0011]將所述直播流媒體源數(shù)據(jù)按照每一幀為長(zhǎng)度切片并且編碼為媒體數(shù)據(jù)包;
[0012]對(duì)所述連續(xù)的媒體數(shù)據(jù)包按照固定長(zhǎng)度進(jìn)行切片并編碼封裝為P2P數(shù)據(jù)包;
[0013]通過(guò)P2P網(wǎng)絡(luò)將所述P2P數(shù)據(jù)包發(fā)送給播放客戶端。
[0014]進(jìn)一步的,所述媒體數(shù)據(jù)包的編碼格式為包括:標(biāo)志、包長(zhǎng)度、包序號(hào)、校驗(yàn)值、數(shù)據(jù)塊數(shù)和數(shù)據(jù)塊。
[0015]進(jìn)一步的,所述數(shù)據(jù)塊為將所述每一幀的直播流媒體源數(shù)據(jù)按照固定長(zhǎng)度切片獲取,所述數(shù)據(jù)塊數(shù)即為切片后的所述數(shù)據(jù)塊的數(shù)量。
[0016]進(jìn)一步的,所述數(shù)據(jù)塊的長(zhǎng)度為I?2KB。
[0017]進(jìn)一步的,當(dāng)所述直播流媒體源數(shù)據(jù)為視頻流時(shí),所述數(shù)據(jù)塊的編碼格式為包括:塊標(biāo)示、時(shí)間戳、塊長(zhǎng)度和數(shù)據(jù),所述塊標(biāo)示表示所述數(shù)據(jù)塊是否包含關(guān)鍵幀頭,其數(shù)值為I時(shí)表示包含關(guān)鍵幀頭,數(shù)值為O時(shí)表示不包含關(guān)鍵幀頭。
[0018]進(jìn)一步的,當(dāng)所述直播流媒體源數(shù)據(jù)為音頻流時(shí),所述數(shù)據(jù)塊的編碼格式為包括:時(shí)間戳、塊長(zhǎng)度和數(shù)據(jù)。
[0019]進(jìn)一步的,所述校驗(yàn)值采用CRC校驗(yàn)或者M(jìn)D5校驗(yàn)。
[0020]進(jìn)一步的,所述P2P數(shù)據(jù)包的固定長(zhǎng)度為I?2KB。
[0021]進(jìn)一步的,所述P2P數(shù)據(jù)包的編碼格式為包括:數(shù)據(jù)、包類型和媒體包偏移;所述數(shù)據(jù)為流媒體數(shù)據(jù);所述包類型表示所述P2P數(shù)據(jù)包是否包含媒體數(shù)據(jù)包開(kāi)頭,其數(shù)值為I時(shí)表示包含媒體數(shù)據(jù)包的開(kāi)頭,數(shù)值為O時(shí)表示只包含流媒體數(shù)據(jù);所述媒體包偏移為媒體數(shù)據(jù)包的開(kāi)頭在P2P數(shù)據(jù)包中的偏移位置,僅在包類型值為I時(shí)有效。
[0022]進(jìn)一步的,所述P2P網(wǎng)絡(luò)為P2P+⑶N融合網(wǎng)絡(luò)。
[0023]本發(fā)明提出一種P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,將音視頻直播流媒體數(shù)據(jù)按照每幀為長(zhǎng)度切片編碼為媒體數(shù)據(jù)包,并對(duì)所述媒體數(shù)據(jù)包再次按照固定長(zhǎng)度進(jìn)行切片并編碼封裝為P2P數(shù)據(jù)包,最后通過(guò)P2P網(wǎng)絡(luò)將數(shù)據(jù)包發(fā)送給播放客戶端解碼播放。本發(fā)明通過(guò)將音視頻直播流媒體數(shù)據(jù)切片編碼為較小格式的P2P數(shù)據(jù)包,減少了單次傳輸?shù)臄?shù)據(jù)量,降低了對(duì)用戶帶寬的要求,最小化網(wǎng)絡(luò)傳輸開(kāi)銷,能夠適用于各種應(yīng)用環(huán)境,避免卡頓及延時(shí)現(xiàn)象的發(fā)送,保證直播的流暢性,提高用戶的使用感受。同時(shí)本發(fā)明提出的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法還具有校驗(yàn)機(jī)制,能夠有效保證直播流防篡改,確保直播的安全性和準(zhǔn)確性。
【附圖說(shuō)明】
[0024]圖1所示為本發(fā)明較佳實(shí)施例的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法流程圖。
[0025]圖2所示為本發(fā)明較佳實(shí)施例的媒體數(shù)據(jù)包結(jié)構(gòu)示意圖。
[0026]圖3所示為本發(fā)明較佳實(shí)施例的P2P數(shù)據(jù)包結(jié)構(gòu)示意圖。
[0027]圖4所示為本發(fā)明較佳實(shí)施例的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法功能構(gòu)架原理圖。
【具體實(shí)施方式】
[0028]以下結(jié)合附圖給出本發(fā)明的【具體實(shí)施方式】,但本發(fā)明不限于以下的實(shí)施方式。根據(jù)下面說(shuō)明和權(quán)利要求書(shū),本發(fā)明的優(yōu)點(diǎn)和特征將更清楚。需說(shuō)明的是,附圖均采用非常簡(jiǎn)化的形式且均使用非精準(zhǔn)的比率,僅用于方便、明晰地輔助說(shuō)明本發(fā)明實(shí)施例的目的。
[0029]請(qǐng)參考圖1,圖1所示為本發(fā)明較佳實(shí)施例的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法流程圖。本發(fā)明提出一種P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,包括下列步驟:
[0030]步驟SlOO:獲取直播流媒體源數(shù)據(jù);
[0031]步驟S200:將所述直播流媒體源數(shù)據(jù)按照每一幀為長(zhǎng)度切片并且編碼為媒體數(shù)據(jù)包;
[0032]步驟S300:對(duì)所述連續(xù)的媒體數(shù)據(jù)包按照固定長(zhǎng)度進(jìn)行切片并編碼封裝為P2P數(shù)據(jù)包;
[0033]步驟S400:通過(guò)P2P網(wǎng)絡(luò)將所述P2P數(shù)據(jù)包發(fā)送給播放客戶端。
[0034]請(qǐng)參考圖2,圖2所示為本發(fā)明較佳實(shí)施例的媒體數(shù)據(jù)包結(jié)構(gòu)示意圖。根據(jù)本發(fā)明較佳實(shí)施例,所述媒體數(shù)據(jù)包的編碼格式為包括:標(biāo)志、包長(zhǎng)度、包序號(hào)、校驗(yàn)值、數(shù)據(jù)塊數(shù)和數(shù)據(jù)塊。其中,所述標(biāo)志為固定魔術(shù)字,例如為Oxaa,其長(zhǎng)度為IB ;所述包長(zhǎng)度表示為整個(gè)媒體數(shù)據(jù)包全長(zhǎng),其占用長(zhǎng)度為4B ;所述包序號(hào)表示為媒體數(shù)據(jù)包的編號(hào),從O開(kāi)始順序遞增1,其占用長(zhǎng)度為2B。
[0035]所述校驗(yàn)值采用CRC校驗(yàn)或者M(jìn)D5校驗(yàn)。CRC即循環(huán)冗余校驗(yàn)碼(CyclicRedundancy Check):是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯(cuò)校驗(yàn)碼,其特征是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。循環(huán)冗余檢查(CRC)是一種數(shù)據(jù)傳輸檢錯(cuò)功能,對(duì)數(shù)據(jù)進(jìn)行多項(xiàng)式計(jì)算,并將得到的結(jié)果附在幀的后面,接收設(shè)備也執(zhí)行類似的算法,以保證數(shù)據(jù)傳輸?shù)恼_性和完整性。MD5校驗(yàn)和(checksum)通過(guò)對(duì)接收的傳輸數(shù)據(jù)執(zhí)行散列運(yùn)算來(lái)檢查數(shù)據(jù)的正確性。計(jì)算出的散列值拿來(lái)和隨數(shù)據(jù)傳輸?shù)纳⒘兄当容^。如果兩個(gè)值相同,說(shuō)明傳輸?shù)臄?shù)據(jù)完整無(wú)誤、沒(méi)有被竄改過(guò),從而可以放心使用。根據(jù)本發(fā)明較佳實(shí)施例,所述校驗(yàn)值采用CRC校驗(yàn),具體為CRC16 (媒體數(shù)據(jù)包+pin_code),其占用長(zhǎng)度為2B。
[0036]所述數(shù)據(jù)塊數(shù)表示為數(shù)據(jù)塊的個(gè)數(shù),數(shù)據(jù)塊信息包含的塊個(gè)數(shù),其占用長(zhǎng)度為IB ;所述數(shù)據(jù)塊為將所述每一幀的直播流媒體源數(shù)據(jù)按照固定長(zhǎng)度切片獲取,所述數(shù)據(jù)塊數(shù)即為切片后的所述數(shù)據(jù)塊的數(shù)量。根據(jù)本發(fā)明較佳實(shí)施例,所述數(shù)據(jù)塊的長(zhǎng)度為I?2KB。
[0037]進(jìn)一步的,當(dāng)所述直播流媒體源數(shù)據(jù)為視頻流時(shí),所述數(shù)據(jù)塊的編碼格式為包括:塊標(biāo)示、時(shí)間戳、塊長(zhǎng)度和數(shù)據(jù),所述塊標(biāo)示表示所述數(shù)據(jù)塊是否包含關(guān)鍵幀頭,其數(shù)值為I時(shí)表示包含關(guān)鍵幀頭,數(shù)值為O時(shí)表示不包含關(guān)鍵幀頭,其占用長(zhǎng)度為IB ;所述時(shí)間戳表示數(shù)據(jù)塊的播放時(shí)間,其占用長(zhǎng)度為4B ;所述塊長(zhǎng)度表示為數(shù)據(jù)長(zhǎng)度,其占用長(zhǎng)度為2B ;所述數(shù)據(jù)承載視頻數(shù)據(jù)。
[0038]進(jìn)一步的,當(dāng)所述直播流媒體源數(shù)據(jù)為音頻流時(shí),所述數(shù)據(jù)塊的編碼格式為包括:時(shí)間戳、塊長(zhǎng)度和數(shù)據(jù),所述時(shí)間戳表示數(shù)據(jù)塊的播放時(shí)間,其占用長(zhǎng)度為4B ;所述塊長(zhǎng)度表示為數(shù)據(jù)長(zhǎng)度,其占用長(zhǎng)度為2B ;所述數(shù)據(jù)承載音頻數(shù)據(jù)。
[0039]綜上所述,所述媒體數(shù)據(jù)包長(zhǎng)度為變長(zhǎng),根據(jù)每一幀的數(shù)據(jù)量具有不同的數(shù)據(jù)長(zhǎng)度,媒體數(shù)據(jù)包承載編碼后的音頻、視頻數(shù)據(jù);媒體數(shù)據(jù)包允許缺失,但推送給播放器的一定是完整包,不能有任何數(shù)據(jù)缺失和錯(cuò)誤;視頻媒體數(shù)據(jù)包有兩種類型:有關(guān)鍵幀和非關(guān)鍵幀,非關(guān)鍵幀的包依賴于前面關(guān)鍵幀的包,如果中間發(fā)生丟包,那么下一個(gè)推送給播放器的必須是帶關(guān)鍵幀的包,而音頻媒體數(shù)據(jù)包可容忍丟包。
[0040]再請(qǐng)參看圖3,圖3所示為本發(fā)明較佳實(shí)施例的P2P數(shù)據(jù)包結(jié)構(gòu)示意圖。根據(jù)本發(fā)明較佳實(shí)施例,所述P2P數(shù)據(jù)包的固定長(zhǎng)度為I?2KB,例如可為定長(zhǎng)1460B,媒體數(shù)據(jù)包切片放入固定長(zhǎng)度的P2P數(shù)據(jù)包中進(jìn)行傳輸,一個(gè)媒體數(shù)據(jù)包可以放入多個(gè)P2P數(shù)據(jù)包中,一個(gè)P2P數(shù)據(jù)包也可以包含兩個(gè)數(shù)據(jù)媒體包。直播流由一個(gè)個(gè)P2P數(shù)據(jù)包組成,把直播流看作一個(gè)無(wú)文件尾的文件,P2P數(shù)據(jù)包就是該文件的數(shù)據(jù),直播流的位圖會(huì)隨著P2P數(shù)據(jù)包的生成而一直增長(zhǎng)。
[0041]進(jìn)一步的,所述P2P數(shù)據(jù)包的編碼格式為包括:數(shù)據(jù)、包類型和媒體包偏移;所述數(shù)據(jù)為流媒體數(shù)據(jù),當(dāng)P2P數(shù)據(jù)包的固定長(zhǎng)度為1460B時(shí),所述數(shù)據(jù)的長(zhǎng)度固定為1455B ;所述包類型表示所述P2P數(shù)據(jù)包是否包含媒體數(shù)據(jù)包開(kāi)頭(即媒體數(shù)據(jù)包的頭部),其數(shù)值為I時(shí)表示包含媒體數(shù)據(jù)包的開(kāi)頭,數(shù)值為O時(shí)表示只包含流媒體數(shù)據(jù),所述包類型占用長(zhǎng)度為IB ;所述媒體包偏移為媒體數(shù)據(jù)包的開(kāi)頭在P2P數(shù)據(jù)包中的偏移位置,僅在包類型值為I時(shí)有效,所述媒體包偏移占用長(zhǎng)度為4B。
[0042]根據(jù)本發(fā)明較佳實(shí)施例,所述P2P網(wǎng)絡(luò)為P2P+CDN融合網(wǎng)絡(luò)。在音視頻多媒體業(yè)務(wù)的服務(wù)模式中,基于互聯(lián)網(wǎng)基礎(chǔ)網(wǎng)絡(luò)的視頻應(yīng)用,需要面對(duì)大并發(fā)量的用戶,就需要高效的音視頻內(nèi)容分發(fā)和傳輸技術(shù),這也是音視頻業(yè)務(wù)服務(wù)模式的基礎(chǔ)核心。雖然以IP為基礎(chǔ)的互聯(lián)網(wǎng)的特點(diǎn)是效率高,但是相對(duì)于傳統(tǒng)的電信網(wǎng),其沒(méi)有較好的服務(wù)質(zhì)量(QoS,Qualityof Service)保證(如:較大的時(shí)延、時(shí)延抖動(dòng)、丟包、亂序等),將是該業(yè)務(wù)開(kāi)展必須面對(duì)和解決的問(wèn)題。而當(dāng)前采用P2P融合CDN視頻傳輸?shù)募夹g(shù)方案,即可解決以上問(wèn)題。
[0043]P2P是對(duì)等連接peertopeer模式的簡(jiǎn)稱。P2P技術(shù)是一種用于不同終端用戶之間、不經(jīng)過(guò)中繼設(shè)備直接交換數(shù)據(jù)或服務(wù)的技術(shù)。它打破了傳統(tǒng)的Client/Server模式,在對(duì)等網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)的地位都是相同的,具備客戶端和服務(wù)器雙重特性,可以同時(shí)作為服務(wù)使用者和服務(wù)提供者。P2P的核心是利用用戶資源,通過(guò)對(duì)等方式進(jìn)行文件傳輸,這完全不同于傳統(tǒng)的客戶服務(wù)器計(jì)算模型。P2P通過(guò)“非中心化”的設(shè)計(jì)和多點(diǎn)傳輸機(jī)制,實(shí)現(xiàn)了不依賴服務(wù)器而快速的交換文件。然而,P2P系統(tǒng)也存在明顯的缺點(diǎn),就是可用性問(wèn)題,盡管從整個(gè)系統(tǒng)而言,P2P是可靠的,但是對(duì)于單個(gè)內(nèi)容或者單個(gè)任務(wù)而言,P2P是不穩(wěn)定的,每個(gè)Peer可以隨時(shí)終止服務(wù),甚至退出系統(tǒng),即交換的內(nèi)容隨時(shí)可能被刪除或者被終止共享。
[0044]CDN的英文全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò),也稱為內(nèi)容傳輸網(wǎng)絡(luò)。CDN是建立在現(xiàn)有IP網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)之上的一種增值網(wǎng)絡(luò),是在應(yīng)用層部署的一層網(wǎng)絡(luò)架構(gòu)。CDN的核心是利用智能化策略技術(shù),將中心的內(nèi)容和服務(wù)推送到網(wǎng)絡(luò)邊緣,使得用戶可以在最近的和服務(wù)質(zhì)量最佳的地方獲取服務(wù),其關(guān)鍵技術(shù)包括高速緩存、負(fù)載均衡、內(nèi)容路由、內(nèi)容分發(fā)、內(nèi)容存儲(chǔ)和內(nèi)容管理等。CDN的技術(shù)優(yōu)點(diǎn)包括:(I)全局負(fù)載平衡,訪問(wèn)速度快,讓用戶連接到最近的服務(wù)器上去。(2)熱點(diǎn)內(nèi)容主動(dòng)傳送,自動(dòng)跟蹤,自動(dòng)更新。
(3)無(wú)縫集成、高可靠、可用性以及擴(kuò)展性。(4)減少對(duì)網(wǎng)絡(luò)帶寬資源的占用,具有智能的管理控制能力。(5)發(fā)送的內(nèi)容受到保護(hù),而且內(nèi)容提供商可在本地自己決定服務(wù)的內(nèi)容?;谏鲜龅膬?yōu)點(diǎn),CDN技術(shù)能提高寬帶資源的利用率,增加流媒體在互聯(lián)網(wǎng)上的應(yīng)用普及,這些應(yīng)用包括在線播放、音樂(lè)點(diǎn)播、電視直播、互動(dòng)游戲等,大大促進(jìn)Internet應(yīng)用和服務(wù)的發(fā)展。但是,現(xiàn)有CDN網(wǎng)絡(luò)都只是針對(duì)傳統(tǒng)互聯(lián)網(wǎng)的網(wǎng)絡(luò)結(jié)構(gòu)、內(nèi)容傳送和業(yè)務(wù)開(kāi)展方式建設(shè)起來(lái)的,對(duì)視頻編碼格式支持不足、時(shí)延太大、無(wú)法提供廣播級(jí)的視頻服務(wù)、系統(tǒng)結(jié)構(gòu)過(guò)于簡(jiǎn)單、隨著服務(wù)能力的擴(kuò)展,需要不斷的投資等。
[0045]⑶N和P2P被用于不同的領(lǐng)域,⑶N主要用于可靠的Web和流媒體內(nèi)容分發(fā),而P2P則主要用于內(nèi)容交換。兩種技術(shù)各有優(yōu)缺點(diǎn)。顯然,CDN和P2P技術(shù)的優(yōu)缺點(diǎn)在應(yīng)用上具有一定的互補(bǔ)性。將P2P的擴(kuò)展能力、多用戶共享資源能力與CDN的可靠性、可管理性結(jié)合起來(lái),有效地利用和轉(zhuǎn)化P2P技術(shù),充分考慮運(yùn)營(yíng)商現(xiàn)有CDN的技術(shù)特性,構(gòu)建一個(gè)新型的媒體分發(fā)和交付系統(tǒng)。
[0046]請(qǐng)參考圖4,圖4所示為本發(fā)明較佳實(shí)施例的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法功能構(gòu)架原理圖。發(fā)布者通過(guò)應(yīng)用端發(fā)布音視頻數(shù)據(jù),即直播流媒體源數(shù)據(jù);P2P托盤(pán)服務(wù)將用戶發(fā)布的直播流媒體源數(shù)據(jù)按照每一幀為長(zhǎng)度切片并且編碼為媒體數(shù)據(jù)包,即私有格式的媒體數(shù)據(jù)包,其中黑色表示封裝的為視頻數(shù)據(jù),白色表示封裝的為音頻數(shù)據(jù);P2P托盤(pán)服務(wù)將封裝后的媒體數(shù)據(jù)包傳輸給媒資系統(tǒng)進(jìn)行音視頻發(fā)布,媒資系統(tǒng)將接收到的媒體數(shù)據(jù)包按照固定長(zhǎng)度進(jìn)行切片并編碼封裝為P2P數(shù)據(jù)包,以便在P2P網(wǎng)絡(luò)中進(jìn)行傳輸;將所述P2P數(shù)據(jù)包通過(guò)CDN系統(tǒng)進(jìn)行音視頻分發(fā),并通過(guò)P2P/CDN融合網(wǎng)絡(luò)進(jìn)行傳輸;播放端通過(guò)P2P模塊接收所述P2P數(shù)據(jù)包,并將視頻數(shù)據(jù)發(fā)送給Flash內(nèi)置視頻模塊進(jìn)行播放,同時(shí)將音頻數(shù)據(jù)發(fā)送給音視頻模塊進(jìn)行播放;其中音頻數(shù)據(jù)為解析P2P數(shù)據(jù)包后,將包含音頻數(shù)據(jù)的媒體數(shù)據(jù)包直接推送給WebRTC Aud1 Stack進(jìn)行播放;視頻數(shù)據(jù)為解析P2P數(shù)據(jù)包后,替換容器格式,從私有容器格式的媒體數(shù)據(jù)包替換為目標(biāo)平臺(tái)支持的容器格式,例如:MPEG/FLV,然后推送給目標(biāo)平臺(tái)進(jìn)行播放(Flash平臺(tái));根據(jù)時(shí)間戳,同步推送音視頻包與視頻包以達(dá)到音視頻同步效果。
[0047]雖然本發(fā)明已以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明。本發(fā)明所屬技術(shù)領(lǐng)域中具有通常知識(shí)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的更動(dòng)與潤(rùn)飾。因此,本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求書(shū)所界定者為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,其特征在于,包括下列步驟: 獲取直播流媒體源數(shù)據(jù); 將所述直播流媒體源數(shù)據(jù)按照每一幀為長(zhǎng)度切片并且編碼為媒體數(shù)據(jù)包; 對(duì)所述連續(xù)的媒體數(shù)據(jù)包按照固定長(zhǎng)度進(jìn)行切片并編碼封裝為P2P數(shù)據(jù)包; 通過(guò)P2P網(wǎng)絡(luò)將所述P2P數(shù)據(jù)包發(fā)送給播放客戶端。2.根據(jù)權(quán)利要求1所述的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,其特征在于,所述媒體數(shù)據(jù)包的編碼格式為包括:標(biāo)志、包長(zhǎng)度、包序號(hào)、校驗(yàn)值、數(shù)據(jù)塊數(shù)和數(shù)據(jù)塊。3.根據(jù)權(quán)利要求2所述的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,其特征在于,所述數(shù)據(jù)塊為將所述每一幀的直播流媒體源數(shù)據(jù)按照固定長(zhǎng)度切片獲取,所述數(shù)據(jù)塊數(shù)即為切片后的所述數(shù)據(jù)塊的數(shù)量。4.根據(jù)權(quán)利要求3所述的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,其特征在于,所述數(shù)據(jù)塊的長(zhǎng)度為I?2KB。5.根據(jù)權(quán)利要求2所述的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,其特征在于,當(dāng)所述直播流媒體源數(shù)據(jù)為視頻流時(shí),所述數(shù)據(jù)塊的編碼格式為包括:塊標(biāo)示、時(shí)間戳、塊長(zhǎng)度和數(shù)據(jù),所述塊標(biāo)示表示所述數(shù)據(jù)塊是否包含關(guān)鍵幀頭,其數(shù)值為I時(shí)表示包含關(guān)鍵幀頭,數(shù)值為O時(shí)表示不包含關(guān)鍵幀頭。6.根據(jù)權(quán)利要求2所述的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,其特征在于,當(dāng)所述直播流媒體源數(shù)據(jù)為音頻流時(shí),所述數(shù)據(jù)塊的編碼格式為包括:時(shí)間戳、塊長(zhǎng)度和數(shù)據(jù)。7.根據(jù)權(quán)利要求2所述的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,其特征在于,所述校驗(yàn)值采用CRC校驗(yàn)或者M(jìn)D5校驗(yàn)。8.根據(jù)權(quán)利要求1所述的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,其特征在于,所述P2P數(shù)據(jù)包的固定長(zhǎng)度為I?2KB。9.根據(jù)權(quán)利要求1所述的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,其特征在于,所述P2P數(shù)據(jù)包的編碼格式為包括:數(shù)據(jù)、包類型和媒體包偏移;所述數(shù)據(jù)為流媒體數(shù)據(jù);所述包類型表示所述P2P數(shù)據(jù)包是否包含媒體數(shù)據(jù)包開(kāi)頭,其數(shù)值為I時(shí)表示包含媒體數(shù)據(jù)包的開(kāi)頭,數(shù)值為O時(shí)表示只包含流媒體數(shù)據(jù);所述媒體包偏移為媒體數(shù)據(jù)包的開(kāi)頭在P2P數(shù)據(jù)包中的偏移位置,僅在包類型值為I時(shí)有效。10.根據(jù)權(quán)利要求1所述的P2P系統(tǒng)中音視頻直播流媒體數(shù)據(jù)傳輸方法,其特征在于,所述P2P網(wǎng)絡(luò)為P2P+⑶N融合網(wǎng)絡(luò)。
【文檔編號(hào)】H04N21/238GK106034242SQ201510101145
【公開(kāi)日】2016年10月19日
【申請(qǐng)日】2015年3月9日
【發(fā)明人】虞陸平, 聶大鵬, 熊濤, 胡晨輝, 臺(tái)躍華, 林肖瓊, 祝亮, 張海峰
【申請(qǐng)人】杭州施強(qiáng)網(wǎng)絡(luò)科技有限公司