【技術(shù)領(lǐng)域】
本發(fā)明涉及直播技術(shù)領(lǐng)域,尤其涉及一種輔助直播的音視頻處理方法及裝置。
背景技術(shù):
現(xiàn)如今直播行業(yè)日益興盛,主播在直播過(guò)程中經(jīng)常需要針對(duì)自己的聲音進(jìn)行處理或者是直播過(guò)程中適時(shí)添加一些音效以達(dá)到調(diào)和直播氣氛的作用,再者就是針對(duì)主播在直播中的呈現(xiàn)給觀眾的視頻進(jìn)行以實(shí)現(xiàn)提高主播的顏值,維護(hù)主播形象特征,美化直播環(huán)境的功能。如圖3所示的現(xiàn)有直播過(guò)程多個(gè)應(yīng)用協(xié)同配合的工作圖,其中主播在直播過(guò)程中運(yùn)用到的直播相關(guān)應(yīng)用程序具有四個(gè)或者更多,其中有氣氛音的添加、背景音的添加、音效調(diào)節(jié)以及視頻調(diào)節(jié),在此方案的直播過(guò)程中,主播需不斷切換應(yīng)用程序來(lái)達(dá)到直播過(guò)程的生動(dòng)性及有趣性,其操作繁瑣復(fù)雜,不僅如此,多個(gè)輔助直播應(yīng)用將耗損直播過(guò)程的設(shè)備資源,主播設(shè)備在運(yùn)行多個(gè)應(yīng)用程序進(jìn)行直播時(shí)極大可能性會(huì)造成直播設(shè)備的卡頓甚至是宕機(jī)現(xiàn)象,故在此急需一款集多個(gè)輔助直播應(yīng)用功能為一體的應(yīng)用。直播本身對(duì)主播用戶的機(jī)器已經(jīng)有較高的配置要求,會(huì)耗費(fèi)較大的電腦資源,若需要同時(shí)再多開(kāi)幾個(gè)軟件進(jìn)行協(xié)同配合工作的話,經(jīng)常會(huì)造成電腦不負(fù)重堪,從而導(dǎo)致直播過(guò)程中的卡頓現(xiàn)象,直播過(guò)程中若是出現(xiàn)宕機(jī)的狀況更是無(wú)法彌補(bǔ)的損失,用戶體驗(yàn)十分不好。不僅如此,需要主播耗費(fèi)主播大量的精力去學(xué)習(xí)各種軟件的基本操作,而且在直播過(guò)程中需要來(lái)回切換不同的軟件,導(dǎo)致主播經(jīng)常手忙腳亂,無(wú)法專(zhuān)心于直播本身,進(jìn)而影響直播質(zhì)量。
技術(shù)實(shí)現(xiàn)要素:
為克服上述技術(shù)問(wèn)題或者至少部分地解決上述技術(shù)問(wèn)題,特提出以下技術(shù)方案:
本發(fā)明提供一種輔助直播的音視頻處理方法,包括:
通過(guò)輔助直播音視頻應(yīng)用讀取原始視頻流和原始音頻流;對(duì)原始視頻流進(jìn)行處理,得到視頻流;對(duì)原始音頻流進(jìn)行處理,得到音頻流;
對(duì)齊所述視頻流和音頻流的時(shí)間戳,生成包含對(duì)齊后的視頻流和音頻流的音視頻流數(shù)據(jù)包;
連通所述輔助直播音視頻應(yīng)用與直播應(yīng)用的跨進(jìn)程通信通道;
通過(guò)所述跨進(jìn)程通信通道將所述音視頻流數(shù)據(jù)包傳輸給直播應(yīng)用。
具體的,所述通過(guò)輔助直播音視頻應(yīng)用讀取原始視頻流和原始音頻流,包括:
通過(guò)輔助直播音視頻應(yīng)用讀取利用攝像頭獲得的原始視頻流和利用聲卡獲得的原始音頻流。
具體的,所述對(duì)原始視頻流進(jìn)行處理,得到視頻流,包括:
通過(guò)所述輔助直播音視頻應(yīng)用接收用戶的視頻處理指令,將原始視頻流轉(zhuǎn)化為幀數(shù)據(jù),根據(jù)所述視頻處理指令對(duì)幀數(shù)據(jù)進(jìn)行處理,將處理后幀數(shù)據(jù)重新組裝成視頻流。
具體的,所述視頻處理指令對(duì)幀數(shù)據(jù)進(jìn)行處理,包括:
根據(jù)所述視頻處理指令從視頻算法集中獲取視頻算法,利用視頻算法對(duì)幀數(shù)據(jù)進(jìn)行處理;其中,視頻算法集包括視頻美白算法、視頻特效算法。
具體的,所述對(duì)原始音頻流進(jìn)行處理,得到音頻流,包括:
通過(guò)所述輔助直播音視頻應(yīng)用接收用戶的音頻處理指令,根據(jù)所述音頻處理指令對(duì)原始音頻流進(jìn)行處理,得到音頻流。
具體的,所述根據(jù)所述音頻處理指令對(duì)原始音頻流進(jìn)行處理,包括:
根據(jù)音頻處理指令從音頻算法集中獲取音頻算法,利用音頻算法對(duì)原始音頻流進(jìn)行處理;其中,音頻算法集包括音頻降噪算法、疊加特效算法。
具體的,通過(guò)所述輔助直播音視頻應(yīng)用接收用戶的視頻處理指令,將原始視頻流轉(zhuǎn)化為幀數(shù)據(jù),根據(jù)所述視頻處理指令對(duì)幀數(shù)據(jù)進(jìn)行處理,將處理后幀數(shù)據(jù)重新組裝成視頻流,包括:
通過(guò)所述輔助直播音視頻應(yīng)用的應(yīng)用程序?qū)咏邮沼脩舻囊曨l處理指令;通過(guò)輔助直播音視頻應(yīng)用的多媒體接口層將視頻處理指令傳輸?shù)捷o助直播音視頻應(yīng)用的多媒體服務(wù)層;通過(guò)多媒體服務(wù)層將原始視頻流轉(zhuǎn)化為幀數(shù)據(jù),根據(jù)所述視頻處理指令對(duì)幀數(shù)據(jù)進(jìn)行處理,將處理后幀數(shù)據(jù)重新組裝成視頻流。
具體的,通過(guò)所述輔助直播音視頻應(yīng)用接收用戶的音頻處理指令,根據(jù)音頻處理指令對(duì)原始音頻流進(jìn)行處理,得到音頻流,包括:
通過(guò)所述輔助直播音視頻應(yīng)用的應(yīng)用程序?qū)咏邮沼脩舻囊纛l處理指令,通過(guò)輔助直播音視頻應(yīng)用的多媒體接口層將音頻處理指令傳輸?shù)捷o助直播音視頻應(yīng)用的多媒體服務(wù)層;通過(guò)多媒體服務(wù)層根據(jù)音頻處理指令對(duì)原始音頻流進(jìn)行處理,得到音頻流。
可選的,所述視頻處理指令和所述音頻處理指令對(duì)應(yīng)的操作按鍵顯示于所述輔助直播音視頻應(yīng)用的顯示界面。
可選的,所述通過(guò)所述跨進(jìn)程通信通道將所述音視頻流數(shù)據(jù)包上傳直播應(yīng)用之后,還包括:
通過(guò)所述直播應(yīng)用按預(yù)置規(guī)則將所述音視頻流數(shù)據(jù)包上傳到直播服務(wù)器。
相應(yīng)的,本發(fā)明還提供一種輔助直播的音視頻處理裝置,包括;
讀取處理模塊:用于通過(guò)輔助直播音視頻應(yīng)用讀取原始視頻流和原始音頻流;對(duì)原始視頻流進(jìn)行處理,得到視頻流;對(duì)原始音頻流進(jìn)行處理,得到音頻流;
時(shí)間戳模塊:用于對(duì)齊所述視頻流和音頻流的時(shí)間戳,生成包含對(duì)齊后的視頻流和音頻流的音視頻流數(shù)據(jù)包;
連通模塊:用于連通所述輔助直播音視頻應(yīng)用與直播應(yīng)用的跨進(jìn)程通信通道;
傳輸模塊:用于通過(guò)所述跨進(jìn)程通信通道將所述音視頻流數(shù)據(jù)包傳輸給直播應(yīng)用。
與現(xiàn)有技術(shù)相比,本發(fā)明具備如下優(yōu)點(diǎn):
總的來(lái)說(shuō),本發(fā)明利用輔助直播音視頻應(yīng)用讀取原始視頻流和原始音頻流,以針對(duì)所述原始視頻流和原始音頻流進(jìn)行相關(guān)的處理后得到視頻流和音頻流,進(jìn)而將該視頻流和音頻流進(jìn)行時(shí)間戳對(duì)齊并生成音視頻流數(shù)據(jù)包,再將該音視頻流數(shù)據(jù)包通過(guò)跨進(jìn)程通信通道傳輸至直播應(yīng)用以實(shí)現(xiàn)直播,實(shí)現(xiàn)了同一應(yīng)用程序上進(jìn)行直播音視頻的處理操作,省去了來(lái)回切換多個(gè)直播輔助應(yīng)用的繁瑣操作,降低了設(shè)備資源的損耗,較大程度的避免了直播過(guò)程卡頓、宕機(jī)的現(xiàn)象,提高用戶使用體驗(yàn)。
現(xiàn)有技術(shù)采用多個(gè)直播輔助應(yīng)用,不僅操作繁瑣,而且需要啟用多個(gè)進(jìn)程,增加資源損耗;此外,多個(gè)直播輔助應(yīng)用的數(shù)據(jù)分別處理,這些應(yīng)用的處理進(jìn)程有快有滿,視頻流和音頻流的時(shí)間戳難以對(duì)齊,導(dǎo)致視頻流和音頻流在應(yīng)用時(shí)可能時(shí)間點(diǎn)對(duì)不上;比如,音頻流的應(yīng)用處理較快,而視頻流的應(yīng)用處理較慢,視頻相對(duì)音頻滯后;而本發(fā)明只有一個(gè)輔助直播音視頻應(yīng)用,對(duì)齊視頻流和音頻流的時(shí)間戳后,生成音視頻流數(shù)據(jù)包,通過(guò)跨進(jìn)程通信通道發(fā)給直播應(yīng)用,很好地解決了現(xiàn)有技術(shù)問(wèn)題。另一方面,本方案的輔助直播音視頻應(yīng)用可以作為不同的直播應(yīng)用的輔助,這兩個(gè)應(yīng)用獨(dú)立開(kāi)發(fā)可降低開(kāi)發(fā)難度、縮短開(kāi)發(fā)周期,且這兩個(gè)應(yīng)用可分別屬于不同的開(kāi)發(fā)商,增加彼此的使用靈活性,用戶可選擇使用或不使用輔助直播音視頻應(yīng)用;輔助直播音視頻應(yīng)用處理數(shù)據(jù),把對(duì)齊時(shí)間戳的音視頻流數(shù)據(jù)包通過(guò)跨進(jìn)程通信通道傳輸給直播應(yīng)用,實(shí)現(xiàn)兩個(gè)應(yīng)用的銜接。
另外的,本發(fā)明針對(duì)采集的原始視頻流和原始的音頻流進(jìn)行了相關(guān)的處理,具體是通過(guò)接收用戶的視頻處理指令以獲取相關(guān)的視頻算法,并根據(jù)該視頻算法對(duì)所述原始視頻流的幀數(shù)據(jù)進(jìn)行處理,以實(shí)現(xiàn)視頻美化特效及視頻人像美白、人物瘦身瘦臉效果添加的目的。相應(yīng)的,通過(guò)接收用戶發(fā)送的音頻處理指令以獲取相關(guān)的音頻算法并根據(jù)該音頻算法對(duì)所述原始音頻流進(jìn)行處理,以實(shí)現(xiàn)音頻降噪、音效疊加的目的。故在直播效果的豐富上起到了最大程度的躍進(jìn),同時(shí)實(shí)現(xiàn)視頻、音頻兩者的“美化”,進(jìn)而在直播過(guò)程中更加豐富你的直播內(nèi)容,活躍主播與觀眾的互動(dòng)氛圍,烘托氣氛,使得直播效果更為生動(dòng)。
此外,本發(fā)明利用輔助直播音視頻應(yīng)用對(duì)所述原始視頻流和原始音頻流進(jìn)行處理后通過(guò)請(qǐng)求與直播應(yīng)用進(jìn)行通信而連通的跨程序通信通道,通過(guò)該通信通道將處理后的所述原始視頻流和原始音頻流以音視頻流數(shù)據(jù)包傳輸至直播應(yīng)用,另外所述直播應(yīng)用依據(jù)預(yù)置的規(guī)則將所述音視頻流數(shù)據(jù)包上傳至直播服務(wù)器,其中預(yù)置的規(guī)則包括將主播預(yù)先設(shè)置的直播數(shù)據(jù)打包至所述音視頻數(shù)據(jù)包中一并上傳,以實(shí)現(xiàn)同步直播的功能,降低內(nèi)存占用,提高了數(shù)據(jù)傳輸?shù)乃俾?,以及保證了直播的流暢程度。
綜上所述,本發(fā)明實(shí)現(xiàn)了同一應(yīng)用程序上進(jìn)行直播音視頻的處理操作,省去了來(lái)回切換多個(gè)直播輔助應(yīng)用的繁瑣操作,節(jié)省了設(shè)備資源的損耗,最大程度的避免了直播設(shè)備卡頓、宕機(jī)的現(xiàn)象,提高用戶使用體驗(yàn);另外的在直播過(guò)程中更加豐富你的直播內(nèi)容,活躍主播與觀眾的互動(dòng)氛圍,烘托氣氛;使得直播效果更為生動(dòng);此外將主播預(yù)先設(shè)置的直播數(shù)據(jù)打包至所述音視頻數(shù)據(jù)包中一并上傳,以實(shí)現(xiàn)同步直播的功能,降低內(nèi)存占用,提高了數(shù)據(jù)傳輸?shù)乃俾?,以及保證了直播的流暢程度。
【附圖說(shuō)明】
構(gòu)成本申請(qǐng)的一部分的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1為本發(fā)明中一種輔助直播的音視頻處理方法的實(shí)施例流程圖;
圖2為本發(fā)明中一種輔助直播的音視頻處理裝置的實(shí)施例結(jié)構(gòu)框圖;
圖3為現(xiàn)有直播過(guò)程多個(gè)應(yīng)用協(xié)同配合的工作圖;
圖4為本發(fā)明的輔助直播音視頻應(yīng)用的工作圖;
圖5為本發(fā)明的輔助直播音視頻應(yīng)用的架構(gòu)圖。
【具體實(shí)施方式】
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(yǔ)(包括技術(shù)術(shù)語(yǔ)和科學(xué)術(shù)語(yǔ)),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語(yǔ),應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會(huì)用理想化或過(guò)于正式的含義來(lái)解釋。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例的方案,下面結(jié)合附圖和實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。以下實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
請(qǐng)參閱附圖1所示的實(shí)施例的流程圖,本發(fā)明提供的一種輔助直播音視頻處理方法包括以下步驟:
s101,通過(guò)輔助直播音視頻應(yīng)用讀取原始視頻流和原始音頻流;對(duì)原始視頻流進(jìn)行處理,得到視頻流;對(duì)原始音頻流進(jìn)行處理,得到音頻流;
本發(fā)明實(shí)施例中,通過(guò)輔助直播音視頻應(yīng)用讀取利用攝像頭獲得的原始視頻流和利用聲卡獲得的原始音頻流。
本發(fā)明實(shí)施例中,所述對(duì)原始視頻流進(jìn)行處理,得到視頻流,包括:
通過(guò)所述輔助直播音視頻應(yīng)用接收用戶的視頻處理指令,將原始視頻流轉(zhuǎn)化為幀數(shù)據(jù),根據(jù)所述視頻處理指令對(duì)幀數(shù)據(jù)進(jìn)行處理,將處理后幀數(shù)據(jù)重新組裝成視頻流。
本發(fā)明實(shí)施例中,所述視頻處理指令對(duì)幀數(shù)據(jù)進(jìn)行處理,包括:
根據(jù)所述視頻處理指令從視頻算法集中獲取視頻算法,利用視頻算法對(duì)幀數(shù)據(jù)進(jìn)行處理;其中,視頻算法集包括視頻美白算法、視頻特效算法。
本發(fā)明實(shí)施例中,所述對(duì)原始音頻流進(jìn)行處理,得到音頻流,包括:
通過(guò)所述輔助直播音視頻應(yīng)用接收用戶的音頻處理指令,根據(jù)所述音頻處理指令對(duì)原始音頻流進(jìn)行處理,得到音頻流。
本發(fā)明實(shí)施例中,所述根據(jù)所述音頻處理指令對(duì)原始音頻流進(jìn)行處理,包括:
根據(jù)音頻處理指令從音頻算法集中獲取音頻算法,利用音頻算法對(duì)原始音頻流進(jìn)行處理;其中,音頻算法集包括音頻降噪算法、疊加特效算法。
具體的,本發(fā)明實(shí)施例中,通過(guò)所述輔助直播音視頻應(yīng)用接收用戶的視頻處理指令,將原始視頻流轉(zhuǎn)化為幀數(shù)據(jù),根據(jù)所述視頻處理指令對(duì)幀數(shù)據(jù)進(jìn)行處理,將處理后幀數(shù)據(jù)重新組裝成視頻流,包括:
通過(guò)所述輔助直播音視頻應(yīng)用的應(yīng)用程序?qū)咏邮沼脩舻囊曨l處理指令;通過(guò)輔助直播音視頻應(yīng)用的多媒體接口層將視頻處理指令傳輸?shù)捷o助直播音視頻應(yīng)用的多媒體服務(wù)層;通過(guò)多媒體服務(wù)層將原始視頻流轉(zhuǎn)化為幀數(shù)據(jù),根據(jù)所述視頻處理指令對(duì)幀數(shù)據(jù)進(jìn)行處理,將處理后幀數(shù)據(jù)重新組裝成視頻流。
還有的,通過(guò)所述輔助直播音視頻應(yīng)用接收用戶的音頻處理指令,根據(jù)音頻處理指令對(duì)原始音頻流進(jìn)行處理,得到音頻流,包括:
通過(guò)所述輔助直播音視頻應(yīng)用的應(yīng)用程序?qū)咏邮沼脩舻囊纛l處理指令,通過(guò)輔助直播音視頻應(yīng)用的多媒體接口層將音頻處理指令傳輸?shù)捷o助直播音視頻應(yīng)用的多媒體服務(wù)層;通過(guò)多媒體服務(wù)層根據(jù)音頻處理指令對(duì)原始音頻流進(jìn)行處理,得到音頻流。
本發(fā)明實(shí)施例中,以所述輔助直播音視頻應(yīng)用為基準(zhǔn)將其分為三個(gè)層級(jí),如圖5所示的本發(fā)明的架構(gòu)圖,其中包含有應(yīng)用程序?qū)?、多媒體接口層、多媒體服務(wù)層。
本發(fā)明實(shí)施例中,所述應(yīng)用程序?qū)迂?fù)責(zé)處理業(yè)務(wù)的主邏輯,包括展示給用戶的應(yīng)用程序主功能界面,以及當(dāng)用戶在使用具體某功能時(shí)的界面邏輯展現(xiàn),其主要包括:
mixvideomanager(混合視頻管理器)提供了應(yīng)用程序生成混合的視頻流的過(guò)程中的相關(guān)操作的功能界面;
videocontainer(視頻容器)用于容納該應(yīng)用程序輸入或輸出的相關(guān)數(shù)據(jù);
mixaudiomanager(混合音頻管理器)提供了應(yīng)用程序生成混合的音頻流的過(guò)程中的相關(guān)操作的功能界面。
其所述應(yīng)用程序?qū)拥母鞑糠纸Y(jié)構(gòu)展示出了不同的界面排版,提高了界面顯示的有效性,為音視頻處理提供了更為便捷有利的平臺(tái)。
本發(fā)明實(shí)施例中,所述多媒體服務(wù)層則主要封裝抽離出相關(guān)的算法類(lèi),包括美白算法類(lèi),視頻特效算法類(lèi),聲音降噪算法類(lèi)等等;具體的算法實(shí)現(xiàn)類(lèi)針對(duì)于本身輸入和輸出是什么,從而將應(yīng)用程序?qū)雍投嗝襟w服務(wù)層在邏輯上完全隔離開(kāi),其中主要包括有:ccapturevideo(視頻捕獲)、caccompanymusic(伴奏音樂(lè))、cmediavideo(媒體視頻)、cmoodmusic(氣氛音樂(lè))、cdesktopvideo(桌面視頻)、cdecorationlayer(裝飾層)。其中所述caccompanymusic、cmediavideo、cmoodmusic三者將共同進(jìn)行相關(guān)的算法類(lèi),實(shí)現(xiàn)統(tǒng)一化;所述cdecorationlayer主要抽離出相關(guān)算法。
本發(fā)明實(shí)施例中,其中所述應(yīng)用程序?qū)雍投嗝襟w服務(wù)層主要是通過(guò)多媒體接口層實(shí)現(xiàn)雙向的通信,該媒體接口層主要負(fù)責(zé)提供上下兩層的邏輯通信通道,其主要包括:idecorationlayernotify(裝飾層通知)、iplayaccompanymusic(伴奏音樂(lè)播放)、icapturevideonotify(捕獲視頻通知)、iplaymediavideo(媒體視頻播放)、ipaintphoto(圖片繪制)、idesktopvideocb(桌面視頻)、icapturevideo(視頻捕獲)、iaccompanymusic(伴奏音樂(lè))、imediavideo(媒體視頻)、imoodmusic(氣氛音樂(lè))、idecorationlayer(裝飾層)、ivcammanger。其各部分單元模塊的分布簡(jiǎn)化了多媒體接口,降低接口資源的占用。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)了解,由于多媒體核心模塊代碼(vcambiz)越來(lái)越混亂和冗余,故通過(guò)該應(yīng)用程序的三個(gè)層級(jí)的構(gòu)架使得該應(yīng)用程序在后續(xù)程序的相關(guān)維護(hù)上更為便捷,實(shí)現(xiàn)了一套可擴(kuò)展的插件化多媒體數(shù)據(jù)流服務(wù)框架。
其中,本發(fā)明實(shí)施例中,所述視頻處理指令和所述音頻處理指令對(duì)應(yīng)的操作按鍵顯示于所述輔助直播音視頻應(yīng)用的顯示界面。
本發(fā)明實(shí)施例中,所述輔助直播音視頻應(yīng)通過(guò)相關(guān)的讀取函數(shù)獲得攝像頭采集的原始視頻流并將其分解為幀數(shù)據(jù),其中幀數(shù)據(jù)相當(dāng)于圖像,故本發(fā)明的對(duì)幀數(shù)據(jù)進(jìn)行處理相當(dāng)于對(duì)圖像的處理。圖像的處理又涉及到圖像處理技術(shù)以及圖像識(shí)別技術(shù),其中圖像處理一般指數(shù)字圖像處理,主要是對(duì)圖像進(jìn)行去除噪聲、增強(qiáng)、復(fù)原、分割、提取特征等處理的方法。
另外的,本發(fā)明實(shí)施例中,所述視頻算法集主要是包括有視頻美白算法、視頻特效算法,所述美白算法主要對(duì)獲取的幀數(shù)據(jù)中具有的人物特征數(shù)據(jù)進(jìn)行算法處理;所述視頻特效算法主要是在采集的原始視頻流的幀數(shù)據(jù)中增加主播用戶添加的圖像數(shù)據(jù),并分別疊加至所述幀數(shù)據(jù)中以實(shí)現(xiàn)視頻動(dòng)畫(huà)的添加,或者是通過(guò)改變幀數(shù)據(jù)的圖像參數(shù)以實(shí)現(xiàn)視頻特效的添加;其主要改變的圖像參數(shù)有:圖像分辨率、圖像對(duì)比度、圖像亮度、圖像飽和度、圖像銳度、圖像色溫等。
需要說(shuō)明的是,本發(fā)明提供的對(duì)原始音頻數(shù)據(jù)的處理和/或是對(duì)原始視頻數(shù)據(jù)的處理所運(yùn)用的方法并不局限于本發(fā)明實(shí)施例提出的方法,還可以有其他方法,本發(fā)明對(duì)此不做限制。
s102,對(duì)齊所述視頻流和音頻流的時(shí)間戳,生成包含對(duì)齊后的視頻流和音頻流的音視頻流數(shù)據(jù)包。
本發(fā)明實(shí)施例中,所述對(duì)齊所述視頻流和音頻流的時(shí)間戳,具體包括:
獲取處理后的所述視頻流以及音頻流對(duì)應(yīng)的時(shí)間戳,并依據(jù)獲得的時(shí)間戳將兩者進(jìn)行時(shí)間戳的對(duì)齊。所述時(shí)間戳是一個(gè)字符序列,唯一地標(biāo)識(shí)某一刻的時(shí)間,例如主播的開(kāi)播時(shí)間為08:30:00,故原始視頻流首幀圖像數(shù)據(jù)以08:30:00為時(shí)間戳,原始音頻流假設(shè)也以08:30:00為時(shí)間戳,另外在不改變所述原始視頻流對(duì)應(yīng)的幀數(shù)據(jù)的時(shí)間長(zhǎng)度和該時(shí)間長(zhǎng)度下對(duì)應(yīng)原始音頻流數(shù)據(jù)的基礎(chǔ)上,假設(shè)處理完生成所述視頻流和音頻流的時(shí)間分別為08:30:10和08:30:05,同時(shí)將處理完成后的所述視頻流和音頻流的分別對(duì)應(yīng)的起始位的時(shí)間戳標(biāo)記為08:30:00,故在08:30:05所述音頻流數(shù)據(jù)將暫存于a存儲(chǔ)中,當(dāng)08:30:10所述視頻流數(shù)據(jù)合成完成后將暫存于b存儲(chǔ)中,以根據(jù)觸發(fā)的時(shí)間戳對(duì)齊指令,將所述音頻流數(shù)據(jù)和視頻流數(shù)據(jù)分別由a、b存儲(chǔ)中提取出至c存儲(chǔ)中以根據(jù)標(biāo)記的時(shí)間戳08:30:00進(jìn)行合成完整的音視頻流數(shù)據(jù)包;其中,還包括另外一種可行方案是將在08:30:05處的所述音頻流數(shù)據(jù)將暫存于a存儲(chǔ)中,當(dāng)08:30:10處的所述視頻流數(shù)據(jù)合成完成后同樣暫存于a存儲(chǔ)中,并于a存儲(chǔ)中合成所述音視頻流數(shù)據(jù)包。
本發(fā)明實(shí)施例中,圖4中本發(fā)明的輔助直播音視頻應(yīng)用的工作圖,其“現(xiàn)場(chǎng)特效”一欄具有三方面的內(nèi)容:常用音效、現(xiàn)場(chǎng)動(dòng)畫(huà)、動(dòng)畫(huà)廣播。其中所述常用音效一欄中收集有預(yù)先設(shè)置的音效數(shù)據(jù),其實(shí)時(shí)獲取云端服務(wù)器發(fā)送的數(shù)據(jù)更新數(shù)據(jù)以存儲(chǔ)于本地?cái)?shù)據(jù)庫(kù),假設(shè)當(dāng)觸控“前奏曲”的控件區(qū)域時(shí),該輔助直播音視頻應(yīng)用將下發(fā)獲取“前奏曲”對(duì)應(yīng)音頻數(shù)據(jù)的獲取指令,以依據(jù)該獲取指令將所述“前奏曲”對(duì)應(yīng)音頻數(shù)據(jù)疊加至直播過(guò)程中采集的原始音頻流數(shù)據(jù)中,其主要是將下發(fā)所述獲取指令時(shí)的時(shí)間點(diǎn)數(shù)據(jù)與所述原始音頻流數(shù)據(jù)對(duì)應(yīng)的當(dāng)前時(shí)間數(shù)據(jù)進(jìn)行對(duì)齊,并在所述原始音頻流數(shù)據(jù)相應(yīng)對(duì)齊的位置處疊加入所述“前奏曲”對(duì)應(yīng)音頻數(shù)據(jù),以實(shí)現(xiàn)音效的疊加。其現(xiàn)場(chǎng)動(dòng)畫(huà)的實(shí)現(xiàn)手段與音頻的實(shí)現(xiàn)方式具有異曲同工之處,其主要是獲取該動(dòng)畫(huà)的動(dòng)畫(huà)數(shù)據(jù)并獲取下發(fā)該動(dòng)畫(huà)數(shù)據(jù)的提取指令時(shí)對(duì)應(yīng)的時(shí)間點(diǎn)數(shù)據(jù),并在原始視頻流數(shù)據(jù)中該時(shí)間點(diǎn)數(shù)據(jù)與當(dāng)前時(shí)間數(shù)據(jù)對(duì)齊的位置處疊加入該動(dòng)畫(huà)數(shù)據(jù),以實(shí)現(xiàn)現(xiàn)場(chǎng)動(dòng)畫(huà)的添加。由此使得本發(fā)明同時(shí)具備了氣氛音的添加、背景音的添加、音效調(diào)節(jié)以及視頻調(diào)節(jié)的功能,對(duì)主播的直播工作提供了更為便利的使用體驗(yàn)。
需要說(shuō)明的是,本發(fā)明提供的音頻數(shù)據(jù)疊加和/或是視頻數(shù)據(jù)疊加所運(yùn)用的方法以及時(shí)間戳的對(duì)齊方法并不局限于本發(fā)明實(shí)施例提出的方法,還可以有其他方法,本發(fā)明對(duì)此不做限制。
s103,連通所述輔助直播音視頻應(yīng)用與直播應(yīng)用的跨進(jìn)程通信通道。
s104,通過(guò)所述跨進(jìn)程通信通道將所述音視頻流數(shù)據(jù)包傳輸給直播應(yīng)用。
本發(fā)明實(shí)施例中,所述跨進(jìn)程通信是指在進(jìn)程間數(shù)據(jù)傳輸,即進(jìn)程間的數(shù)據(jù)交換。其中所述跨進(jìn)程通信的方式包括:廣播、接口訪問(wèn)、對(duì)象訪問(wèn)、共享訪問(wèn)。
以本發(fā)明所述輔助直播音視頻應(yīng)用(以a程序表述)與直播應(yīng)用(以b程序表述)間的通信為例:所述廣播的具體實(shí)現(xiàn)方式是啟動(dòng)a程序,定義a程序的傳輸所述音視頻流數(shù)據(jù)包為c事件,并向b程序發(fā)送廣播;b程序在運(yùn)行的情況下新建一個(gè)類(lèi)以繼承c事件的觸發(fā),接收a程序的廣播,建立a、b之間的跨進(jìn)程通信通道。
所述接口訪問(wèn)的具體實(shí)現(xiàn)方式包括a程序觸發(fā)所述c事件,在相關(guān)權(quán)限訪問(wèn)的獲準(zhǔn)下,b程序訪問(wèn)a程序?qū)ν獗┞兜慕涌冢、b之間的跨進(jìn)程通信通道,并獲取a程序的與c事件相應(yīng)的數(shù)據(jù)。
所述對(duì)象訪問(wèn)的具體實(shí)現(xiàn)方式是創(chuàng)建b程序并建立一個(gè)新的活動(dòng)命名為d活動(dòng),再創(chuàng)建a程序并建立一個(gè)新的事件為c事件對(duì)應(yīng)b程序中的d,觸發(fā)d活動(dòng)對(duì)應(yīng)的相關(guān)指令訪問(wèn)a程序接收c事件的相關(guān)數(shù)據(jù),并建立a、b之間的跨進(jìn)程通信通道。
所述共享訪問(wèn)的具體實(shí)現(xiàn)方式是將a程序觸發(fā)的c事件對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)于預(yù)置內(nèi)存中并建立相關(guān)的權(quán)限訪問(wèn),運(yùn)行b程序建立訪問(wèn)所述預(yù)置內(nèi)存相關(guān)權(quán)限,在該權(quán)限的基準(zhǔn)下,獲取所述預(yù)置內(nèi)存中的c事件對(duì)應(yīng)的音視頻流數(shù)據(jù)包,構(gòu)建a、b之間的跨進(jìn)程通信通道。
本發(fā)明實(shí)施例中,步驟s104還包括:
通過(guò)所述直播應(yīng)用按預(yù)置規(guī)則將所述音視頻流數(shù)據(jù)包上傳到直播服務(wù)器。
其中,本發(fā)明實(shí)施例中,所述預(yù)置規(guī)則指的是將所述音視頻流數(shù)據(jù)包上傳至直播服務(wù)器的行為規(guī)范,具體過(guò)程為將生成檢測(cè)該音視頻流數(shù)據(jù)包的數(shù)據(jù)完整性的檢測(cè)指令,其中該音視頻流數(shù)據(jù)包不僅包含有所述視頻流和音頻流,還包含有針對(duì)直播中主播發(fā)送的廣播數(shù)據(jù)以及彈幕數(shù)據(jù),當(dāng)具備有所述廣播數(shù)據(jù)和/或彈幕數(shù)據(jù)時(shí),將所述廣播數(shù)據(jù)和/或彈幕數(shù)據(jù)合并至所述音視頻流數(shù)據(jù)包中,在所述音視頻流數(shù)據(jù)包在被執(zhí)行上傳指令時(shí)需觸發(fā)轉(zhuǎn)換指令以將該音視頻流數(shù)據(jù)包轉(zhuǎn)換為適于發(fā)送的電信號(hào)。
應(yīng)當(dāng)理解的是,在本發(fā)明實(shí)施例中,步驟s101-s104的方法均為通過(guò)所述輔助直播音視頻應(yīng)用進(jìn)行處理的,其中該輔助直播音視頻應(yīng)用通過(guò)步驟103連通的所述跨進(jìn)程通信通道將步驟101和步驟102生成的所述音視頻流數(shù)據(jù)包結(jié)合步驟104傳輸給所述直播應(yīng)用。
需要說(shuō)明的是,本發(fā)明提供的跨進(jìn)程通信所運(yùn)用的方法并不局限于本發(fā)明實(shí)施例提出的方法,還可以有其他方法,本發(fā)明對(duì)此不做限制。
請(qǐng)參照?qǐng)D2所示的一種輔助直播的音視頻處理裝置的實(shí)施例結(jié)構(gòu)框圖,本發(fā)明所述一種輔助直播音視頻處理裝置包括:
讀取處理模塊11:用于通過(guò)輔助直播音視頻應(yīng)用讀取原始視頻流和原始音頻流;對(duì)原始視頻流進(jìn)行處理,得到視頻流;對(duì)原始音頻流進(jìn)行處理,得到音頻流。
本發(fā)明實(shí)施例中,通過(guò)輔助直播音視頻應(yīng)用讀取利用攝像頭獲得的原始視頻流和利用聲卡獲得的原始音頻流。
本發(fā)明實(shí)施例中,所述對(duì)原始視頻流進(jìn)行處理,得到視頻流,包括:
視頻處理單元:用于通過(guò)所述輔助直播音視頻應(yīng)用接收用戶的視頻處理指令,將原始視頻流轉(zhuǎn)化為幀數(shù)據(jù),根據(jù)所述視頻處理指令對(duì)幀數(shù)據(jù)進(jìn)行處理,將處理后幀數(shù)據(jù)重新組裝成視頻流。
本發(fā)明實(shí)施例中,所述視頻處理單元包括:
視頻算法獲取子單元:用于根據(jù)所述視頻處理指令從視頻算法集中獲取視頻算法,利用視頻算法對(duì)幀數(shù)據(jù)進(jìn)行處理;其中,視頻算法集包括視頻美白算法、視頻特效算法。
本發(fā)明實(shí)施例中,所述對(duì)原始音頻流進(jìn)行處理,得到音頻流,包括:
音頻處理單元:用于通過(guò)所述輔助直播音視頻應(yīng)用接收用戶的音頻處理指令,根據(jù)所述音頻處理指令對(duì)原始音頻流進(jìn)行處理,得到音頻流。
本發(fā)明實(shí)施例中,所述音頻處理單元包括:
音頻算法子單元:用于根據(jù)音頻處理指令從音頻算法集中獲取音頻算法,利用音頻算法對(duì)原始音頻流進(jìn)行處理;其中,音頻算法集包括音頻降噪算法、疊加特效算法。
具體的,本發(fā)明實(shí)施例中,所述視頻處理單元還包括:
第一應(yīng)用層子單元:用于通過(guò)所述輔助直播音視頻應(yīng)用的應(yīng)用程序?qū)咏邮沼脩舻囊曨l處理指令;
第一接口層子單元:用于通過(guò)輔助直播音視頻應(yīng)用的多媒體接口層將視頻處理指令傳輸?shù)捷o助直播音視頻應(yīng)用的多媒體服務(wù)層;
第一服務(wù)層子單元:用于通過(guò)多媒體服務(wù)層將原始視頻流轉(zhuǎn)化為幀數(shù)據(jù),根據(jù)所述視頻處理指令對(duì)幀數(shù)據(jù)進(jìn)行處理,將處理后幀數(shù)據(jù)重新組裝成視頻流。
還有的,所述音頻處理單元還包括:
第二應(yīng)用層子單元:用于通過(guò)所述輔助直播音視頻應(yīng)用的應(yīng)用程序?qū)咏邮沼脩舻囊纛l處理指令;
第二接口層子單元:用于通過(guò)輔助直播音視頻應(yīng)用的多媒體接口層將音頻處理指令傳輸?shù)捷o助直播音視頻應(yīng)用的多媒體服務(wù)層;
第二服務(wù)層子單元:用于通過(guò)多媒體服務(wù)層根據(jù)音頻處理指令對(duì)原始音頻流進(jìn)行處理,得到音頻流。
其中,本發(fā)明實(shí)施例中,所述視頻處理指令和所述音頻處理指令對(duì)應(yīng)的操作按鍵顯示于所述輔助直播音視頻應(yīng)用的顯示界面。
本發(fā)明實(shí)施例中,所述輔助直播音視頻應(yīng)通過(guò)相關(guān)的讀取函數(shù)獲得攝像頭采集的原始視頻流并將其分解為幀數(shù)據(jù),其中幀數(shù)據(jù)相當(dāng)于圖像,故本發(fā)明的對(duì)幀數(shù)據(jù)進(jìn)行處理相當(dāng)于對(duì)圖像的處理。圖像的處理又涉及到圖像處理技術(shù)以及圖像識(shí)別技術(shù),其中圖像處理一般指數(shù)字圖像處理,主要是對(duì)圖像進(jìn)行去除噪聲、增強(qiáng)、復(fù)原、分割、提取特征等處理的方法。
另外的,本發(fā)明實(shí)施例中,所述視頻算法集主要是包括有視頻美白算法、視頻特效算法,所述美白算法主要對(duì)獲取的幀數(shù)據(jù)中具有的人物特征數(shù)據(jù)進(jìn)行算法處理;所述視頻特效算法主要是在采集的原始視頻流的幀數(shù)據(jù)中增加主播用戶添加的圖像數(shù)據(jù),并分別疊加至所述幀數(shù)據(jù)中以實(shí)現(xiàn)視頻動(dòng)畫(huà)的添加,或者是通過(guò)改變幀數(shù)據(jù)的圖像參數(shù)以實(shí)現(xiàn)視頻特效的添加;其主要改變的圖像參數(shù)有:圖像分辨率、圖像對(duì)比度、圖像亮度、圖像飽和度、圖像銳度、圖像色溫等。
本發(fā)明實(shí)施例中,所述應(yīng)用層子單元還包括負(fù)責(zé)處理業(yè)務(wù)的主邏輯,包括展示給用戶的應(yīng)用程序主功能界面,以及當(dāng)用戶在使用具體某功能時(shí)的界面邏輯展現(xiàn)。所述服務(wù)層子單元?jiǎng)t主要封裝抽離出相關(guān)的算法類(lèi),包括美白算法類(lèi),視頻特效算法類(lèi),聲音降噪算法類(lèi)等等;具體的算法實(shí)現(xiàn)類(lèi)主要針對(duì)輸入和輸出是什么,從而將應(yīng)用程序?qū)雍投嗝襟w服務(wù)層在邏輯上完全隔離開(kāi)。其中所述應(yīng)用層子單元和服務(wù)層子單元主要是通過(guò)接口層子單元實(shí)現(xiàn)雙向的通信,該接口層子單元主要負(fù)責(zé)提供上下兩層的邏輯通信通道。
需要說(shuō)明的是,本發(fā)明提供的對(duì)原始音頻數(shù)據(jù)的處理和/或是對(duì)原始視頻數(shù)據(jù)的處理所運(yùn)用的方法并不局限于本發(fā)明實(shí)施例提出的方法,還可以有其他方法,本發(fā)明對(duì)此不做限制。
時(shí)間戳模塊12:用于對(duì)齊所述視頻流和音頻流的時(shí)間戳,生成包含對(duì)齊后的視頻流和音頻流的音視頻流數(shù)據(jù)包。
本發(fā)明實(shí)施例中,所述對(duì)齊所述視頻流和音頻流的時(shí)間戳,具體包括:
獲取處理后的所述視頻流以及音頻流對(duì)應(yīng)的時(shí)間戳,并依據(jù)獲得的時(shí)間戳將兩者進(jìn)行時(shí)間戳的對(duì)齊。所述時(shí)間戳是一個(gè)字符序列,唯一地標(biāo)識(shí)某一刻的時(shí)間,例如主播的開(kāi)播時(shí)間為08:30:00,故原始視頻流首幀圖像數(shù)據(jù)以08:30:00為時(shí)間戳,原始音頻流假設(shè)也以08:30:00為時(shí)間戳,另外在不改變所述原始視頻流對(duì)應(yīng)的幀數(shù)據(jù)的時(shí)間長(zhǎng)度和該時(shí)間長(zhǎng)度下對(duì)應(yīng)原始音頻流數(shù)據(jù)的基礎(chǔ)上,假設(shè)處理完生成所述視頻流和音頻流的時(shí)間分別為08:30:10和08:30:05,同時(shí)將處理完成后的所述視頻流和音頻流的分別對(duì)應(yīng)的起始位的時(shí)間戳標(biāo)記為08:30:00,故在08:30:05所述音頻流數(shù)據(jù)將暫存于a存儲(chǔ)中,當(dāng)08:30:10所述視頻流數(shù)據(jù)合成完成后將暫存于b存儲(chǔ)中,以根據(jù)觸發(fā)的時(shí)間戳對(duì)齊指令,將所述音頻流數(shù)據(jù)和視頻流數(shù)據(jù)分別由a、b存儲(chǔ)中提取出至c存儲(chǔ)中以根據(jù)標(biāo)記的時(shí)間戳08:30:00進(jìn)行合成完整的音視頻流數(shù)據(jù)包;其中,還包括另外一種可行方案是將在08:30:05處的所述音頻流數(shù)據(jù)將暫存于a存儲(chǔ)中,當(dāng)08:30:10處的所述視頻流數(shù)據(jù)合成完成后同樣暫存于a存儲(chǔ)中,并于a存儲(chǔ)中合成所述音視頻流數(shù)據(jù)包。
本發(fā)明實(shí)施例中,圖4中本發(fā)明的輔助直播音視頻應(yīng)用的工作圖,其“現(xiàn)場(chǎng)特效”一欄具有三方面的內(nèi)容:常用音效、現(xiàn)場(chǎng)動(dòng)畫(huà)、動(dòng)畫(huà)廣播。其中所述常用音效一欄中收集有預(yù)先設(shè)置的音效數(shù)據(jù),其實(shí)時(shí)獲取云端服務(wù)器發(fā)送的數(shù)據(jù)更新數(shù)據(jù)以存儲(chǔ)于本地?cái)?shù)據(jù)庫(kù),假設(shè)當(dāng)觸控“前奏曲”的控件區(qū)域時(shí),該輔助直播音視頻應(yīng)用將下發(fā)獲取“前奏曲”對(duì)應(yīng)音頻數(shù)據(jù)的獲取指令,以依據(jù)該獲取指令將所述“前奏曲”對(duì)應(yīng)音頻數(shù)據(jù)疊加至直播過(guò)程中采集的原始音頻流數(shù)據(jù)中,其主要是將下發(fā)所述獲取指令時(shí)的時(shí)間點(diǎn)數(shù)據(jù)與所述原始音頻流數(shù)據(jù)對(duì)應(yīng)的當(dāng)前時(shí)間數(shù)據(jù)進(jìn)行對(duì)齊,并在所述原始音頻流數(shù)據(jù)相應(yīng)對(duì)齊的位置處疊加入所述“前奏曲”對(duì)應(yīng)音頻數(shù)據(jù),以實(shí)現(xiàn)音效的疊加。其現(xiàn)場(chǎng)動(dòng)畫(huà)的實(shí)現(xiàn)手段與音頻的實(shí)現(xiàn)方式具有異曲同工之處,其主要是獲取該動(dòng)畫(huà)的動(dòng)畫(huà)數(shù)據(jù)并獲取下發(fā)該動(dòng)畫(huà)數(shù)據(jù)的提取指令時(shí)對(duì)應(yīng)的時(shí)間點(diǎn)數(shù)據(jù),并在原始視頻流數(shù)據(jù)中該時(shí)間點(diǎn)數(shù)據(jù)與當(dāng)前時(shí)間數(shù)據(jù)對(duì)齊的位置處疊加入該動(dòng)畫(huà)數(shù)據(jù),以實(shí)現(xiàn)現(xiàn)場(chǎng)動(dòng)畫(huà)的添加。
需要說(shuō)明的是,本發(fā)明提供的音頻數(shù)據(jù)疊加和/或是視頻數(shù)據(jù)疊加所運(yùn)用的方法以及時(shí)間戳的對(duì)齊方法并不局限于本發(fā)明實(shí)施例提出的方法,還可以有其他方法,本發(fā)明對(duì)此不做限制。
連通模塊13:用于連通所述輔助直播音視頻應(yīng)用與直播應(yīng)用的跨進(jìn)程通信通道。
傳輸模塊14:用于通過(guò)所述跨進(jìn)程通信通道將所述音視頻流數(shù)據(jù)包傳輸給直播應(yīng)用。
本發(fā)明實(shí)施例中,所述跨進(jìn)程通信是指在進(jìn)程間數(shù)據(jù)傳輸,即進(jìn)程間的數(shù)據(jù)交換。其中所述跨進(jìn)程通信的方式包括:廣播、接口訪問(wèn)、對(duì)象訪問(wèn)、共享訪問(wèn)。
以本發(fā)明所述輔助直播音視頻應(yīng)用(以a程序表述)與直播應(yīng)用(以b程序表述)間的通信為例:所述廣播的具體實(shí)現(xiàn)方式是啟動(dòng)a程序,定義a程序的傳輸所述音視頻流數(shù)據(jù)包為c事件,并向b程序發(fā)送廣播;b程序在運(yùn)行的情況下新建一個(gè)類(lèi)以繼承c事件的觸發(fā),接收a程序的廣播,建立a、b之間的跨進(jìn)程通信通道。
所述接口訪問(wèn)的具體實(shí)現(xiàn)方式包括a程序觸發(fā)所述c事件,在相關(guān)權(quán)限訪問(wèn)的獲準(zhǔn)下,b程序訪問(wèn)a程序?qū)ν獗┞兜慕涌冢、b之間的跨進(jìn)程通信通道,并獲取a程序的與c事件相應(yīng)的數(shù)據(jù)。
所述對(duì)象訪問(wèn)的具體實(shí)現(xiàn)方式是創(chuàng)建b程序并建立一個(gè)新的活動(dòng)命名為d活動(dòng),再創(chuàng)建a程序并建立一個(gè)新的事件為c事件對(duì)應(yīng)b程序中的d,觸發(fā)d活動(dòng)對(duì)應(yīng)的相關(guān)指令訪問(wèn)a程序接收c事件的相關(guān)數(shù)據(jù),并建立a、b之間的跨進(jìn)程通信通道。
所述共享訪問(wèn)的具體實(shí)現(xiàn)方式是將a程序觸發(fā)的c事件對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)于預(yù)置內(nèi)存中并建立相關(guān)的權(quán)限訪問(wèn),運(yùn)行b程序建立訪問(wèn)所述預(yù)置內(nèi)存相關(guān)權(quán)限,在該權(quán)限的基準(zhǔn)下,獲取所述預(yù)置內(nèi)存中的c事件對(duì)應(yīng)的音視頻流數(shù)據(jù)包,構(gòu)建a、b之間的跨進(jìn)程通信通道。
本發(fā)明實(shí)施例中,傳輸模塊14還包括:
上傳單元:通過(guò)所述直播應(yīng)用按預(yù)置規(guī)則將所述音視頻流數(shù)據(jù)包上傳到直播服務(wù)器。
其中,本發(fā)明實(shí)施例中,所述預(yù)置規(guī)則指的是將所述音視頻流數(shù)據(jù)包上傳至直播服務(wù)器的行為規(guī)范,具體過(guò)程為將生成檢測(cè)該音視頻流數(shù)據(jù)包的數(shù)據(jù)完整性的檢測(cè)指令,其中該音視頻流數(shù)據(jù)包不僅包含有所述視頻流和音頻流,還包含有針對(duì)直播中主播發(fā)送的廣播數(shù)據(jù)以及彈幕數(shù)據(jù),當(dāng)具備有所述廣播數(shù)據(jù)和/或彈幕數(shù)據(jù)時(shí),將所述廣播數(shù)據(jù)和/或彈幕數(shù)據(jù)合并至所述音視頻流數(shù)據(jù)包中,在所述音視頻流數(shù)據(jù)包在被執(zhí)行上傳指令時(shí)需觸發(fā)轉(zhuǎn)換指令以將該音視頻流數(shù)據(jù)包轉(zhuǎn)換為適于發(fā)送的電信號(hào)。
應(yīng)當(dāng)理解的是,在本發(fā)明實(shí)施例中,模塊11-14均屬于所述輔助直播音視頻應(yīng)用,其中該輔助直播音視頻應(yīng)用通過(guò)所述連通模塊13的跨進(jìn)程通信通道將所述讀取處理模塊11結(jié)合所述時(shí)間戳模塊12生成的所述音視頻流數(shù)據(jù)包利用所述傳輸模塊14傳輸給所述直播應(yīng)用。
需要說(shuō)明的是,本發(fā)明提供的跨進(jìn)程通信所運(yùn)用的方法并不局限于本發(fā)明實(shí)施例提出的方法,還可以有其他方法,本發(fā)明對(duì)此不做限制。
總的來(lái)說(shuō),本發(fā)明利用輔助直播音視頻應(yīng)用讀取原始視頻流和原始音頻流,以針對(duì)所述原始視頻流和原始音頻流進(jìn)行相關(guān)的處理后得到視頻流和音頻流,進(jìn)而將該視頻流和音頻流進(jìn)行時(shí)間戳對(duì)齊并生成音視頻流數(shù)據(jù)包,再將該音視頻流數(shù)據(jù)包通過(guò)跨進(jìn)程通信通道傳輸至直播應(yīng)用以實(shí)現(xiàn)直播,實(shí)現(xiàn)了同一應(yīng)用程序上進(jìn)行直播音視頻的處理操作,省去了來(lái)回切換多個(gè)直播輔助應(yīng)用的繁瑣操作,降低了設(shè)備資源的損耗,很大程度的避免了直播過(guò)程卡頓、宕機(jī)的現(xiàn)象,提高用戶使用體驗(yàn)。
另外的,本發(fā)明針對(duì)采集的原始視頻流和原始的音頻流進(jìn)行了相關(guān)的處理,具體是通過(guò)接收用戶的視頻處理指令以獲取相關(guān)的視頻算法,并根據(jù)該視頻算法對(duì)所述原始視頻流的幀數(shù)據(jù)進(jìn)行處理,以實(shí)現(xiàn)視頻美化特效及視頻人像美白、人物瘦身瘦臉效果添加的目的。相應(yīng)的,通過(guò)接收用戶發(fā)送的音頻處理指令以獲取相關(guān)的音頻算法并根據(jù)該音頻算法對(duì)所述原始音頻流進(jìn)行處理,以實(shí)現(xiàn)音頻降噪、音效疊加的目的。故在直播效果的豐富上起到了最大程度的躍進(jìn),同時(shí)實(shí)現(xiàn)視頻、音頻兩者的“美化”,進(jìn)而在直播過(guò)程中更加豐富你的直播內(nèi)容,活躍主播與觀眾的互動(dòng)氛圍,烘托氣氛;使得直播效果更為生動(dòng)。
此外,本發(fā)明利用輔助直播音視頻應(yīng)用對(duì)所述原始視頻流和原始音頻流進(jìn)行處理后通過(guò)請(qǐng)求與直播應(yīng)用進(jìn)行通信而連通的跨程序通信通道,通過(guò)該通信通道將處理后的所述原始視頻流和原始音頻流以音視頻流數(shù)據(jù)包傳輸至直播應(yīng)用,另外所述直播應(yīng)用依據(jù)預(yù)置的規(guī)則將所述音視頻流數(shù)據(jù)包上傳至直播服務(wù)器,其中預(yù)置的規(guī)則包括將主播預(yù)先設(shè)置的直播數(shù)據(jù)打包至所述音視頻數(shù)據(jù)包中一并上傳,以實(shí)現(xiàn)同步直播的功能,降低內(nèi)存占用,提高了數(shù)據(jù)傳輸?shù)乃俾?,以及保證了直播的流暢程度。
綜上所述,本發(fā)明實(shí)現(xiàn)了同一應(yīng)用程序上進(jìn)行直播音視頻的處理操作,省去了來(lái)回切換多個(gè)直播輔助應(yīng)用的繁瑣操作,節(jié)省了設(shè)備資源的損耗,最大程度的避免了直播設(shè)備卡頓、宕機(jī)的現(xiàn)象,提高用戶使用體驗(yàn);另外的在直播過(guò)程中更加豐富你的直播內(nèi)容,活躍主播與觀眾的互動(dòng)氛圍,烘托氣氛;使得直播效果更為生動(dòng);此外將主播預(yù)先設(shè)置的直播數(shù)據(jù)打包至所述音視頻數(shù)據(jù)包中一并上傳,以實(shí)現(xiàn)同步直播的功能,降低內(nèi)存占用,提高了數(shù)據(jù)傳輸?shù)乃俾?,以及保證了直播的流暢程度。
在此處所提供的說(shuō)明書(shū)中,雖然說(shuō)明了大量的具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)施例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
雖然上面已經(jīng)示出了本發(fā)明的一些示例性實(shí)施例,但是本領(lǐng)域的技術(shù)人員將理解,在不脫離本發(fā)明的原理或精神的情況下,可以對(duì)這些示例性實(shí)施例做出改變,本發(fā)明的范圍由權(quán)利要求及其等同物限定。