在 Debina/Ubuntu 中为所有用户安装最新的 ffmpeg

Jun*_*aid 4 video ffmpeg software-installation

我使用本指南在我的 Ubuntu 上安装了 ffmpeg

这工作得很好,我知道该指南用于为当前用户安装 ffmpeg。

有人可以帮我为所有用户安装 ffmpeg 吗?为此,我认为此处指定的步骤只需进行少量更改,但我对此不确定。

谢谢你。

llo*_*gan 5

您可以执行系统安装。这是您提到的Ubuntu Guide 上Compile FFmpeg使用的先前方法,但它已更改为执行“本地”安装,因此它不会干扰依赖于旧的、所谓的“ffmpeg”的存储库中的软件包" 来自存储库的包(有关更多信息,请参阅谁能告诉我 ffmpeg、libav 和 avconv 之间的区别和关系?)。

如果您愿意,您仍然可以执行系统安装。您可以按原样遵循指南,但您必须进行一些修改。

0. 删除冲突包

在开始之前,并且因为您要安装到系统中,所以您还有一个额外的步骤是删除任何会与您的新 ffmpeg 冲突的软件包。

sudo apt-get remove ffmpeg libav-tools
Run Code Online (Sandbox Code Playgroud)

1. 按照指南,直到...

当您进入 ffmpeg 配置步骤时,您需要进行一些更改:

  • 忽略 --prefix="$HOME/ffmpeg_build"
  • 忽略 --bindir="$HOME/bin"

导致:

PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--extra-libs="-ldl" --enable-gpl --enable-libass --enable-libfdk-aac \
--enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis \
--enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
Run Code Online (Sandbox Code Playgroud)

现在make按照指南中所示运行。

2. checkinstall

make install您将使用 ffmpegcheckinstall安装到系统,而不是发出ffmpeg 在本地安装。checkinstall将跟踪已安装的文件,以便您以后可以使用包管理系统轻松删除它们。

sudo checkinstall --pkgname=ffmpeg --pkgversion="10:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
hash -r
Run Code Online (Sandbox Code Playgroud)

3. 完成

现在您可以使用系统范围的 ffmpeg。请注意,它现在说FFmpeg developers. 如果它提到libav那么出了问题,并且您正在使用存储库中的版本。

$ ffmpeg
ffmpeg version N-54152-g730e07f Copyright (c) 2000-2013 the FFmpeg developers
Run Code Online (Sandbox Code Playgroud)

4. 撤消

如果您想卸载只需运行:

sudo apt-get remove ffmpeg
Run Code Online (Sandbox Code Playgroud)

使用 $PATH

或者,您可以将 ffmpeg 安装在您想要的任何位置(包括懒惰和使用已编译的 ffmpeg 二进制文件)并$PATH为任何或所有用户修改ffmpeg,但这超出了这个答案。请参阅如何将目录添加到我的路径?了解更多信息。