專(zhuān)利名稱(chēng):一種實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及音頻解碼領(lǐng)域,尤其涉及一種實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法。
背景技術(shù):
隨著人們對(duì)多媒體圖像和聲音的要求越來(lái)越高,在高清晰數(shù)字電視(HDTV)和數(shù)字電影中不僅應(yīng)有高質(zhì)量的圖像,也應(yīng)當(dāng)具有CD質(zhì)量的立體聲。因?yàn)橛脭?shù)字方法記錄聲音比用模擬方法記錄聲音具有更強(qiáng)的優(yōu)勢(shì),例如傳輸時(shí)抗噪聲能力強(qiáng)、増加音頻動(dòng)態(tài)范圍、多次翻錄沒(méi)有信號(hào)衰減等。但是數(shù)字聲音最大的缺陷是記錄的數(shù)據(jù)量大,表現(xiàn)在兩個(gè)方面其一是在傳輸過(guò)程中,傳輸數(shù)字聲音需要占用很寬的傳輸帶寬;其ニ是在存儲(chǔ)過(guò)程中,需要占用大量的存儲(chǔ)空間。所以在數(shù)字音頻中需要采用數(shù)字音頻壓縮技木,對(duì)音頻數(shù)據(jù)進(jìn)行壓縮?,F(xiàn)有技術(shù)中,進(jìn)行音頻轉(zhuǎn)碼時(shí)通過(guò)聲音濾波器Source Futer進(jìn)行文件的管理,收 到轉(zhuǎn)碼請(qǐng)求時(shí),由傳輸濾波器Transform Filter接收需要轉(zhuǎn)碼的音頻數(shù)據(jù)流,再通過(guò)各自的輸出pin輸出,其中,音頻解碼濾波器Audio Decoder Filter用于解碼音頻流,將音頻流解碼后在發(fā)送至渲染濾波器Render Filter,由Render Filter將音頻流數(shù)據(jù)以文件的形式輸出。但是,現(xiàn)有的服務(wù)器上并不會(huì)裝配聲卡,因此,在收到轉(zhuǎn)碼請(qǐng)求吋,會(huì)提示缺少默認(rèn)聲音輸出設(shè)備Default DirectSound Device,因而無(wú)法與Audio Decoder連接進(jìn)行解碼任務(wù),若再裝配聲卡,可能造成系統(tǒng)的不穩(wěn)定。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法,極大地節(jié)省了制作的成本。本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的—種實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法,包括以下步驟服務(wù)器接收音頻數(shù)據(jù)流,所述服務(wù)器在本地查找是否有聲卡;若無(wú)聲卡,則在本地查找音頻轉(zhuǎn)存濾波器Audio Dump Filter ;若查到所述Audio Dump Filter,則將所述音頻數(shù)據(jù)流轉(zhuǎn)發(fā)至所述Audio DumpFilter ;所述Audio Dump Filter接收到所述音頻數(shù)據(jù)流后觸發(fā)轉(zhuǎn)碼命令;根據(jù)所述轉(zhuǎn)碼命令查找音頻解碼濾波器Audio Decoder Filter,并將所述接收到的所述音頻數(shù)據(jù)流發(fā)送至所述Audio Decoder Filter ;所述Audio Decoder Filter對(duì)所述音頻數(shù)據(jù)流進(jìn)行音頻轉(zhuǎn)換。根據(jù)本發(fā)明實(shí)施例的技術(shù)方案,本發(fā)明的實(shí)施方式,在無(wú)聲卡服務(wù)器上通過(guò)調(diào)用Audio Dump Filter與Audio Decoder Filter連接實(shí)現(xiàn)了音頻的轉(zhuǎn)碼,節(jié)省了成本,排除了安裝聲卡導(dǎo)致系統(tǒng)不穩(wěn)定的隱患。
為了更清楚的說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見(jiàn)的,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實(shí)施例一所提供的一種實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法的流程圖;圖2為本發(fā)明實(shí)施例二所提供的一種實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法的流程圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然所描述的實(shí)施例僅是本發(fā)明的一部分實(shí)施例,不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一圖I為本發(fā)明實(shí)施例所提供的一種實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法的流程圖。如圖I所示,該方法包括以下步驟本實(shí)施例所列舉的轉(zhuǎn)碼方法是基于Directshow,當(dāng)然并不限于此,與Directshow類(lèi)似的框架都能實(shí)現(xiàn)本發(fā)明。步驟101、服務(wù)器接收音頻數(shù)據(jù)流,所述服務(wù)器在本地查找是否有聲卡。步驟102、若無(wú)聲卡,則在本地查找音頻轉(zhuǎn)存濾波器Audio Dump Filter。步驟103、若查到所述Audio Dump Filter,則將所述音頻數(shù)據(jù)流轉(zhuǎn)發(fā)至所述AudioDump Filter。在服務(wù)器查找到音頻轉(zhuǎn)存濾波器Audio Dump Filter之后,通過(guò)AddFilter函數(shù)將 Audio Dump Filter 添加到 GraphBuilder 框架下。步驟104、所述Audio Dump Filter接收到所述音頻數(shù)據(jù)流后觸發(fā)轉(zhuǎn)碼命令。步驟105、根據(jù)所述轉(zhuǎn)碼命令查找音頻解碼濾波器Audio Decoder Filter,并將所述接收到的所述音頻數(shù)據(jù)流發(fā)送至所述Audio Decoder Filter。在無(wú)聲卡服務(wù)器中,音頻數(shù)據(jù)流無(wú)法通過(guò)音頻解碼濾波器Audio Decoder Filter實(shí)現(xiàn)轉(zhuǎn)碼任務(wù),因而,需要通過(guò)Audio Dump Filter查找系統(tǒng)內(nèi)的Audio Decoder Filter并與其進(jìn)行連接,再將音頻數(shù)據(jù)流發(fā)送至Audio Decoder Filter。所述服務(wù)器的系統(tǒng)包括Windowsserver 2008 R2 (64bit)與 Windows server2003(32bit)。步驟106、所述Audio Decoder Filter對(duì)所述音頻數(shù)據(jù)流進(jìn)行音頻轉(zhuǎn)換。本發(fā)明實(shí)施例實(shí)現(xiàn)了在無(wú)聲卡服務(wù)器中進(jìn)行轉(zhuǎn)碼的方法,節(jié)省了成本,排除了安裝聲卡導(dǎo)致系統(tǒng)不穩(wěn)定的隱患。實(shí)施例二圖2為本發(fā)明實(shí)施例所提供的一種實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法的流程圖。如圖2所示,該方法包括以下步驟本實(shí)施例所列舉的轉(zhuǎn)碼方法是基于Directshow,當(dāng)然并不限于此,與Directshow類(lèi)似的框架都能實(shí)現(xiàn)本發(fā)明。
步驟201、服務(wù)器接收音頻數(shù)據(jù)流,所述服務(wù)器在本地查找是否有聲卡。步驟202、若無(wú)聲卡,則在本地查找音頻轉(zhuǎn)存濾波器Audio Dump Filter。步驟203、若查到所述Audio Dump Filter,則將所述音頻數(shù)據(jù)流轉(zhuǎn)發(fā)至所述AudioDump Filter。在服務(wù)器查找到音頻轉(zhuǎn)存濾波器Audio Dump Filter之后,通過(guò)AddFilter函數(shù)將 Audio Dump Filter 添加到 GraphBuilder 框架下。步驟204、所述Audio Dump Filter接收到所述音頻數(shù)據(jù)流后觸發(fā)轉(zhuǎn)碼命令。步驟205、根據(jù)所述轉(zhuǎn)碼命令在系統(tǒng)內(nèi)查找音頻解碼濾波器Audio DecoderFilter,并將所述接收到的所述音頻數(shù)據(jù)流發(fā)送至所述Audio Decoder Filter。
在無(wú)聲卡服務(wù)器中,音頻數(shù)據(jù)流無(wú)法通過(guò)音頻解碼濾波器Audio Decoder Filter實(shí)現(xiàn)轉(zhuǎn)碼任務(wù),因而,需要通過(guò)Audio Dump Filter查找系統(tǒng)內(nèi)的Audio Decoder Filter并與其進(jìn)行連接,再將音頻數(shù)據(jù)流發(fā)送至Audio Decoder Filter。所述服務(wù)器的系統(tǒng)主要包括Windowsserver 2008 R2 (64b it)與 Windowsserver 2003(32bit)。步驟206、音頻值染濾波器 Audio Render Filter 替換所述 Audio Dump Filter ;所述Audio Render Filter用于將音頻數(shù)據(jù)流渲染成音頻文件。步驟207、所述Audio Decoder Filter對(duì)所述音頻數(shù)據(jù)流進(jìn)行音頻轉(zhuǎn)換。步驟208、所述Audio Render Filter輸出轉(zhuǎn)碼后的音頻文件。本發(fā)明實(shí)施例實(shí)現(xiàn)了在無(wú)聲卡服務(wù)器中進(jìn)行轉(zhuǎn)碼的方法,節(jié)省了成本,排除了安裝聲卡導(dǎo)致系統(tǒng)不穩(wěn)定的隱患通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過(guò)硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是⑶-ROM,U盤(pán),移動(dòng)硬盤(pán)等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法??傊?,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法,其特征在于,包括以下步驟 服務(wù)器接收音頻數(shù)據(jù)流,所述服務(wù)器在本地查找是否有聲卡; 若無(wú)聲卡,則在本地查找音頻轉(zhuǎn)存濾波器Audio Dump Filter ; 若查到所述Audio Dump Filter,則將所述音頻數(shù)據(jù)流轉(zhuǎn)發(fā)至所述Audio DumpFilter ; 所述Audio Dump Filter接收到所述音頻數(shù)據(jù)流后觸發(fā)轉(zhuǎn)碼命令; 根據(jù)所述轉(zhuǎn)碼命令查找音頻解碼濾波器Audio Decoder Filter,并將所述接收到的所述音頻數(shù)據(jù)流發(fā)送至所述Audio Decoder Filter ; 所述Audio Decoder Filter對(duì)所述音頻數(shù)據(jù)流進(jìn)行音頻轉(zhuǎn)換。
2.如權(quán)利要求I所述實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法,其特征在于,所述服務(wù)器查到所述AudioDump Filter之后包括服務(wù)器加載所述Audio Dump Filter。
3.如權(quán)利要求2所述實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法,其特征在于,所述AudioDump Filter通過(guò)AddFilter函數(shù)加載至服務(wù)器。
4.如權(quán)利要求I所述實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法,其特征在于,所述AudioDump Filter用于查找音頻處理與轉(zhuǎn)換的濾波器Filter。
5.如權(quán)利要求I所述實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法,其特征在于,所述AudioDecoder Filter對(duì)所述音頻數(shù)據(jù)流進(jìn)行音頻轉(zhuǎn)換之前還包括音頻渲染濾波器Audio Render Filter替換所述 Audio Dump Filter。
6.如權(quán)利要求I所述實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法,其特征在于,所述AudioDecoder Filter對(duì)所述音頻數(shù)據(jù)流進(jìn)行音頻轉(zhuǎn)換之后還包括所述Audio Render Filter輸出轉(zhuǎn)碼后的音頻文件。
全文摘要
本發(fā)明公開(kāi)了一種實(shí)現(xiàn)音頻轉(zhuǎn)碼的方法,包括以下步驟服務(wù)器接收音頻數(shù)據(jù)流,所述服務(wù)器在本地查找是否有聲卡;若無(wú)聲卡,則在本地查找音頻轉(zhuǎn)存濾波器Audio Dump Filter;若查到所述Audio Dump Filter,則將所述音頻數(shù)據(jù)流轉(zhuǎn)發(fā)至所述Audio Dump Filter;所述Audio Dump Filter接收到所述音頻數(shù)據(jù)流后觸發(fā)轉(zhuǎn)碼命令;根據(jù)所述轉(zhuǎn)碼命令查找音頻解碼濾波器Audio Decoder Filter,并將所述接收到的所述音頻數(shù)據(jù)流發(fā)送至所述Audio Decoder Filter;所述Audio Decoder Filter對(duì)所述音頻數(shù)據(jù)流進(jìn)行音頻轉(zhuǎn)換。通過(guò)采用本發(fā)明提供的音頻轉(zhuǎn)碼方法,可以在無(wú)聲卡服務(wù)器上實(shí)現(xiàn)音頻轉(zhuǎn)碼,節(jié)省了成本,排除了安裝聲卡導(dǎo)致系統(tǒng)不穩(wěn)定的隱患。
文檔編號(hào)H04N21/233GK102769777SQ20121006565
公開(kāi)日2012年11月7日 申請(qǐng)日期2012年3月13日 優(yōu)先權(quán)日2012年3月13日
發(fā)明者夏永宏, 鄭曉東 申請(qǐng)人:新奧特(北京)視頻技術(shù)有限公司