当前位置: 首页 > 知识库问答 >
问题:

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

严恩
2023-03-14

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

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_类型:'MPEG4',配置文件:2,配置文件名称:'AAC LC',采样频率:44100,通道配置:1,通道:1,帧长度:139,缓冲区完整性:157,帧数:1,每秒帧数:43.06640625

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

共有3个答案

酆勇
2023-03-14

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

FFmpeg的AAC(libfaac)编解码器选项?

我需要深入研究FFmpeg的源代码,并在libfaac中更改硬编码的MPEG版本。c到MPEG2,第115行(与另一篇文章中提到的内容相距几行)。然后我重新编译了FFmpeg,确保包含--enable libfaac。

万阳嘉
2023-03-14

去拿ffmpeg

ffmpeg -y -i input.mp3 -ar 44100 -ab 48k -acodec libfdk_aac -aprofile mpeg2_aac_low -ac 1 output.aac
梁丘宏硕
2023-03-14

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

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

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

 类似资料:
  • 本文向大家介绍asp.net音频转换之.amr转.mp3(利用ffmpeg转换法),包括了asp.net音频转换之.amr转.mp3(利用ffmpeg转换法)的使用技巧和注意事项,需要的朋友参考一下 前言 上篇文章已经跟大家分享了asp.net利用七牛转换法将.amr转.mp3的方法,当时也说了还有另外一种方法是利用ffmpeg转换法,下面这篇文章就给大家详细介绍这种方法。这种方法相对第一种来说,

  • 我有HLS的直播[https://82-80-192-30.vidnt.com/ipbc_IPBCchannel11LVMRepeat/definst/IPBCchannel11LVM_3.stream/playlist.m3u8]我想把它转换成MPEG-DASH。 最佳实践是什么? 流已经是h264 aac,因此我知道我不需要重新编码,我只需要转换。 我应该用什么?ffmpeg?mp4box?

  • 问题内容: 我将mp3转换为wav的代码是: 但是我得到以下输出: 谁能帮我我在做什么错? 问题答案: 这里的sourceBytes表示MP3文件或WAV文件。audioFormat是您要转换的PCM格式。另外,我们需要将javazoom.com中的mp3spi.jar,tritonus_mp3.jar,jl * .jar,tritonus_share.jar放入类路径中。希望这对其他人有帮助。

  • 1. Gradle 2.代码 3、Logcat: 采用gcc 4.9构建。x(GCC)20150123(预发布)配置:---目标操作系统=linux--交叉前缀=/root/bravobit/ffmpeg-android/toolschain-android/bin/arm-linux-androideabi---arch=arm--cpu=cortex-a8--启用运行时cpudetec--sy

  • 问题内容: 我正在使用SimpleLameLibForAndroid将使用android中的AudioRecord类创建的pcm文件转换为mp3。我读取了pcm文件并将其编码为mp3,然后将其写入文件中。结果为mp3文件,但不正确,上面有很多噪音,很难理解它是录制的pcm文件。这些是录制的音频规范(pcm文件): 这是我的代码,它使用liblame编码mp3并将其写入文件: 我该如何解决此代码,b

  • 将(从webm、rtmp等任何格式)编码为通用hls或dash格式的“好”方法是什么??? 我看到大量关于HLS和MPEG-DASH的讨论,视频标签看起来像这样 但FFMPEG中的好命令是什么? 当我这么做的时候 它只能在chrome中播放:( 但我需要它能在safari、firefox、opera等平台上播放 我最近看过关于MP4box的讨论,能将任何源代码转换成通用可播放流的最佳线路是什么?