如何使用命令行将 .m4a 音频文件转换为 .mp3?

fxg*_*een 7 codecs ffmpeg mp3 m4a audio-recording

如何将 .m4a 音频文件转换为 .mp3 命令行?(如果可能,质量不会下降)。Ubuntu 16.04LTS 媒体信息:

General
Complete name                            : show.m4a
Format                                   : MPEG-4
Format profile                           : Apple audio with iTunes info
Codec ID                                 : M4A  (M4A /mp42/isom)
File size                                : 55.5 MiB
Duration                                 : 1h 48mn
Overall bit rate mode                    : Variable
Overall bit rate                         : 71.7 Kbps

Audio
ID                                       : 1
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : HE-AAC / LC
Codec ID                                 : 40
Duration                                 : 1h 48mn
Bit rate mode                            : Variable
Bit rate                                 : 72.0 Kbps
Maximum bit rate                         : 93.8 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 44.1 KHz / 22.05 KHz
Frame rate                               : 21.533 fps (1024 spf)
Compression mode                         : Lossy
Stream size                              : 54.9 MiB (99%)
Writing library                          : Nero AAC codec 1.5.4.0
Encoding settings                        : -q 0.25
Run Code Online (Sandbox Code Playgroud)

小智 6

尝试一下:

sudo apt-get install ffmpeg
Run Code Online (Sandbox Code Playgroud)

这将安装该ffmpeg软件包。

我们可以通过键入以下内容来查看可接受的格式:

ffmpeg -formats 
Run Code Online (Sandbox Code Playgroud)

或者

 ffmpeg -codecs
Run Code Online (Sandbox Code Playgroud)

使用命令导航到音频文件所在的目录cd。如果您需要帮助查找目录,请使用该ls命令。

$ ls
backup.log         Desktop    examples.desktop  Music     snap
branches-tutorial  Documents  flick             Pictures  Templates
SumDocument        Downloads  mozilla.pdf       Public    Videos
Run Code Online (Sandbox Code Playgroud)

假设我的文件位于该Desktop文件夹中。然后我会输入:

cd Desktop
Run Code Online (Sandbox Code Playgroud)

现在我将位于正确的目录中。接下来,现在我们输入:

ffmpeg -i show.m4a newFileName.mp3
Run Code Online (Sandbox Code Playgroud)

要使用指定的比特率进行转换(在您的情况下,它看起来像 71.1Kbps,最大值为 93.8Kbps - 不幸的是,我不确定如果尝试使用最大比特率与总体比特率会发生什么),我们运行:

ffmpeg -i show.m4a -b:a 71100 newFileName.mp3
Run Code Online (Sandbox Code Playgroud)

我从https://www.howtoforge.com/tutorial/ffmpeg-audio-conversion/中提取了此信息

请注意,转换为无损编解码器 (mp3) 不可避免地会导致(不一定是可听见的)质量损失。


and*_*.46 6

我注意到您的输入文件实际上是一个可变比特率 (VBR) AAC 文件,比特率为 71.7 Kbps,最大比特率为 93.8 Kbps。因此,您实际上有两个合理的选择:编码为可变比特率 MP3 文件,或者只是为恒定比特率 (CBR) MP3 编码决定合适的比特率。而 FFmpeg 无疑是这两者的最佳工具!

1. 可变比特率 (VBR) 编码

如果仅因为原始 AAC 文件也是 VBR 文件的原因,这将是我自己的选择。编码为 70-105 Kbps 可变比特率的 MP3 可以映射到 FFmpeg,-q:a 8选项如下:

ffmpeg -i show.m4a -c:a libmp3lame -q:a 8 output.mp3
Run Code Online (Sandbox Code Playgroud)

我怀疑这是您输入文件的最佳选择。

2. 恒定比特率 (CBR) 编码

恒定比特率 (CBR) 编码有点过度使用恕我直言,但如果这最适合您的播放设备,那么它是一个有效的选择。由于您的输入文件的总体比特率为 71.7 Kbps,最大比特率为 93.8 Kbps,我们或许可以稍微捏造数字并使用以下内容:

ffmpeg -i show.m4a -c:a libmp3lame -b:a 96k output.mp3
Run Code Online (Sandbox Code Playgroud)

一些实验可能是为了从以下 LAME“允许”标准中选择比特率的好选择:64k、80k、96k、112k。任何在您的播放硬件上听起来最好的...

参考: