首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mpeg-2容器(FFMPEG)将mp3转换为AAC

使用mpeg-2容器(FFMPEG)将mp3转换为AAC
EN

Stack Overflow用户
提问于 2014-02-13 06:19:25
回答 3查看 3.1K关注 0票数 0

我正在尝试使用FFMPEG将mp3音频文件转换为AAC文件,我需要将音频封装在MPEG-2容器中。生成的AAC文件需要是AAC-LC (低复杂度)、1通道、CBR模式、44100采样率和48kb/s比特率,所以我使用以下命令:

代码语言:javascript
复制
ffmpeg -y -i input.mp3 -ar 44100 -ab 48k -acodec libfdk_aac -ac 1 output.aac

但是当我检查ADTS头文件时,音频文件总是包装在MPEG-4容器中。我已经尝试了这里列出的所有编解码器,但最终还是使用了一个mpeg-4容器来包装音频:http://trac.ffmpeg.org/wiki/AACEncodingGuide

下面是我在检查AAC输出文件时得到的头文件:

mpeg_type:'MPEG4',配置文件: 2,profile_name:'AAC LC',sample_freq: 44100,channel_config: 1,通道: 1,frame_length: 139,buffer_fullness: 157,number_of_frames: 1,frames_per_sec: 43.06640625

为什么ffmpeg会在音频周围包装一个mp4容器,你有什么想法吗?我能以某种方式绕过这个问题吗?除了FFMPEG之外,我还可以尝试其他的编码器吗?我给了FAAC编码器一个镜头,它给了我正确的编码和ADTS头,但可惜它不支持mp3,只支持WAV。

EN

回答 3

Stack Overflow用户

发布于 2014-02-13 07:12:27

你的术语有点混乱。首先,mp4和mpeg4不是一回事。mpeg4是一个包罗万象的术语,用来描述各种编解码器和容器。mp4容器也称为mpeg4第14部分。aac容器格式只是带有ADTS头的原始aac帧的集合,它在mpeg4第3部分中进行了描述。因此,.aac是mpeg4格式,而不是mp4文件。

http://en.wikipedia.org/wiki/MPEG-4

现在就想要一个mpeg2容器,它是一个mpeg2传输流,程序流?

票数 2
EN

Stack Overflow用户

发布于 2016-03-18 22:11:48

要让ffmpeg & libfdk_aac将标志设置为mpeg2而不是mpeg4,请使用mpeg2配置文件:

代码语言:javascript
复制
ffmpeg -y -i input.mp3 -ar 44100 -ab 48k -acodec libfdk_aac -aprofile mpeg2_aac_low -ac 1 output.aac
票数 1
EN

Stack Overflow用户

发布于 2014-02-14 02:58:26

通过以下建议,我能够成功地更改MPEG容器:

FFmpeg's AAC ("libfaac") Codec Options?

我需要进入FFmpeg的源代码,并在libfaac.c中将硬编码的MPEG版本更改为MPEG2,第115行(比另一篇文章中提到的要高出几行)。然后我重新编译了FFmpeg,确保包含--enable-libfaac。

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

https://stackoverflow.com/questions/21741058

复制
相关文章

相似问题

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