FFMPEG 能够将 m4a 转换为 mp3,但无法将 mp3 转换为 mp3?

FFMPEG 能够将 m4a 转换为 mp3,但无法将 mp3 转换为 mp3?

仅供参考:Fedora 8 在 Amazon EC2 上运行......

使用 FFmpeg 进行转换(应该很简单)时遇到了困难。我可以使用以下命令让 FFmpeg 从 m4a 文件编码为 mp3 文件:

ffmpeg -i /file1.m4a -acodec libmp3lame -ab 160k /file2.mp3

但是,我无法让它将 mp3 转换为 mp3,它使用以下内容响应“未知格式”:

   ffmpeg -i /file1.mp3 -acodec libmp3lame -ab 160k /file2.mp3

我得到以下命令字符串:

FFmpeg version UNKNOWN, Copyright (c) 2000-2008 Fabrice Bellard, et al.


configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --incdir=/usr/include/ffmpeg --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libfaad --enable-libfaac --enable-libgsm --enable-libxvid --enable-libx264 --enable-liba52 --enable-liba52bin --enable-pp --enable-shared --enable-pthreads --enable-gpl --disable-strip
  libavutil version: 49.6.0
  libavcodec version: 51.50.1
  libavformat version: 52.7.0
  libavdevice version: 52.0.0
  built on Feb 14 2008 17:47:08, gcc: 4.1.2 20070925 (Red Hat 4.1.2-33)
/file1.mp3: Unknown format

编辑以便清晰:输入文件位于 /ebs/queue/input.mp3 中,输出位于 /ebs/converted/output.mp3

答案1

使用以下命令检查已安装的编解码器

ffmpeg -codecs | grep mp3

问题很可能是libmp3lame只允许编码,并且对于解码,您需要另一种选择。

E例如,这是我的系统上的输出。编码D为了解码能力。

  EA    libmp3lame      libmp3lame MP3 (MPEG audio layer 3)
 D A    mp3             MP3 (MPEG audio layer 3)
 D A    mp3adu          ADU (Application Data Unit) MP3 (MPEG audio layer 3)
 D A    mp3adufloat     ADU (Application Data Unit) MP3 (MPEG audio layer 3)
 D A    mp3float        MP3 (MPEG audio layer 3)
 D A    mp3on4          MP3onMP4
 D A    mp3on4float     MP3onMP4

我认为这是 FFmpeg 的基本功能,因此您可能需要从源代码重新编译。

相关内容