使用ffmpeg处理音频数据包解码 [英] Process audio packets decoded with ffmpeg

查看:565
本文介绍了使用ffmpeg处理音频数据包解码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

按照我的其他发布,我想知道是否可以在解码的音频数据包上进行一些像MFCC提取的过程。代码我使用ffmpeg从mpeg-2文件解码音频和视频。视频进程是使用opencv进行的,因为这个库允许通过一帧抓取帧。我需要在同一时间处理相应的音频样本。

Following my other post, I am wondernig if it is possible to do some process like MFCC extraction on the decoded audio packets. The code I use decode audio and video from mpeg-2 file using ffmpeg. Process on video is done using opencv as this library permits to grab frames on by one. I need to process the corresponding audio samples in the same time.

谢谢。

推荐答案

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

I've created a C++ audio engine named "Crosstalk".

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

Although it's referred to as an "audio engine", It's really just a real-time C++ data (floating point) processing engine. Crosstalk allows you to create and route systems in design-time and real-time. Basically, the engine takes care of all the data routing and gives you a simple platform for creating components through which the data gets processed (E.g. your "Audio Feed" component connected in parallel with the "Video Feed" component). As long as your branches are of equal total buffer length, they will be perfectly synchronized.

这很容易使用。以下是如何配置系统播放mp3文件的示例(此处使用的组件随引擎提供):

It's very easy to use. Here's an example of how to configure a system to play an mp3 file (The components used here are provided with the engine):

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

You can check out the API documentation and licensing details here: http://www.adaptaudio.com/Crosstalk

EDIT(01 -12-2012):

串扰被一个名为 DSPatch 。 DSPatch本质上是Crosstalk背后的路由引擎的升级版本,不再仅限于音频处理。 DSPatch允许您创建和路由几乎可以想象的任何类型的流程链,并且可以免费使用个人和专有用途:)

Crosstalk has been replaced by an open-source project called "DSPatch". DSPatch is essentially an upgraded version of the routing engine behind Crosstalk that is no longer limited to only audio processing. DSPatch allows you to create and route almost any type of process chain imaginable, and free for personal AND proprietary use :)

这篇关于使用ffmpeg处理音频数据包解码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆