如何在 Debian 上安装 FFmpeg?

38 debian ffmpeg

如何FFmpeg在 Debian 上安装?

nat*_*han 71

当前的 Debian(stretch开始jessie-backports)包括一个ffmpeg包:

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

然而,这个版本的 ffmpeg 并不总是最新的。如果你想要更新的版本,你有 3 个安装 ffmpeg 的选项。我建议在尝试选项 3 之前先尝试选项 1 或 2。

选项 1:使用静态构建

从这个网站下载一个静态版本:

http://johnvansickle.com/ffmpeg/

将二进制文件放入/usr/local/bin,您就可以开始了。

选项 2:从 deb-multimedia.org 安装 ffmpeg

要安装 ffmpeg,请/etc/apt/sources.list为您的发行版编辑并添加适当的行,如下所示:http : //www.deb-multimedia.org/

要添加 debian 测试,手动编辑文件或运行..

仅用于 debian 测试的示例

sudo echo deb http://www.deb-multimedia.org testing main non-free \
                  >>/etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

添加 deb-multimedia 行后,更新包,添加密钥环,并安装 ffmpeg。

sudo apt-get update
sudo apt-get install deb-multimedia-keyring
sudo apt-get update
sudo apt-get install ffmpeg
Run Code Online (Sandbox Code Playgroud)

您必须使用此方法将密钥环安装为未经身份验证的软件包。

选项 3:从源安装 ffmpeg

或者,您可以从源代码安装。这是使用 checkinstall 创建 .deb 文件的方法,然后可以再次卸载该文件。安装这些包,特别是 ffmpeg 需要 yasm 或 nasm,其他的通常用于构建包:

sudo apt-get install yasm nasm \
                build-essential automake autoconf \
                libtool pkg-config libcurl4-openssl-dev \
                intltool libxml2-dev libgtk2.0-dev \
                libnotify-dev libglib2.0-dev libevent-dev \
                checkinstall
Run Code Online (Sandbox Code Playgroud)

接下来,克隆 ffmpeg 包下载最新的快照:

git clone git://git.videolan.org/ffmpeg.git
Run Code Online (Sandbox Code Playgroud)

或者

wget https://www.ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar jxvf ffmpeg-snapshot.tar.bz2
Run Code Online (Sandbox Code Playgroud)

编译ffmpeg:

cd ffmpeg
./configure --prefix=/usr
time make -j 8
cat RELEASE
sudo checkinstall
Run Code Online (Sandbox Code Playgroud)

大多数 checkinstall 默认值都很好,但需要版本号。当前版本由“cat RELEASE”显示。这应该在当前目录中创建一个 deb 文件。

最后,安装您使用 dpkg 制作的 deb 文件:

sudo dpkg --install ffmpeg_*.deb
Run Code Online (Sandbox Code Playgroud)

  • +10 分。这个答案应该排在最前面,因为它是最新的。 (2认同)
  • 可悲的是,Jessie 自带的 avconv 经常无法替代 ffmpeg,因为它缺少 ffmpeg 的许多重要功能。因此,如果您想避免从源代码安装,唯一有效的选择是从 deb-multimedia 获取它,这有点可悲,因为 deb-multimedia-keyring 不是由 Debain 分发的,因此信任链被破坏了。 (2认同)
  • 他们现在已经切换回 sid 中​​的 ffmpeg:https://lwn.net/Articles/650495/ (2认同)

Dan*_*Dan 26

它现在可用于 Jessy 作为后向移植:https : //packages.debian.org/jessie-backports/ffmpeg

将这样的内容添加到/etc/apt/sources.list(使用您喜欢的镜像):

deb http://ftp.uk.debian.org/debian jessie-backports main
Run Code Online (Sandbox Code Playgroud)

然后

apt-get update
apt-get install ffmpeg
Run Code Online (Sandbox Code Playgroud)

  • 干杯,这很好用,是最新的答案。只是发布 debian 8 jessy 消息,以便其他人可以找到这个谷歌搜索`包 ffmpeg 不可用,但被另一个包引用。这可能意味着该软件包丢失、已过时或只能从其他来源获得 E: Package 'ffmpeg' has no installationCandidate` (4认同)

小智 8

您可以通过 apt-get 安装它。如果包被简单地称为“ffmpeg”。

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

如果这不起作用,您可以尝试搜索它:

sudo apt-cache search ffmpeg
Run Code Online (Sandbox Code Playgroud)

请注意,这将安装打包版本的 FFmpeg,因此它总是有点过时。如果您遇到错误,请从源代码编译 FFmpeg。


Jam*_*mes 7

FFMPEG 使用 git,因此您需要使用终端。见这里当前位置

有做它一个非常全面的演练在这里。为懒人(包括我自己)提取了相关代码。

需要注意的一件事是,在配置缺少软件包时可能会出现一些错误。在运行 Fedora 14 时,我需要使用RPM来获取其中的几个,但您的里程可能会因 Debian 的不同而有所不同。

结帐FFmpeg:

git clone git://git.videolan.org/ffmpeg.git
cd ffmpeg
Run Code Online (Sandbox Code Playgroud)

配置 [如果需要,添加您自己的首选项]

./configure
Run Code Online (Sandbox Code Playgroud)

构建和安装

make
sudo make install
Run Code Online (Sandbox Code Playgroud)