繼我的其他post之後,我對wondernig是否有可能在解碼音頻數據包上執行一些類似MFCC提取的過程進行了說明。我使用ffmpeg從mpeg-2文件中解碼音頻和視頻的代碼。視頻處理是使用opencv完成的,因爲該庫允許通過一個幀來抓取幀。我需要在同一時間處理相應的音頻樣本。使用ffmpeg解碼的過程音頻數據包
謝謝。
繼我的其他post之後,我對wondernig是否有可能在解碼音頻數據包上執行一些類似MFCC提取的過程進行了說明。我使用ffmpeg從mpeg-2文件中解碼音頻和視頻的代碼。視頻處理是使用opencv完成的,因爲該庫允許通過一個幀來抓取幀。我需要在同一時間處理相應的音頻樣本。使用ffmpeg解碼的過程音頻數據包
謝謝。
我創建了一個名爲「Crosstalk」的C++音頻引擎。
雖然它被稱爲「音頻引擎」,但它實際上只是一個實時C++數據(浮點)處理引擎。串擾允許您在設計時和實時創建和路由系統。基本上,引擎會處理所有的數據路由,併爲您提供一個創建組件的簡單平臺,通過這些組件可以處理數據(例如,您的「音頻饋送」組件與「視頻饋送」組件並行連接)。只要您的分支具有相同的緩衝區總長度,它們將完全同步。
這非常容易使用。下面是如何在系統中配置播放MP3文件的例子(這裏所用的部件提供發動機):
XtSystem system;
XtMp3Decoder mp3Decoder;
XtAudioDevice audioDevice;
long md = system.addComponent(&mp3Decoder);
long ad = system.addComponent(&audioDevice);
system.connOutToIn(md,0,ad,0);
system.connOutToIn(md,1,ad,1);
mp3Decoder.loadFile("../05 Tchaikovski-Swan Lake-Scene.mp3");
mp3Decoder.play();
你可以看看這裏的API文檔和許可的詳細信息:http://www.adaptaudio.com/Crosstalk
編輯(01-12-2012):
串擾已被替換爲一個名爲「DSPatch」的開源項目。 DSPatch實質上是Crosstalk背後的路由引擎的升級版,不再僅限於音頻處理。 DSPatch允許您創建和路由幾乎任何類型的可以想象的流程鏈,並免費供個人使用和專有使用:)
感謝您的鏈接。我已經使用mencoder(更穩定,然後ffmpeg)解碼流,但我會專注於您的lib。 – Eric 2012-04-09 11:59:39
我應該添加更多細節嗎? – Eric 2012-02-27 10:25:36