2012-02-25 21 views
1

私の他のpostに続いて、デコードされたオーディオパケットにMFCC抽出などの処理を実行できるかどうかは疑問です。私が使用するコードは、ffmpegを使ってMPEG-2ファイルからオーディオとビデオをデコードします。このライブラリは1つずつフレームを取り込むことができるので、ビデオの処理はopencvを使って行われます。私は同じ時間に対応するオーディオサンプルを処理する必要があります。ffmpegでデコードされたオーディオパケットを処理する

ありがとうございました。

+0

詳細を追加する必要がありますか? – Eric

答えて

1

"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

EDIT(01-12-2012):

クロストークは、 "DSPatch"というオープンソースプロジェクトに置き換えられました。 DSPatchは本来、音声処理だけに限定されないクロストークの背後にあるルーティングエンジンのアップグレードバージョンです。 DSPatchを使用すると、ほぼすべてのタイプのプロセスチェーンを想像できるように作成してルーティングすることができます。また、個人用および独自仕様の使用のために無料で使用できます。

+0

リンクありがとうございます。私はすでにストリームを解読するためにmencoder(より安定してffmpeg)を使用しますが、あなたのlibに焦点を当てます。 – Eric

関連する問題