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