我完全清楚使用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文件位于http://db.tt/HtpEBpFU
同时独立使用Faac时,我发现任何文件都有这个奇怪的错误。
Freeware Advanced Audio Coder
FAAC 1.28
Couldn't open input file sample.mp3
答案 0 :(得分:13)
问题是您的输入包含相册图片,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 libfaac -vn Kalimba.m4a
一些提示:
-q:a
选项来控制VBR质量 - 值范围从10到500,其中100是默认值。libfdk_aac
,后跟libfaac
。我不知道这里的许可证,但也值得尝试。有关详细信息,请参阅AAC Encoding Guide。.aac
进行编码是有效的,因为输出格式不能包含视频,因此ffmpeg
不会尝试首先转换视频/插图流。