无法使用ffmpeg将.mp3转换为.m4a

无法使用ffmpeg将.mp3转换为.m4a,ffmpeg,mp3,aac,m4a,libfaac,Ffmpeg,Mp3,Aac,M4a,Libfaac,我完全了解使用libfaac的法律限制,但这只是出于测试目的 我编译了ffmpeg,启用了faac。因此,当我尝试将.mp3转换为.m4a时,我得到了一个错误。请提供此问题的解决方案。我在两个不同的.mp3源上试过了,但是我还是得到了相同的错误 [user@ip-10-161-13-26 ~]$ ffmpeg -i Kalimba.mp3 -c:a libfaac Kalimba.m4a ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFm

我完全了解使用
libfaac
的法律限制,但这只是出于测试目的

我编译了
ffmpeg
,启用了
faac
。因此,当我尝试将.mp3转换为.m4a时,我得到了一个错误。请提供此问题的解决方案。我在两个不同的.mp3源上试过了,但是我还是得到了相同的错误

[user@ip-10-161-13-26 ~]$ ffmpeg  -i Kalimba.mp3 -c:a libfaac Kalimba.m4a
ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  4 2013 09:33:27 with gcc 4.4.6 20120305 (Red Hat 4.4.6-4)
  configuration: --enable-libfaac --enable-nonfree --disable-yasm
  libavutil      51. 54.100 / 51. 54.100
  libavcodec     54. 23.100 / 54. 23.100
  libavformat    54.  6.100 / 54.  6.100
  libavdevice    54.  0.100 / 54.  0.100
  libavfilter     2. 77.100 /  2. 77.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
[mp3 @ 0x2464680] Header missing
[mp3 @ 0x2463100] max_analyze_duration 5000000 reached at 5015510
[mp3 @ 0x2463100] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'Kalimba.mp3':
  Metadata:
    publisher       : Ninja Tune
    track           : 1
    album           : Ninja Tuna
    artist          : Mr. Scruff
    album_artist    : Mr. Scruff
    title           : Kalimba
    genre           : Electronic
    composer        : A. Carthy and A. Kingslow
    date            : 2008
  Duration: 00:05:50.60, start: 0.000000, bitrate: 191 kb/s
    Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16, 192 kb/s
    Stream #0:1: Video: mjpeg, yuvj420p, 512x512, 90k tbr, 90k tbn, 90k tbc
    Metadata:
      title           : thumbnail
      comment         : Cover (front)
Output #0, ipod, to 'Kalimba.m4a':
  Metadata:
    publisher       : Ninja Tune
    track           : 1
    album           : Ninja Tuna
    artist          : Mr. Scruff
    album_artist    : Mr. Scruff
    title           : Kalimba
    genre           : Electronic
    composer        : A. Carthy and A. Kingslow
    date            : 2008
    Stream #0:0: Video: none, q=2-31, 128 kb/s, 90k tbn
    Metadata:
      title           : thumbnail
      comment         : Cover (front)
    Stream #0:1: Audio: none, 0 channels, 128 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (mjpeg -> ?)
  Stream #0:0 -> #0:1 (mp3 -> libfaac)
Encoder (codec none) not found for output stream #0:0
MP3文件位于

另外,在独立使用Faac时,我对任何文件都会出现这种奇怪的错误

Freeware Advanced Audio Coder
FAAC 1.28

Couldn't open input file sample.mp3

问题是您的输入包含相册插图,
ffmpeg
解析为视频

Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16, 192 kb/s
Stream #0:1: Video: mjpeg, yuvj420p, 512x512, 90k tbr, 90k tbn, 90k tbc
它尝试转换视频,但找不到适用于MPEG-4格式的有效输出编解码器(M4A只是另一个名称)。这是因为编译的
ffmpeg
没有
libx264
,在这种情况下
ffmpeg
需要,因为它没有本地H.264编码器

无论如何,您需要阻止它尝试转换艺术品/视频。将
-vn
添加到选项:

ffmpeg  -i Kalimba.mp3 -c:a aac -vn Kalimba.m4a
一些提示:

  • ffmpeg不再支持FAAC。改用内置AAC编码器
  • 编码到
    .aac
    是有效的,因为输出格式不能包含视频,所以
    ffmpeg
    首先不会尝试转换视频/艺术品流

请提供完整、未剪切的
ffmpeg
输出,以及可能无法转换的示例文件。令人惊讶的是,将其转换为.aac效果良好,即几乎相同的命令
ffmpeg-i Kalimba.mp3-c:a libfaac Kalimba.aac
感谢您提供信息。请注意,有关
ffmpeg
命令行使用的问题与堆栈溢出无关,因此我投票将您的问题转移到更合适的位置。不需要再问:它会被移过去的。我有一个错误未知的编码器'libfaac'在使用它。使用另一个编码器,请看:这对我来说很好!有趣的是,我可以将带有album art的mp3转换为带有ffmpeg 3.4的m4a,但不能使用源代码构建的ffmpeg 4.0或更高版本。我使用libfdk_aac在我的iPods@Pedro如果您对ffmpeg有特殊问题,请提出有关该问题的新问题。没有理由不起作用。请包括所有命令行输出。