使用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