首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >合并两个.m4a文件或将.wav文件转换为m4a

合并两个.m4a文件或将.wav文件转换为m4a
EN

Stack Overflow用户
提问于 2011-11-07 17:45:15
回答 2查看 3.9K关注 0票数 4

我一直在寻找一种可以暂停和恢复的mpeg-4录制方式,但似乎没有这样的方式。所以我决定用原始的wave格式录制并转换成.m4a格式。有没有办法可以在安卓系统中将.wav文件转换为.m4a。我到处寻找安卓的mencoder端口,但没有找到,有一些关于在linux上将ffmpeg移植到安卓的帖子,但我不太清楚如何在安卓中使用它来合并两个.m4a文件或将.wav文件转换为.m4a

EN

回答 2

Stack Overflow用户

发布于 2011-11-08 22:06:15

“合并”音频文件有两种可能的意思,以及使用ffmpeg的两种不同方式:

将两个独立的音轨放入同一个文件中

就像在DVD上,有一个普通的音轨,和另一个音轨,如评论或配音语言。要对ffmpeg -i in-1.m4a -acodec copy out.m4a -i in-2.m4a -acodec copy -newaudio和两个m4a文件执行此操作,请使用命令ffmpeg。选项的顺序很重要,所以不要弄乱它。

连接两个音频文件

使第二个文件在第一个文件之后立即播放。最简单的方法是使用为音频操作而设计的程序,如SoX。看起来有a recent but unstable Android port of SoX

如果您希望严格在ffmpeg中进行连接,则可以执行以下操作:

  1. ffmpeg -i in-1.m4a -f s16le in-1.raw

这会将音频文件输出到原始PCM。您需要注意采样率和通道数,因为此信息不会存储在原始PCM文件中,您稍后将需要它。ffmpeg将在重新编码时向您显示音频流信息。它看起来像Audio: aac, 44100 Hz, stereo, s16, 63 kb/s,这意味着您的采样率为44100,通道数为2 (立体声)。大多数情况下,您将处理22050、44100或48000的采样率;以及1(“单声道”)、2(“立体声”)或6 ("5.1")声道。

  1. ffmpeg -i in-2.m4a -f s16le in-1.raw

现在将第二个文件解码为原始PCM。

  1. ffmpeg -f s16le -ar 44100 -ac 2 -i 'concat:in-1.raw|in-2.raw' -acodec libfaac out.m4a

同样,选项的顺序非常重要。根据您的输入更改相应的采样率(-ar)和通道(-ac)选项。

票数 4
EN

Stack Overflow用户

发布于 2011-11-08 11:54:12

假设您使用相关的格式和编解码器构建m4a,那么将ffmpeg转换为ffmpeg非常简单:

代码语言:javascript
运行
复制
ffmpeg -i in.wav out.m4a

如果你在做音频工作,你可能会更幸运地使用SoX

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8034837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档