我试图在Trusty/Ubuntu 14.04中安装ffmpeg,得到了以下信息。
$sudo apt-get install ffmpeg
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package ffmpeg is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'ffmpeg' has no installation candidate
为什么该软件包不可用?
在最近的版本中,Ubuntu开始提供libav分叉,而不是FFmpeg。如果你安装了ffmpeg软件包,那么你实际上安装了libav-tools软件包和一个告诉你将来要使用avconv
而不是ffmpeg
的程序,给人的印象是ffmpeg被废弃了,其实不然。
过渡性的ffmpeg
包似乎已经从trusty/Ubuntu 14.04中删除了(比较源码包的saucy和trusty的包文件列表)。
所以一个选择是安装libav-tools包,用`avconv'代替(注意这不是"mainline" FFmpeg,而是一个突出的分叉)。
另一个选择是使用一个提供FFmpeg的PPA。 请看 FFmpeg下载 页面,了解可用的PPA和软件包的细节。你应该每隔一段时间就检查一下个别的PPAs是否仍然是最新的。 相关的问题:
另一个选择是安装FFmpeg的依赖包,然后从源代码手动编译+安装。
以下是我在研究这个话题时能找到的内容。我没有密切关注这两个项目的发展,我无意指责任何人。你作为一个读者也不应该这样做。
维基百科指出,分叉项目以及最初的发布是在2011年3月13日宣布的,然而还有一些事情正在发生。
MAINTAINERS
文件中删除。avconv
被引入。用一个新的名字制作ffmpeg的副本 -- avconv。
它将进一步发展,有一些不兼容的变化。
ffmpeg.c将在一段时间内保持原样,所以任何使用它的脚本都不会被破坏。 破损。
ffmpeg.c
源代码中加入了一个警告,这可能会误导那些没有注意到分叉的用户,他们不再使用FFmpeg了。ffmpeg.c
已从源代码中删除。以下是新闻部分的帖子(最早的在最后)。
August 09 2011
更新于12.09.2011.
为了与我们的新名称保持一致,我们将ffplay改名为avplay。 ffserver为avserver,*ffprobe为avprobe。它们的行为是 相同,只是名称被改变了。
通过ffmpeg(命令行工具)我们决定利用这个机会 来解决一些长期存在的可用性问题,这涉及到破坏 兼容性。因此,我们增加了一个名为avconv的新工具。 基于ffmpeg,但有一个不同的(希望更加强大和 更容易使用)一些选项的语法。ffmpeg将保持其 目前的状态一段时间,所以使用它的脚本或前台不会 中断。然而,它将不会被进一步开发。
avconv和ffmpeg之间的区别是。
[...]
注意,avconv的接口还没有被认为是稳定的。更多 不兼容的变化可能在接下来的几周内出现。我们将宣布 当avconv稳定时,在此公布。 而在2011年的早些时候。
2011年3月18日
我们刚刚从我们的0.6发布分支推送了另一个点发布。 Libav 0.6.2。这是另一个仅限维护的版本,解决了两个 安全问题。
从现在开始,我们将使用我们的新项目名称libav。但不要'担心 担心,与之前的0.6.1版本相比,唯一的功能上的 变化是VC1和APE解码器的两个安全修复。这 意味着libav为现有的FFmpeg安装提供了一个无痛的替换。 FFmpeg的安装。
此外,我们很自豪地在这个源码版本中加入了 用于win32平台的可执行文件和库。这些二进制文件 包括使用捆绑的x264库进行H.264编码。享受吧!
我们鼓励分销商和系统集成商更新并分享 他们的补丁针对我们的发布分支。
2011年3月17日
我们刚刚从0.5发布分支推送了另一个点发布。 FFmpeg 0.5.4。这是另一个纯维护的版本,解决了 一些安全问题。
鼓励分销商和系统集成商更新并分享 他们的补丁与我们的发布分支相对应。
2011年3月13日
我们,作为一个FFmpeg的开发者团体,决定继续 以Libav的名义开发FFmpeg。所有现有的基础设施 将被转移到libav.org域名上。
- 网站: http://www.libav.org/
- Git: git://git.libav.org/libav.git (见http://libav.org/download.html)
- FATE: http://fate.libav.org/
- Roundup: https://roundup.libav.org/
- Patchwork: http://patches.libav.org/
- Mailinglists: http://lists.libav.org/ (开发者列表: [email protected])
你可以使用以下命令更新你的git仓库。
git remote set-url origin 'git://git.libav.org/libav'
现在我们仍然可以通过FFmpeg的邮件列表和IRC 频道,但我们会迁移到libav.org的对应位置。在一个 过渡期内,网站和源码可能仍然含有 对FFmpeg的引用。这些将随着时间的推移而消失,除非 历史上相关的地方。
2011年2月24日
FFmpeg的开发已经转移到Git,SVN仓库不再 不再更新。SVN仓库可能在不久的将来被删除,所以 建议你使用Git repository代替。
最后提交到SVN的修订版是2011-01-19的r26402,并且 用一个独立的副本替换了svn:external libswscale。 请注意,FFmpeg的开发实际上现在已经转移到了Git仓库,有两个Git仓库。请看相应的项目下载页面。
你也可以使用这个PPA。 [ppa:jon-severinsson/ffmpeg][1]
Edit:这个PPA已经从Launchpad上删除,我不知道为什么。 取而代之的是[samrog131][2]PPA(用于Trusty, Utopic & Vivid)。)
sudo add-apt-repository ppa:samrog131/ppa
sudo apt-get update
sudo apt-get install ffmpeg-set-alternatives
PPA还包含其他您可能不需要的包。 安装完成后,请删除ppa。
sudo add-apt-repository --remove ppa:samrog131/ppa
sudo apt-get update
[1]: https://launchpad.net/~jon-severinsson/+archive/ffmpeg。 [2]: https://launchpad.net/~samrog131/+archive/ubuntu/ppa。
FFMPEG软件包已经从Debian软件库中删除了一段时间。关于将该软件包再次纳入软件库,仍有持续的争论。Ubuntu作为Debian的衍生产品,取决于上游的决定。很久以前,这个软件包只是空的,只有一个与libav的依赖关系。这在2012年5月12日发生了变化,该软件包被放弃并从档案库中删除。
libav (6:0.8.99-1537-gacb2c79-1) experimental; urgency=low
* New upstream snapshot
- Drop patches applied upstream
- Longer build libpostproc, dropped upstream
- follow soname bump of libavcodec and libavformat 53->54
- New library: libswresample
* no longer build and use dirac, removed upstream in favor of libschroedinger
* remove deprecated ffmpeg package
* bump shlibs version
-- Reinhard Tartler <[email protected]> Sat, 12 May 2012 22:02:03 +0200
当我尝试运行
sudo apt-get install ffmpeg
所以我结合了其他几个答案,以及本站的内容,得到了以下对我有用的配方。
sudo apt-get install ppa-purge
sudo ppa-purge ppa:mc3man/trusty-media # ignore warning if not found
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install ffmpeg
现在我可以看到ffmpeg已经安装好了。
sudo find / -type f -name "ffmpeg"
返回/opt/ffmpeg/bin/ffmpeg
。
在bash提示符下,"ffmpeg "命令现在应该可以在任何文件夹下工作。
如果你想在Ubuntu 14.04中安装ffmpeg 2.2.1(从源码开始),你可以使用以下选项试试。
对于64位操作系统。
List of Dependencies:
yasm frei0r-plugins-dev gnutls-bin libgnutls-dev libass-dev libgsm1-dev libmp3lame-dev libopencv-dev libopenjpeg-dev libopus-dev libpulse-dev libschroedinger-dev libsoxr-dev libspeex-dev libtheora-dev libv4l-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev libopenal-dev libcdio-paranoia-dev
汇编选项。
./configure --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib/x86_64-linux-gnu/ --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib/x86_64-linux-gnu/ --enable-runtime-cpudetect
适用于32位操作系统。
依赖关系列表。
yasm frei0r-plugins-dev gnutls-bin libgnutls-dev libass-dev libgsm1-dev libmp3lame-dev libopencv-dev libopenjpeg-dev libopus-dev libpulse-dev libschroedinger-dev libsoxr-dev libspeex-dev libtheora-dev libv4l-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev libopenal-dev libcdio-paranoia-dev libopencore-amrwb-dev libopencore-amrnb-dev
汇编选项。
./configure --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth --enable-frei0r --enable-libdc1394 --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' --disable-stripping
更多信息请看我的[youtube视频](
如果你想要最新的版本,刚从github上发布,它满足了从youtube-dl产生的错误的喜欢。
ERROR: ffprobe or avprobe not found. Please install one.
然后发出这些cmds :
sudo apt-get build-dep ffmpeg
git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg
./configure --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-openal --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libxvid --enable-libzvbi --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-libssh --enable-libsoxr --enable-libx264 --enable-libopencv --enable-libx265
make -j8
sudo make install
享受
我花了2周时间安装了最新版本的ffmpeg 2.8.11。 这个版本适用于Ubuntu 16.04。 我建议你应该安装这个版本。 我在Ubuntu 12.04和Ubuntu 14.04上进行了测试,效果不错。 你可以按照上面的说明安装libav-tools,但是你会遇到一个兼容性的问题。 因为libav-tools和ffmpeg现在是由两个不同的小组开发的。 请按照我的指示安装。 如果你有任何问题可以通过电子邮件发给我。 [email protected]
$ sudo apt-get update
$ sudo apt-get -y install build-essential checkinstall git libfaac-dev libgpac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev librtmp-dev libtheora-dev libvorbis-dev pkg-config texi2html yasm zlib1g-dev libavcodec-extra-53
$ sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev
$ sudo apt-get install libdc1394-22 libdc1394-22-dev libgsm1 libgsm1-dev libopenjpeg-dev libschroedinger-1.0-0 libschroedinger-dev libschroedinger-doc libspeex-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev libx264-dev
$ wget https://www.ffmpeg.org/releases/ffmpeg-2.8.11.tar.xz
$ tar xf ffmpeg-2.8.11.tar.xz
$ cd ffmpeg-2.8.11/
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-x11grab --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --disable-yasm // disable yasm if you are using Ubuntu 12.04, if not --enable-yasm
$ make
$ sudo make install
在终端机上检查ffmpeg、ffserver、ffplay、ffprobe。 好运