使用静态二进制文件轻松安装 FFmpeg

August 6, 2020 · IT技术向 · 94次阅读

FFmpeg 是一个很强大的音视频处理工具,很多软件都是基于它进行开发的,比如 Windows 上大名鼎鼎的音视频转码工具格式工厂就是套壳 FFmpeg。

然而,FFmpeg 并不只支持 Windows,而是对于全平台的支持——它在 Mac 和 Linux 上同样十分强大。根据其官网(http://ffmpeg.org/)介绍,这是一个完整的、跨平台的解决方案,它既可以用来播放视频,也提供命令行工具来处理(记录、转换和传输)音视频,另外还有强大的视频处理库用于开发。总之一句话,强大就完事了。

那么,要想用上这个强大的程序,第一步自然是要学会如何安装。

关于安装,网上的教程很多。有利用系统自带包管理程序 apt-get (Debian / Ubuntu)yum (CentOS / Fedora) 的,有下载源码自行编译的,甚至可能还有其它的一些方法。然而,系统包管理程序附带的 FFmpeg 通常都是几年前的上古版本自行进行编译又比较复杂、繁琐,最简单的方法还要当属通过静态二进制文件。

1 准备、下载

打开官方提供的静态二进制文件下载站点(https://johnvansickle.com/ffmpeg/),左边是 git master 版本,可以理解成是开发版;右边是 release ,相当于正式版。

自行选择所需的程序版本,没有特殊要求的话,一般选择 release 版本。然后根据自己系统的架构,进行选择,一般来说 Linux 都是选择 ffmpeg-release-amd64-static.tar.xz 这个版本(即 X64 架构)。

将文件下载到 VPS 中:

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz

出于安全考虑,可以同时下载对应的 md5 文件:

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz.md5

并进行效验:

md5sum -c ffmpeg-release-amd64-static.tar.xz.md5
#返回 OK 说明效验成功,文件一致
ffmpeg-release-amd64-static.tar.xz: OK

2 解压、运行

使用系统自带的解压命令进行解压:

tar xvf ffmpeg-release-amd64-static.tar.xz

进入解压后的文件夹(文件夹名称中的版本号可能有所不同,具体以实际为准):

cd ffmpeg-4.3.1-amd64-static

并尝试运行:

./ffmpeg
#返回以下内容说明程序正常
ffmpeg version 4.3.1-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

3 配置全局变量

截止上面的步骤,我们还只能在那个文件夹里运行 FFmpeg,如果需要提供给其他程序调用,就需要将其配置为全局变量。

首先查询本机已有的全局变量:

echo $PATH
#比如我得到的就是这样,其中冒号分隔开来就是各个全局变量的目录
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

加入全局变量可以是把自己的 FFmpeg 目录添加进 $PATH 当中,也可以把 FFmpeg 的可执行文件复制到已有的目录里。

在这里,我更推荐直接把二进制文件复制到已有的目录当中

sudo mv ffmpeg-4.3.1-amd64-static/ffmpeg ffmpeg-4.3.1-amd64-static/ffprobe /usr/local/bin/

然后检查 ffmpeg 的路径:

whereis ffmpeg
ffmpeg: /usr/local/bin/ffmpeg
whereis ffprobe
ffprobe: /usr/local/bin/ffprobe

返回路径一致说明操作无误。

如果确实想要在 $PATH 中添加新的目录,那么执行:

#这里的 your_directory 就是所需添加的目录路径
export PATH=your_directory:$PATH

添加完成后再执行一次 echo $PATH 确认路径无误即可。

现在再执行 ffmpeg 可以发现它已经变成了全局命令,无论在哪里都是可以执行调用的。

4 卸载

如果需要卸载,也很简单:

sudo rm /usr/local/bin/ffmpeg /usr/local/bin/ffprobe

参考资料

  1. FFrequently Asked Questions https://www.johnvansickle.com/ffmpeg/faq/
  2. linux 下查看和添加 PATH 环境变量 https://blog.csdn.net/DLUTBruceZhang/article/details/8811456

来杯咖啡吧!

Linux

最后编辑于48天前

添加新评论