如何提取 MP4(视频文件)的音频部分?

4
我正在开发一个Windows Phone 7应用程序,它可以录制视频。我想提取MP4格式的视频文件的声音部分,并对其进行一些增强处理。我相信声音以AAC帧的形式保存在MP4文件中(是这样吗?)。如何从视频MP4文件中提取声音?由于这是一个视频文件,它可能会非常大。因此,上传到云端进行处理并不是一个好选择。由于这是WP7应用程序,因此我不能使用非托管的DLL库:(有没有办法只使用C#来实现呢?是否有任何开源工具/示例可用?谢谢!
1个回答

5

MP4是一种容器格式,实际上声音部分并不总是AAC。它可能是MP3或其他多种不同的音频格式。您可能在考虑M4A,我相信它要求AAC或ALAC。

关于音频提取,只使用托管代码就可以从MP4中提取音频。您需要阅读有关MP4格式的相关信息(例如这里,还有这个问题值得一读),然后搜索文件以找到音频的位置,然后将其复制到自己的缓冲区或分块进行处理。即使如此,您也必须能够识别出不支持您应用程序的音频格式。

可能已经存在可以完成所有这些操作的.NET库,但我不知道有哪些。由于托管代码绝对不是最好的方法,因此它可能不太受欢迎,但考虑到这是Windows Phone,正如您所指出的,这是您唯一的途径。

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接