最近开始学习音视频相关技能啦,从安装 FFmpeg 开始~
准备工作
在开始安装之前,先进行几项准备工作。
启用 root 用户
其实我没在 mac 上搞过开发,这次安装 FFmpeg 的过程中,发现没有以 root
执行命令的权限。然后按下述步骤操作后就有权限了,如有不妥欢迎讨论~
- 选取苹果菜单 () >“系统偏好设置”,然后点按“用户与群组”(或“帐户”)。
- 点按 锁形图标,然后输入管理员名称和密码。
- 点按“登录选项”。
- 点按“加入”(或“编辑”)。
- 点按“打开目录实用工具”。
- 点按“目录实用工具”窗口中的 锁形图标,然后输入管理员名称和密码。
- 从“目录实用工具”的菜单栏中:
- 选取“编辑”>“启用 Root 用户”,然后输入要用于 root 用户的密码。
安装 yasm
编译 FFmpeg 会用到 yasm,因此需要先安装这个东西。
首先,获取源码
curl http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz > yasm.tar.gz
然后,解压
tar xzvf yasm.tar.gz
然后,进入目录,三板斧~
cd yasm-1.2.0/
./configure
make -j
sudo make install
搞定!
安装 SDL(可选)
FFmpeg 的 ffplay 工具会依赖这个东西。如果未安装或者版本较低,则不会编译 ffplay。
首先,去官网下载源码,选择最新版本即可。
https://www.libsdl.org/download-2.0.php
然后,解压,进入目录,三板斧
tar -xf SDL2-2.0.18.tar.gz
cd SDL2-2.0.18
./configure
make -j
sudo make install
搞定!
安装 libmp3lame(可选)
因为 FFmpeg 自身不支持 MP3 的编码,需要先安装第三方库。当然不装也能编过,只是不能编码 mp3。
首先,获取源码:
https://sourceforge.net/projects/lame/files/lame/3.99/
然后,解压,进入目录,三板斧
tar -xf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make -j
sudo make install
安装 libspeex(可选)
添加第三方库,以支持 speex 的编解码。
首先,获取源码:
https://github.com/xiph/speex/tags
然后,解压,进入目录,三板斧
tar -xf speex-Speex-1.2.0.tar.gz
cd speex-Speex-1.2.0
./autogen.sh #依赖 autoreconf/libtool 工具,可通过 brew install automake; brew install libtool; 安装
autoreconf -vif
./configure
make -j
sudo make install
安装 libx264(可选)
在开始安装前,需先检查 nasm,执行如下命令输出 nasm 的版本:
nasm -v
如果执行失败或者版本低于 2.13,则需要安装或升级 nasm。可在下述链接下载最新版本:
https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D
接下来开始安装 libx264,从官方网站下载源码:
https://code.videolan.org/videolan/x264/-/archive/master/x264-master.tar.bz2
解压并开始安装:
tar -zxvf ./x264-master.tar.bz2
cd x264-master
./configure --enable-shared
make -j
make install
开始安装 FFmpeg
首先,从 Github 获取 FFmpeg 的源码。
https://github.com/FFmpeg/FFmpeg
进入目录之后,三板斧~
./configure
# 一些第三方插件 --enable-libx264 --enable-gpl --enable-libmp3lame --enable-libspeex --enable-postproc
# 调试模式 --enable-debug=3 --disable-optimizations --disable-asm --disable-stripping
make -j
sudo make install
正常来说,你会得到三个可执行文件:
- ffmpeg
- ffprob
- ffplay
可通过下述三个命令查看是否安装成功。
执行 ffmpeg -version
ffmpeg version 4.4.git Copyright (c) 2000-2021 the FFmpeg developers
built with Apple clang version 12.0.0 (clang-1200.0.32.28)
configuration:
libavutil 57. 10.101 / 57. 10.101
libavcodec 59. 14.100 / 59. 14.100
libavformat 59. 9.102 / 59. 9.102
libavdevice 59. 0.101 / 59. 0.101
libavfilter 8. 18.100 / 8. 18.100
libswscale 6. 1.101 / 6. 1.101
libswresample 4. 0.100 / 4. 0.100
执行 ffprobe -version
ffprobe version 4.4.git Copyright (c) 2007-2021 the FFmpeg developers
built with Apple clang version 12.0.0 (clang-1200.0.32.28)
configuration:
libavutil 57. 10.101 / 57. 10.101
libavcodec 59. 14.100 / 59. 14.100
libavformat 59. 9.102 / 59. 9.102
libavdevice 59. 0.101 / 59. 0.101
libavfilter 8. 18.100 / 8. 18.100
libswscale 6. 1.101 / 6. 1.101
libswresample 4. 0.100 / 4. 0.100
执行 ffplay -version
ffplay version 4.4.git Copyright (c) 2003-2021 the FFmpeg developers
built with Apple clang version 12.0.0 (clang-1200.0.32.28)
configuration:
libavutil 57. 10.101 / 57. 10.101
libavcodec 59. 14.100 / 59. 14.100
libavformat 59. 9.102 / 59. 9.102
libavdevice 59. 0.101 / 59. 0.101
libavfilter 8. 18.100 / 8. 18.100
libswscale 6. 1.101 / 6. 1.101
libswresample 4. 0.100 / 4. 0.100