我运行的是Ubuntu Server 10.04 LTS x64。 我已经在这台机器上使用ffmpeg编码H.264video的AACaudio超过一年。
这周有一个ffmpeg软件包的更新,似乎打破了AAC编码器。
我正在使用的命令:
/usr/bin/ffmpeg -y -i '/tmp/original.mov' -acodec libfaac -ar 44100 -ab 128k -vcodec libx264 -level 41 -crf 25 -r 25 -s '1280'x'720' -bufsize 250000k -maxrate 2500k -vpre lossless_slower '/tmp/converted.mp4'
转换失败,出现此错误:
Unknown encoder 'libfaac'
输出ffmpeg -v :
FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1.2, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --extra-version=4:0.5.1-1ubuntu1.2 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Sep 16 2011 17:08:44, gcc: 4.4.3 ffmpeg: missing argument for option '-v'
适用于ffmpeg -formats输出:
Codecs: DA aac Advanced Audio Coding
用于编码的E缺失。
我已经安装了libfaac-dev和libfaac0 ,并在事后安装了faac ,看看是否有帮助。 没有骰子。
build议? 我欢迎任何build议。 谢谢。
ffmpeg的各种版本都有一些启用/禁用的模块,通常是出于法律原因。 (某些专利的编解码器,除了源码forms,根据国家不同,通常不能分发。
如果您需要完整的软件包,您可能需要自己构build它,或者浏览Google一小时,search包含您正在查找的模块的二进制文件。
您可以尝试使用Medibuntu存储库。 这是第三方存储库,其中包含无法包含在官方Ubuntu存储库中的软件包。
有关更多信息,请参阅http://ubuntuforums.org/showthread.php?t=1117283 。
使用Medibuntu时,核心libav软件包仍然从官方的Ubuntu软件库安装。 Medibuntu增加了提供非自由function的-extra软件包。
发生什么事情是,当Ubuntu发布libav的新版本时,Medibuntu中的-extra软件包需要一段时间才能更新。 旧版本的软件包与新版本不兼容,所以升级时将删除-extra软件包,从而删除非免费的编解码器。
解决方法是不要升级libav,直到Medibuntu发布更新的-extra软件包。