gpt4 book ai didi

c++ - 处理使用ffmpeg解码的音频包

转载 作者:太空宇宙 更新时间:2023-11-03 22:34:57 36 4
gpt4 key购买 nike

关注我的其他 post ,我想知道是否可以对解码的音频数据包进行一些处理,如 MFCC 提取。我使用的代码使用 ffmpeg 从 mpeg-2 文件解码音频和视频。视频处理是使用 opencv 完成的,因为这个库允许逐帧抓取。我需要同时处理相应的音频样本。

谢谢。

最佳答案

我创建了一个名为“Crosstalk”的 C++ 音频引擎。

虽然它被称为“音频引擎”,但它实际上只是一个实时 C++ 数据(浮点)处理引擎。 Crosstalk 允许您在设计时和实时创建和路由系统。基本上,引擎负责所有数据路由,并为您提供一个简单的平台来创建处理数据的组件(例如,您的“音频馈送”组件与“视频馈送”组件并行连接)。只要您的分支的总缓冲区长度相等,它们就会完美同步。

它非常易于使用。以下是如何配置系统以播放 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

编辑(2012 年 1 月 12 日):

串扰已被名为“DSPatch”的开源项目所取代。 DSPatch 本质上是 Crosstalk 背后路由引擎的升级版,不再仅限于音频处理。 DSPatch 允许您创建和路由几乎任何类型的流程链,并且免费供个人和专有使用:)

关于c++ - 处理使用ffmpeg解码的音频包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9444208/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com