问题描述
我正在使用carrierwave-video与我的ruby on rails应用程序上载视频。但是在尝试对视频进行编码时遇到了这个问题:
Unknown encoder 'libfaac'
Errors: no output file created.
我尝试过:
sudo apt-get install libfaac-dev
但我得到同样的错误。
更新:
编译ffmpeg之后,出现相同的错误:
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
creation_time : 2011-10-13 18:54:50
encoder : HandBrake 0.9.5 2011010300
Duration: 00:06:43.28, start: 0.000000, bitrate: 380 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 960x600 [SAR 1:1 DAR 8:5], 279 kb/s, 9.25 fps, 25 tbr, 90k tbn, 180k tbc
Metadata:
creation_time : 2011-10-13 18:54:50
handler_name :
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, s16, 97 kb/s
Metadata:
creation_time : 2011-10-13 18:54:50
handler_name :
Please use -q:a or -q:v, -qscale is ambiguous
Unknown encoder 'libfaac'
Errors: no output file created.
最佳答案
使用其他AAC编码器
-
Ubuntu不会为
ffmpeg
提供libfaac,因为它被认为是非免费的。 -
libfaac是一个糟糕的编码器;有更好的选择。
原生FFmpeg AAC编码器
使用本机内置 FFmpeg AAC编码器。与-c:a aac
一起使用。如果您的ffmpeg
已过时,则添加-strict experimental
,但是您应该改用新版本。您可以将download ffmpeg
二进制文件用于Linux,macOS和Windows。
Fraunhofer FDK AAC编码器
或者,使用-c:a libfdk_aac
。它提供了FFmpeg支持的AAC编码器中最好的质量。缺点是您需要compile FFmpeg才能使用它。