将 RAW AAC 打包到 m4a 容器中?

Posted

技术标签:

【中文标题】将 RAW AAC 打包到 m4a 容器中?【英文标题】:Packing RAW AAC into m4a container? 【发布时间】:2012-01-14 22:32:17 【问题描述】:

我有一个使用 FAAC 将原始 PCM 转换为原始 AAC 的 android 应用,但现在我不知道如何将它打包到 m4a 容器中。

我在网上搜索并找到了很多信息,但没有一个能解决我的问题。他们中的大多数是指 ffmpeg / mp4box 命令行,但我需要在 Android 环境中解决这个问题,这意味着 Java Eclipse 或 JNI。

有什么提示吗?

【问题讨论】:

你有什么解决办法吗?请不要犹豫分享它.. 5 年后,同样的问题。那时候能解决吗? @muetzenflo 嘿,你解决了你的问题想帮助你。 @TheCuriousDev 感谢您的链接,将看看它! 【参考方案1】:

这个AACEncoder Project on Github 似乎很棒! 它对我有用。

它实际上能够将原始 PCM 波形文件编码为 AAC 原始文件,然后将原始 AAC 文件重新打包到 MP4(M​​4A) 容器中

因此,如果您只是想将原始 AAC 转换为 M4A,this class 将是一个好的开始,并且不要忘记添加其依赖项。

但对于想要不使用 FFMPEG 和 NDK 的人来说,这绝对是一个不错的选择。

【讨论】:

【参考方案2】:

注意:糟糕,真的很抱歉,没有看到您需要仅适用于 Android 环境的解决方案。但是我保留我的答案,因为它可能对其他人有帮助。

我遇到了同样的问题,不是与 android 相关,而是相同的 Raw AAC 问题,我在这个论坛上找到了答案。现在我的 Rockboxed 便携式播放器可以读取从 FLV YouTube 视频中提取的 AAC 音轨。 但是我不知道如何批量转换。我不是很懂命令行。

在 ffmpeg 中: ffmpeg -i input.aac -codec: 复制 output.m4a

在 MP4Box 中: MP4Box -add input.aac#audio output.m4a

PS:您可能必须重命名文件,即。 MJBeatiT.aac 而不是 Michael Jackson - Beat It (remix2013).aac

【讨论】:

以上是关于将 RAW AAC 打包到 m4a 容器中?的主要内容,如果未能解决你的问题,请参考以下文章

M4A 和 AAC 音频文件有啥区别?

如何使用 Android MediaCodec 生成 AAC ADTS 基本流

MP4V2封装的类库,可将H264和AAC直接打包到MP4容器中,堪称经典

使用 Android 流式传输 AAC 音频

AVAudioRecorder 录制 AAC/m4a

Gstreamer:使用 AAC 编码将麦克风音频编码为 mp4