解码MP3文件然后在Android上编码为AAC的最快方法是什么?

时间:2016-02-10 17:34:47

标签: android mp3 decoding mediacodec mediaextractor

我有一个使用MediaCodec和MediaExtractor的工作解决方案,但是6mb MP3的解码需要15秒+ 15秒的编码到AAC。总数> 30秒我需要一些非常快的东西< 10秒。有人知道更快的解决方案吗?

修改

我的瓶颈来自Mediacodec本身。他们提供的bytebuffer太小了。将MediaFormat设置为AAC时,InputBytebuffers一次只有4096个字节对我来说太慢了。它适用于流媒体,但不适用于文件到文件。

我切换到C lib解码器,在3秒内解码,而不是15秒。但编码器仍然需要15秒。任何人都有一个C lib AAC编码器,也可以添加ADTS标头?

1 个答案:

答案 0 :(得分:1)

听起来您首先解码整个文件,然后对其进行编码。如果你同时执行这些操作可能会更快,即当你有足够的输出数据来自解码器为编码器提供一个完整的输入帧时,将其传入。这可以帮助一些并行性,但我怀疑它足以帮助您获得所需的加速。