本發(fā)明涉及云導(dǎo)播領(lǐng)域,具體涉及一種多媒體信息處理方法、裝置和電子設(shè)備。
背景技術(shù):
隨著直播業(yè)務(wù)的不斷增長,對于直播業(yè)務(wù)的各種新功能新需求也越來越多,例如多機(jī)位切換、多場景切換、直播點(diǎn)播切換、分屏顯示、音頻混音等等,在傳統(tǒng)直播中,依賴于硬件導(dǎo)播臺(tái)來完成這些工作,這種方式不但設(shè)備成本較高,攜帶不便,且操作難度較大,所以云導(dǎo)播應(yīng)運(yùn)而生,從而滿足不斷增長及變化的直播業(yè)務(wù)需求。云導(dǎo)播的主要功能就是將多路多媒體信號合成一路輸出,其中信號處理部分涉及到音視頻解碼、音頻混音、視頻拼接以及音、視頻編碼輸出等重要步驟,功能切換部分包括機(jī)位切換、模板改變、增刪機(jī)位等操作,處理流程復(fù)雜且功能眾多,如何更好地進(jìn)行整體系統(tǒng)設(shè)計(jì)就成了云導(dǎo)播產(chǎn)品的核心工作。
現(xiàn)有云導(dǎo)播整體架構(gòu)設(shè)計(jì)上主要采用單線程處理方式,信號處理部分依次對每一路的多媒體信息進(jìn)行拉流解碼,再進(jìn)行音頻混音,視頻拼接,最后編碼輸出,各信號處理步驟之間串行進(jìn)行。這種處理方式使得各信號處理步驟間耦合性較高,且整體處理性能也受影響;另外,在實(shí)現(xiàn)多路多媒體信息輸入流預(yù)覽時(shí),現(xiàn)有云導(dǎo)播采用對每路多媒體信息輸入流另起一個(gè)轉(zhuǎn)碼進(jìn)程專門進(jìn)行轉(zhuǎn)碼處理并輸出,這種處理方式在浪費(fèi)資源的同時(shí),也使得預(yù)覽畫面和導(dǎo)播中畫面不同步,影響用戶觀感及使用。
因此,如何簡化多媒體處理過程、提高多媒體信息處理效率成為一個(gè)亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供了一種多媒體信息處理方法、裝置和電子設(shè)備,以解決現(xiàn)有技術(shù)中多媒體處理過程繁瑣、多媒體信息處理效率低的問題。
根據(jù)第一方面,本發(fā)明實(shí)施例提供了一種多媒體信息處理方法,適用于多媒體處理裝置,比如導(dǎo)播過程中的多媒體信息處理器等,包括:對多路待處理多媒體信息流進(jìn)行解碼;判斷每路解碼后的多媒體信息流中是否存在預(yù)覽信號;如果存在所述預(yù)覽信號,則從所述解碼后的多媒體信息流中獲取所述預(yù)覽信號對應(yīng)的目標(biāo)多媒體信息流;將所述目標(biāo)多媒體信息流進(jìn)行編碼得到多媒體預(yù)覽數(shù)據(jù)。
可選地,所述多媒體信息流包括音頻流和/或視頻流;所述目標(biāo)多媒體信息流包括目標(biāo)音頻流和/或目標(biāo)視頻流。
可選地,還包括:如果不存在所述預(yù)覽信號或所述得到多媒體預(yù)覽數(shù)據(jù)后,將解碼后的所述音頻流進(jìn)行混音處理得到混音音頻流,將解碼后的所述視頻流進(jìn)行拼接處理得到拼接后視頻流。
可選地,還包括:對所述混音音頻流和所述拼接后視頻流進(jìn)行編碼得到多媒體輸出數(shù)據(jù)。
可選地,所述對多路待處理多媒體信息流進(jìn)行解碼包括:對每一路所述待處理多媒體信息流采用一個(gè)線程進(jìn)行解碼。
根據(jù)第二方面,本發(fā)明實(shí)施例提供了一種多媒體信息處理裝置,包括:解碼模塊,用于對多路待處理多媒體信息流進(jìn)行解碼;判斷模塊,用于判斷每路解碼后的多媒體信息流中是否存在預(yù)覽信號;第一獲取模塊,用于如果存在所述預(yù)覽信號,則從所述解碼后的多媒體信息流中獲取所述預(yù)覽信號對應(yīng)的目標(biāo)多媒體信息流;編碼預(yù)覽模塊,用于將所述目標(biāo)多媒體信息流進(jìn)行編碼得到多媒體預(yù)覽數(shù)據(jù)。
可選地,所述多媒體信息流包括音頻流和/或視頻流;所述目標(biāo)多媒體信息流包括目標(biāo)音頻流和/或目標(biāo)視頻流。
可選地,還包括:混音拼接模塊,用于如果不存在所述預(yù)覽信號或所述得到多媒體預(yù)覽數(shù)據(jù)后,將解碼后的所述音頻流進(jìn)行混音處理得到混音音頻流,將解碼后的所述視頻流進(jìn)行拼接處理得到拼接后視頻流。
可選地,還包括:編碼輸出模塊,用于對所述混音音頻流和所述拼接后視頻流進(jìn)行編碼得到多媒體輸出數(shù)據(jù)。
可選地,所述解碼模塊包括:并行解碼單元,用于對每一路所述待處理多媒體信息流采用一個(gè)線程進(jìn)行解碼。
根據(jù)第三方面,本發(fā)明實(shí)施例提供了一種電子設(shè)備,包括:至少一個(gè)處理器;以及與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器執(zhí)行第一方面或者第一方面的任意一種可選方式中所述的多媒體信息處理方法。
根據(jù)第四方面,本發(fā)明實(shí)施例提供了一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)計(jì)算機(jī)指令,所述計(jì)算機(jī)指令用于使所述計(jì)算機(jī)執(zhí)行第一方面或者第一方面的任意一種可選方式中所述的多媒體信息處理方法。
根據(jù)第五方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括存儲(chǔ)在非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算程序,所述計(jì)算機(jī)程序包括程序指令,當(dāng)所述程序指令被計(jì)算機(jī)執(zhí)行時(shí),使所述計(jì)算機(jī)執(zhí)行第一方面或者第一方面的任意一種可選方式中所述的多媒體信息處理方法。
本發(fā)明實(shí)施例所提供的一種多媒體信息處理方法、裝置和電子設(shè)備,通過采用并行信號處理的方法對多路多媒體信息流進(jìn)行解碼,其中每一路多媒體信息流解碼后的音頻流和視頻流不僅用于音頻混音、視頻拼接后編碼輸出,還用于在有預(yù)覽信號時(shí),將對應(yīng)的目標(biāo)多媒體信息流編碼得到多媒體預(yù)覽數(shù)據(jù),與現(xiàn)有技術(shù)相比,不僅實(shí)現(xiàn)了可實(shí)時(shí)控制預(yù)覽目標(biāo)多媒體信息流,而且避免了現(xiàn)有技術(shù)中因預(yù)覽過程單獨(dú)轉(zhuǎn)碼而導(dǎo)致的預(yù)覽畫面與編碼輸出的畫面不同步的問題。
附圖說明
通過參考附圖會(huì)更加清楚的理解本發(fā)明的特征和優(yōu)點(diǎn),附圖是示意性的而不應(yīng)理解為對本發(fā)明進(jìn)行任何限制,在附圖中:
圖1示出了根據(jù)本發(fā)明實(shí)施例的多媒體信息處理方法的流程圖;
圖2示出了根據(jù)本發(fā)明實(shí)施例的多媒體信息處理裝置的示意圖;
圖3示出了根據(jù)本發(fā)明實(shí)施例的電子設(shè)備的示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例
本實(shí)施例提供一種多媒體信息處理方法,適用于多媒體處理裝置,比如導(dǎo)播過程中的多媒體信息處理器等,如圖1所示,包括如下步驟:
S11:對多路待處理多媒體信息流進(jìn)行解碼,作為一種可選地實(shí)施方式,可以采用并行數(shù)據(jù)處理方式對每一路待處理多媒體信息流采用一個(gè)獨(dú)立的線程進(jìn)行解碼,以降低各路之間的耦合性,提高解碼結(jié)果的準(zhǔn)確率。所述多媒體信息流包括音頻流和/或視頻流,解碼后得到后相應(yīng)的音頻流和視頻流。
S12:判斷每路解碼后的多媒體信息流中是否存在預(yù)覽信號,此處預(yù)覽信號可以是預(yù)先設(shè)定在預(yù)定時(shí)刻加入待處理多媒體信息流的,也可以實(shí)時(shí)加入待處理多媒體信息流的,若存在預(yù)覽信號執(zhí)行步驟S13-S15,否則執(zhí)行S15,當(dāng)不存在所述預(yù)覽信號時(shí)或執(zhí)行S14步驟得到多媒體預(yù)覽數(shù)據(jù)后,都會(huì)執(zhí)行S15的步驟。
S13:如果存在所述預(yù)覽信號,則從解碼后的多媒體信息流中獲取所述預(yù)覽信號對應(yīng)的目標(biāo)多媒體信息流,具體地,解碼后的多媒體信息流中包括所述目標(biāo)多媒體信息流的目標(biāo)音頻流和/或目標(biāo)視頻流,根據(jù)預(yù)覽信號,然后從中獲取對應(yīng)的目標(biāo)音頻流和目標(biāo)視頻流。
S14:將所述目標(biāo)多媒體信息流進(jìn)行編碼得到多媒體預(yù)覽數(shù)據(jù),即將步驟S13中獲取到的目標(biāo)音頻流和目標(biāo)視頻流進(jìn)行相關(guān)的編碼,得到多媒體預(yù)覽數(shù)據(jù)。
S15:將解碼后的所述音頻流進(jìn)行混音處理得到混音音頻流,將解碼后的所述視頻流進(jìn)行拼接處理得到拼接后視頻流。之后,還可以進(jìn)一步包括對所述混音音頻流和所述拼接后視頻流進(jìn)行編碼得到多媒體輸出數(shù)據(jù),此處多媒體輸出數(shù)據(jù)可用于導(dǎo)播平臺(tái)進(jìn)行多媒體導(dǎo)播。即無論有沒有預(yù)覽信號,均對于解碼后得到的音頻流和視頻流進(jìn)行相應(yīng)的混音處理和視頻拼接處理后編碼得到多媒體輸出數(shù)據(jù),在有預(yù)覽信號時(shí),由于預(yù)覽過程和編碼輸出采用的是同義詞解碼后的數(shù)據(jù),因此預(yù)覽畫面和編碼輸出畫面具有較高的同步性。
需要說明的是,對于導(dǎo)播系統(tǒng)來說,在步驟S11中,本實(shí)施例采用多線程處理方式,自然地,對于各信號處理過程,諸如拉流解碼、音頻混音、視頻拼接、編碼輸出等均可由各自對應(yīng)的子線程實(shí)現(xiàn),它們相互獨(dú)立互不影響,因此各功能切換諸如添加機(jī)位、刪除機(jī)位、切流、變換模板等均在其對應(yīng)的線程中進(jìn)行參數(shù)變化控制,可實(shí)現(xiàn)與各信號處理線程分離,避免造成不必要的處理延遲。
本實(shí)施例提供的多媒體信息處理方法,通過采用并行信號處理的方法對多路多媒體信息流進(jìn)行解碼,其中每一路多媒體信息流解碼后的音頻流和視頻流不僅用于音頻混音、視頻拼接后編碼輸出,還用于在有預(yù)覽信號時(shí),將對應(yīng)的目標(biāo)多媒體信息流編碼得到多媒體預(yù)覽數(shù)據(jù),與現(xiàn)有技術(shù)相比,不僅實(shí)現(xiàn)了可實(shí)時(shí)控制預(yù)覽目標(biāo)多媒體信息流,而且避免了現(xiàn)有技術(shù)中因預(yù)覽過程單獨(dú)轉(zhuǎn)碼而導(dǎo)致的預(yù)覽畫面與編碼輸出的畫面不同步的問題。
本實(shí)施例提供一種多媒體信息處理裝置,如圖2所示,包括解碼模塊21、判斷模塊22、第一獲取模塊23、編碼預(yù)覽模塊24、混音拼接模塊25和編碼輸出模塊26,各模塊功能如下:
解碼模塊21,用于對多路待處理多媒體信息流進(jìn)行解碼;作為一種可選地實(shí)施方式,所述解碼模塊21包括:并行解碼單元212,用于對每一路所述待處理多媒體信息流采用一個(gè)線程進(jìn)行解碼;所述多媒體信息流包括音頻流和/或視頻流;具體可參見如圖1所示的實(shí)施例中對步驟S11的相關(guān)描述。
判斷模塊22,用于判斷解碼后的多媒體信息流中是否存在預(yù)覽信號;具體可參見如圖1所示的實(shí)施例中對步驟S12的相關(guān)描述。
第一獲取模塊23,用于如果存在所述預(yù)覽信號,則從所述解碼后的多媒體信息流中獲取所述預(yù)覽信號對應(yīng)的目標(biāo)多媒體信息流;所述目標(biāo)多媒體信息流包括目標(biāo)音頻流和/或目標(biāo)視頻流。具體可參見如圖1所示的實(shí)施例中對步驟S13的相關(guān)描述。
編碼預(yù)覽模塊24,用于將所述目標(biāo)多媒體信息流進(jìn)行編碼得到多媒體預(yù)覽數(shù)據(jù)。具體可參見如圖1所示的實(shí)施例中對步驟S14的相關(guān)描述。
作為一種可選地實(shí)施方式,還包括:混音拼接模塊25,用于如果不存在所述預(yù)覽信號或所述得到多媒體預(yù)覽數(shù)據(jù)后,將解碼后的所述音頻流進(jìn)行混音處理得到混音音頻流,將解碼后的所述視頻流進(jìn)行拼接處理得到拼接后視頻流。具體可參見如圖1所示的實(shí)施例中的相關(guān)描述。
作為一種可選地實(shí)施方式,還包括:編碼輸出模塊26,用于對所述混音音頻流和所述拼接后視頻流進(jìn)行編碼得到多媒體輸出數(shù)據(jù)。具體可參見如圖1所示的實(shí)施例中的相關(guān)描述。
本實(shí)施例提供的多媒體信息處理裝置,通過采用并行信號處理的方法對多路多媒體信息流進(jìn)行解碼,其中每一路多媒體信息流解碼后的音頻流和視頻流不僅用于音頻混音、視頻拼接后編碼輸出,還用于在有預(yù)覽信號時(shí),將對應(yīng)的目標(biāo)多媒體信息流編碼得到多媒體預(yù)覽數(shù)據(jù),與現(xiàn)有技術(shù)相比,不僅實(shí)現(xiàn)了可實(shí)時(shí)控制預(yù)覽目標(biāo)多媒體信息流,而且避免了現(xiàn)有技術(shù)中因預(yù)覽過程單獨(dú)轉(zhuǎn)碼而導(dǎo)致的預(yù)覽畫面與編碼輸出的畫面不同步的問題。
圖3是本發(fā)明實(shí)施例提供的多媒體信息處理方法的電子設(shè)備的硬件結(jié)構(gòu)示意圖,如圖3所示,該設(shè)備包括一個(gè)或多個(gè)處理器310以及存儲(chǔ)器320,圖3中以一個(gè)處理器310為例。
多媒體信息處理方法的設(shè)備還可以包括:輸入裝置330和輸出裝置340。
處理器310、存儲(chǔ)器320、輸入裝置330和輸出裝置340可以通過總線或者其他方式連接,圖3中以通過總線連接為例。
處理器310可以為中央處理器(Central Processing Unit,CPU)。處理器310還可以為其他通用處理器、數(shù)字信號處理器(Digital Signal Processor,DSP)、專用集成電路(Application Specific Integrated Circuit,ASIC)、現(xiàn)場可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等芯片,或者上述各類芯片的組合。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
存儲(chǔ)器320作為一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可用于存儲(chǔ)非暫態(tài)軟件程序、非暫態(tài)計(jì)算機(jī)可執(zhí)行程序以及模塊,如本申請實(shí)施例中的多媒體信息處理方法對應(yīng)的程序指令/模塊(例如,附圖2所示的解碼模塊21、判斷模塊22、第一獲取模塊23、編碼預(yù)覽模塊24、混音拼接模塊25和編碼輸出模塊26)。處理器310通過運(yùn)行存儲(chǔ)在存儲(chǔ)器320中的非暫態(tài)軟件程序、指令以及模塊,從而執(zhí)行服務(wù)器的各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述方法實(shí)施例多媒體信息處理方法。
存儲(chǔ)器320可以包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需要的應(yīng)用程序;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)多媒體信息處理裝置的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲(chǔ)器320可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非暫態(tài)存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他非暫態(tài)固態(tài)存儲(chǔ)器件。在一些實(shí)施例中,存儲(chǔ)器320可選包括相對于處理器310遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至多媒體信息處理裝置。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
輸入裝置330可接收輸入的數(shù)字或字符信息,以及產(chǎn)生與多媒體信息處理裝置的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。輸出裝置340可包括顯示屏等顯示設(shè)備。
所述一個(gè)或者多個(gè)模塊存儲(chǔ)在所述存儲(chǔ)器320中,當(dāng)被所述一個(gè)或者多個(gè)處理器310執(zhí)行時(shí),執(zhí)行如圖1所示的方法。
上述產(chǎn)品可執(zhí)行本發(fā)明實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),具體可參見如圖1所示的實(shí)施例中的相關(guān)描述。
本發(fā)明實(shí)施例還提供了一種非暫態(tài)計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,該計(jì)算機(jī)可執(zhí)行指令可執(zhí)行上述任意方法實(shí)施例中的多媒體信息處理方法。其中,所述存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)、隨機(jī)存儲(chǔ)記憶體(Random Access Memory,RAM)、快閃存儲(chǔ)器(Flash Memory)、硬盤(Hard Disk Drive,縮寫:HDD)或固態(tài)硬盤(Solid-State Drive,SSD)等;所述存儲(chǔ)介質(zhì)還可以包括上述種類的存儲(chǔ)器的組合。
本領(lǐng)域技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(ROM)或隨機(jī)存儲(chǔ)記憶體(RAM)等。
雖然結(jié)合附圖描述了本發(fā)明的實(shí)施例,但是本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下作出各種修改和變型,這樣的修改和變型均落入由所附權(quán)利要求所限定的范圍之內(nèi)。