本發(fā)明涉及網(wǎng)絡(luò)直播技術(shù)領(lǐng)域,特別涉及一種多視頻流的視頻直播的方法及裝置。
背景技術(shù):
隨著網(wǎng)速的提升和網(wǎng)絡(luò)視頻直播的普及,人們觀看網(wǎng)絡(luò)視頻直播的生活習(xí)慣已經(jīng)在逐漸取代人們觀看電視的生活習(xí)慣。在一些視頻主播的節(jié)目中,經(jīng)常會進(jìn)行模仿秀,通過主播生動有趣的模仿來達(dá)到娛樂的效果。但是對于沒有看過被模仿的原視頻的觀眾而言,主播進(jìn)行模仿秀的效果將會降低很多。如何妥善的解決上述問題,就成為了業(yè)界亟待解決的課題。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種多視頻流的視頻直播的方法及裝置,用以將實時的多路視頻流拼接到同一個實時的視頻流中,即將多路視頻流的視頻畫面以預(yù)設(shè)的方式在同一個視頻畫面中播放。
根據(jù)本發(fā)明實施例的第一方面,提供一種多視頻流的視頻直播的方法,包括:
獲取實時拍攝的視頻流和實時播放的視頻流;
分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻參數(shù)信息,所述視頻參數(shù)信息包括視頻格式和視頻參數(shù)中的任一者或多者;
將所述實時拍攝的視頻流與所述實時播放的視頻流拼接到同一個視頻流中,確認(rèn)所述同一個視頻流為待上傳視頻流;
對所述待上傳視頻流進(jìn)行轉(zhuǎn)碼并上傳到預(yù)設(shè)的直播服務(wù)器。
在一個實施例中,所述分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻參數(shù)信息,所述視頻參數(shù)信息包括視頻格式和視頻參數(shù)中的任一者或多者,包括:
分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻格式,所述視頻格式包括流媒體協(xié)議、視頻封裝格式和視頻壓縮格式中的任一者或多者;
分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻參數(shù),所述視頻參數(shù)包括視頻分辨率、視頻幀率和視頻流碼率中的任一者或多者。
在一個實施例中,所述將所述實時拍攝的視頻流與所述實時播放的視頻流拼接到同一個視頻流中,確認(rèn)所述同一個視頻流為待上傳視頻流,包括:
將所述實時拍攝的視頻流與所述實時播放的視頻流按照預(yù)設(shè)的布局拼接到同一個視頻流中,在視頻界面的各個區(qū)域播放對應(yīng)的視頻流的內(nèi)容;或者
將所述實時拍攝的視頻流與所述實時播放的視頻流按照預(yù)設(shè)的透明度拼接到同一個視頻流中,將各個視頻流的內(nèi)容在視頻界面中進(jìn)行重疊顯示。
在一個實施例中,所述對所述待上傳視頻流進(jìn)行轉(zhuǎn)碼并上傳到預(yù)設(shè)的直播服務(wù)器,包括:
對所述待上傳視頻流進(jìn)行解碼;
按照預(yù)設(shè)的視頻上傳標(biāo)準(zhǔn)對所述待上傳視頻流進(jìn)行轉(zhuǎn)碼;
上傳轉(zhuǎn)碼后的所述待上傳視頻流到預(yù)設(shè)的直播服務(wù)器。
在一個實施例中,還包括:
實時的播放所述待上傳視頻流。
根據(jù)本發(fā)明實施例的第二方面,提供一種多視頻流的視頻直播的裝置,包括:
獲取模塊,用于獲取實時拍攝的視頻流和實時播放的視頻流;
分析模塊,用于分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻參數(shù)信息,所述視頻參數(shù)信息包括視頻格式和視頻參數(shù)中的任一者或多者;
確認(rèn)模塊,用于將所述實時拍攝的視頻流與所述實時播放的視頻流拼接到同一個視頻流中,確認(rèn)所述同一個視頻流為待上傳視頻流;
上傳模塊,用于對所述待上傳視頻流進(jìn)行轉(zhuǎn)碼并上傳到預(yù)設(shè)的直播服務(wù)器。
在一個實施例中,所述分析模塊,包括:
第一分析子模塊,用于分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻格式,所述視頻格式包括流媒體協(xié)議、視頻封裝格式和視頻壓縮格式中的任一者或多者;
第二分析子模塊,用于分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻參數(shù),所述視頻參數(shù)包括視頻分辨率、視頻幀率和視頻流碼率中的任一者或多者。
在一個實施例中,所述確認(rèn)模塊,包括:
第一拼接子模塊,用于將所述實時拍攝的視頻流與所述實時播放的視頻流按照預(yù)設(shè)的布局拼接到同一個視頻流中,在視頻界面的各個區(qū)域播放對應(yīng)的視頻流的內(nèi)容;
第二拼接子模塊,用于將所述實時拍攝的視頻流與所述實時播放的視頻流按照預(yù)設(shè)的透明度拼接到同一個視頻流中,將各個視頻流的內(nèi)容在視頻界面中進(jìn)行重疊顯示。
在一個實施例中,所述上傳模塊,包括:
解碼子模塊,用于對所述待上傳視頻流進(jìn)行解碼;
轉(zhuǎn)碼子模塊,用于按照預(yù)設(shè)的視頻上傳標(biāo)準(zhǔn)對所述待上傳視頻流進(jìn)行轉(zhuǎn)碼;
上傳子模塊,用于上傳轉(zhuǎn)碼后的所述待上傳視頻流到預(yù)設(shè)的直播服務(wù)器。
在一個實施例中,還包括:
播放模塊,用于實時的播放所述待上傳視頻流。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說明
附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為本發(fā)明一示例性實施例示出的一種多視頻流的視頻直播的方法的流程圖;
圖2為本發(fā)明一示例性實施例示出的一種多視頻流的視頻直播的方法的步驟S12的流程圖;
圖3為本發(fā)明一示例性實施例示出的一種多視頻流的視頻直播的方法的步驟S13的流程圖;
圖4為本發(fā)明一示例性實施例示出的一種多視頻流的視頻直播的方法的步驟S14的流程圖;
圖5為本發(fā)明另一示例性實施例示出的一種多視頻流的視頻直播的方法的流程圖;
圖6為本發(fā)明一示例性實施例示出的一種多視頻流的視頻直播的裝置的框圖;
圖7為本發(fā)明一示例性實施例示出的一種多視頻流的視頻直播的裝置的分析模塊62的框圖;
圖8為本發(fā)明一示例性實施例示出的一種多視頻流的視頻直播的裝置的確認(rèn)模塊63的框圖;
圖9為本發(fā)明一示例性實施例示出的一種多視頻流的視頻直播的裝置的上傳模塊64的框圖;
圖10為本發(fā)明另一示例性實施例示出的一種多視頻流的視頻直播的裝置的框圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1是根據(jù)一示例性實施例示出的一種多視頻流的視頻直播的方法流程圖,如圖1所示,該多視頻流的視頻直播的方法,用于終端,包括以下步驟S11-S14:
在步驟S11中,獲取實時拍攝的視頻流和實時播放的視頻流;
在步驟S12中,分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻參數(shù)信息,所述視頻參數(shù)信息包括視頻格式和視頻參數(shù)中的任一者或多者;
在步驟S13中,將所述實時拍攝的視頻流與所述實時播放的視頻流拼接到同一個視頻流中,確認(rèn)所述同一個視頻流為待上傳視頻流;
在步驟S14中,對所述待上傳視頻流進(jìn)行轉(zhuǎn)碼并上傳到預(yù)設(shè)的直播服務(wù)器。
在一個實施例中,隨著網(wǎng)速的提升和網(wǎng)絡(luò)視頻直播的普及,人們觀看網(wǎng)絡(luò)視頻直播的生活習(xí)慣已經(jīng)在逐漸取代人們觀看電視的生活習(xí)慣。在一些視頻主播的節(jié)目中,經(jīng)常會進(jìn)行模仿秀,通過主播生動有趣的模仿來達(dá)到娛樂的效果。但是對于沒有看過被模仿的原視頻的觀眾而言,主播進(jìn)行模仿秀的效果將會降低很多。本實施例中的技術(shù)方案可妥善的解決上述問題。
詳細(xì)步驟如下:獲取實時拍攝的視頻流和實時播放的視頻流。
分析該實時拍攝的視頻流和該實時播放的視頻流的視頻參數(shù)信息,該視頻參數(shù)信息包括視頻格式和視頻參數(shù)中的任一者或多者。進(jìn)一步的,在視頻格式的方面,分析該實時拍攝的視頻流和該實時播放的視頻格式,該視頻格式包括流媒體協(xié)議、視頻封裝格式和視頻壓縮格式中的任一者或多者。在視頻參數(shù)的方面,分析該實時拍攝的視頻流和該實時播放的視頻參數(shù),該視頻參數(shù)包括視頻分辨率、視頻幀率和視頻流碼率中的任一者或多者。
將該實時拍攝的視頻流與該實時播放的視頻流拼接到同一個視頻流中,確認(rèn)該同一個視頻流為待上傳視頻流。進(jìn)一步的,將該實時拍攝的視頻流與該實時播放的視頻流按照預(yù)設(shè)的布局拼接到同一個視頻流中,在視頻界面的各個區(qū)域播放對應(yīng)的視頻流的內(nèi)容,其中各個區(qū)域的形狀可以根據(jù)用戶的需求來自行設(shè)定;或者將該實時拍攝的視頻流與該實時播放的視頻流按照預(yù)設(shè)的透明度拼接到同一個視頻流中,將各個視頻流的內(nèi)容在視頻界面中進(jìn)行重疊顯示,其中各個視頻的透明度也可以根據(jù)用戶的需求來自行設(shè)定。
對該待上傳視頻流進(jìn)行轉(zhuǎn)碼并上傳到預(yù)設(shè)的直播服務(wù)器。進(jìn)一步的,對該待上傳視頻流進(jìn)行解碼,按照預(yù)設(shè)的視頻上傳標(biāo)準(zhǔn)對該待上傳視頻流進(jìn)行轉(zhuǎn)碼,上傳轉(zhuǎn)碼后的該待上傳視頻流到預(yù)設(shè)的直播服務(wù)器。
除此之外,還可以在該終端實時的播放該待上傳視頻流。
本實施例中的技術(shù)方案可將實時的多路視頻流拼接到同一個實時的視頻流中,即將多路視頻流的視頻畫面以預(yù)設(shè)的方式在同一個視頻畫面中播放,從而實現(xiàn)了實時對比多路視頻流的播放內(nèi)容的技術(shù)效果,進(jìn)而提升了直播觀看者的用戶體驗。
在一個實施例中,如圖2所示,步驟S12包括如下步驟S21-S22:
在步驟S21中,分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻格式,所述視頻格式包括流媒體協(xié)議、視頻封裝格式和視頻壓縮格式中的任一者或多者;
在步驟S22中,分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻參數(shù),所述視頻參數(shù)包括視頻分辨率、視頻幀率和視頻流碼率中的任一者或多者。
在一個實施例中,分析出該實時拍攝的視頻流和該實時播放的視頻流的視頻參數(shù)信息,該參數(shù)信息包括視頻格式和視頻參數(shù)中的任一者或多者,其中視頻格式關(guān)系到該實時拍攝的視頻流和該實時播放所采用的各種協(xié)議,該視頻參數(shù)關(guān)系到該實時拍攝的視頻流和該實時播放的參看質(zhì)量。進(jìn)一步的,該視頻格式包括流媒體協(xié)議、視頻封裝格式和視頻壓縮格式中的任一者或多者;該視頻參數(shù)包括視頻分辨率、視頻幀率和視頻流碼率中的任一者或多者。
在一個實施例中,如圖3所示,步驟S13包括如下步驟S31-S32:
在步驟S31中,將所述實時拍攝的視頻流與所述實時播放的視頻流按照預(yù)設(shè)的布局拼接到同一個視頻流中,在視頻界面的各個區(qū)域播放對應(yīng)的視頻流的內(nèi)容;或者
在步驟S32中,將所述實時拍攝的視頻流與所述實時播放的視頻流按照預(yù)設(shè)的透明度拼接到同一個視頻流中,將各個視頻流的內(nèi)容在視頻界面中進(jìn)行重疊顯示。
在一個實施例中,在本實施例中以一路實時拍攝的視頻流和一路實時播放的視頻流為例,當(dāng)本書實施例中的技術(shù)方案可以應(yīng)用到n路實時拍攝的視頻流和m路實時播放的視頻。視頻拼接的技術(shù)方案一:將該實時拍攝的視頻流和該實時播放的視頻流按照預(yù)設(shè)的布局拼接到同一個視頻流中,其中預(yù)設(shè)的布局包括左右布局、上下布局和斜上斜下布局等等,本實施例中的預(yù)設(shè)的布局還包括其他可以形成顯著對比效果的布局方式。視頻拼接的技術(shù)方案二:將該實時拍攝的視頻流的透明度設(shè)置為x%,將該實時播放的視頻流的透明度設(shè)置為y%,將透明度為x%的該實時拍攝的視頻流和透明度為y%的該實時播放的視頻流在同一個視頻界面中進(jìn)行重疊顯示。確認(rèn)上述的該同一個視頻流為待上傳視頻流。
在一個實施例中,如圖4所示,步驟S14包括如下步驟S41-S43:
在步驟S41中,對所述待上傳視頻流進(jìn)行解碼;
在步驟S42中,按照預(yù)設(shè)的視頻上傳標(biāo)準(zhǔn)對所述待上傳視頻流進(jìn)行轉(zhuǎn)碼;
在步驟S43中,上傳轉(zhuǎn)碼后的所述待上傳視頻流到預(yù)設(shè)的直播服務(wù)器。
在一個實施例中,解析該上傳的視頻流的流媒體協(xié)議,解析流媒體協(xié)議的過程中會去除掉信令數(shù)據(jù)而只保留視頻流。例如,采用RTMP協(xié)議傳輸?shù)臄?shù)據(jù),經(jīng)過解析流媒體協(xié)議操作后,輸出FLV格式的數(shù)據(jù)。之后解析該待上傳視頻流的封裝協(xié)議,封裝協(xié)議的主要作用是把視頻碼流和音頻碼流按照一定的格式存儲在一個文件中。再根據(jù)待上傳視頻流的壓縮格式來解壓縮出視頻碼流,視頻碼流包括視頻數(shù)據(jù)和音頻數(shù)據(jù)兩個部分。視頻數(shù)據(jù)和音頻數(shù)據(jù)如果沒有經(jīng)過壓縮的話,假設(shè)一部壓縮格式后的電影A的數(shù)據(jù)量為4G,該電影A的視頻數(shù)據(jù)和音頻數(shù)據(jù)的數(shù)據(jù)量可能會超過100G。
在經(jīng)過上述的解碼過程過之后,根據(jù)預(yù)設(shè)的視頻上傳標(biāo)準(zhǔn)的視頻格式的壓縮格式,分別對所述待上傳視頻流的音頻數(shù)據(jù)和視頻數(shù)據(jù)進(jìn)行壓縮。再根據(jù)該預(yù)設(shè)的視頻上傳標(biāo)準(zhǔn)的視頻格式的封裝格式,對該待上傳視頻流的音頻數(shù)據(jù)和視頻數(shù)據(jù)進(jìn)行封裝。然后根據(jù)該預(yù)設(shè)的視頻上傳標(biāo)準(zhǔn)的視頻格式的流媒體協(xié)議格式,對該待上傳視頻流的音頻數(shù)據(jù)和視頻數(shù)據(jù)進(jìn)行處理。流媒體協(xié)議在傳輸視視頻流的同時,同時傳輸一些信令數(shù)據(jù)。該些信令數(shù)據(jù)包括對播放的控制和網(wǎng)絡(luò)狀態(tài)的描述。在上述轉(zhuǎn)碼的過程中,保證按照預(yù)設(shè)的視頻上傳標(biāo)準(zhǔn)的視頻格式處理之后的視頻流的頻分辨率、視頻幀率和視頻流碼率符合預(yù)設(shè)的視頻上傳標(biāo)準(zhǔn)的視頻參數(shù)。最后,將轉(zhuǎn)碼之后的該待上傳視頻流到預(yù)設(shè)的直播服務(wù)器。
在一個實施例中,如圖5所示,還包括如下步驟S51:
在步驟S51中,實時的播放所述待上傳視頻流。
在一個實施例中,在上一個實施例中可獲取該待上傳視頻流的解壓縮后的音頻數(shù)據(jù)和視頻數(shù)據(jù),再對解壓縮后的音頻數(shù)據(jù)和視頻數(shù)據(jù)該進(jìn)行同步后,就可通過終端的視頻直播的播放器直接播放該音頻數(shù)據(jù)和視頻數(shù)據(jù)了。
在一個實施例中,圖6是根據(jù)一示例性實施例示出的一種多視頻流的視頻直播的裝置框圖。如圖6示,該裝置用于終端,包括獲取模塊61、分析模塊62、確認(rèn)模塊63和上傳模塊64。
該獲取模塊61,用于獲取實時拍攝的視頻流和實時播放的視頻流;
該分析模塊62,用于分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻參數(shù)信息,所述視頻參數(shù)信息包括視頻格式和視頻參數(shù)中的任一者或多者;
該確認(rèn)模塊63,用于將所述實時拍攝的視頻流與所述實時播放的視頻流拼接到同一個視頻流中,確認(rèn)所述同一個視頻流為待上傳視頻流;
該上傳模塊64,用于對所述待上傳視頻流進(jìn)行轉(zhuǎn)碼并上傳到預(yù)設(shè)的直播服務(wù)器。
如圖7所示,該分析模塊62包括第一分析子模塊71和第二分析子模塊72。
該第一分析子模塊71,用于分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻格式,所述視頻格式包括流媒體協(xié)議、視頻封裝格式和視頻壓縮格式中的任一者或多者;
該第二分析子模塊72,用于分析所述實時拍攝的視頻流和所述實時播放的視頻流的視頻參數(shù),所述視頻參數(shù)包括視頻分辨率、視頻幀率和視頻流碼率中的任一者或多者。
如圖8所示,該確認(rèn)模塊63包括第一拼接子模塊81和第二拼接子模塊82。
該第一拼接子模塊81,用于將所述實時拍攝的視頻流與所述實時播放的視頻流按照預(yù)設(shè)的布局拼接到同一個視頻流中,在視頻界面的各個區(qū)域播放對應(yīng)的視頻流的內(nèi)容;
該第二拼接子模塊82,用于將所述實時拍攝的視頻流與所述實時播放的視頻流按照預(yù)設(shè)的透明度拼接到同一個視頻流中,將各個視頻流的內(nèi)容在視頻界面中進(jìn)行重疊顯示。
如圖9所示,該上傳模塊64包括解碼子模塊91、轉(zhuǎn)碼子模塊92和上傳子模塊93。
該解碼子模塊91,用于對所述待上傳視頻流進(jìn)行解碼;
該轉(zhuǎn)碼子模塊92,用于按照預(yù)設(shè)的視頻上傳標(biāo)準(zhǔn)對所述待上傳視頻流進(jìn)行轉(zhuǎn)碼;
該上傳子模塊93,用于上傳轉(zhuǎn)碼后的所述待上傳視頻流到預(yù)設(shè)的直播服務(wù)器。
如圖10所示,還包括播放模塊101。
該播放模塊101,用于實時的播放所述待上傳視頻流。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。