最近开始学习音视频相关技能啦,从安装 FFmpeg 开始~
在开始安装之前,先进行几项准备工作。
其实我没在 mac 上搞过开发,这次安装 FFmpeg 的过程中,发现没有以 root
执行命令的权限。然后按下述步骤操作后就有权限了,如有不妥欢迎讨论~
编译 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
搞定!
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
搞定!
因为 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
添加第三方库,以支持 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 工具,可通过 brew install automake 安装。
autoreconf -vif
./configure
make -j
sudo make install
在开始安装前,需先检查 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
首先,从 Github 获取 FFmpeg 的源码。
https://github.com/FFmpeg/FFmpeg
进入目录之后,三板斧~
./configure
# 一些第三方插件 --enable-libx264 --enable-gpl --enable-libmp3lame --enable-libspeex
# 调试模式 --enable-debug=3 --disable-optimizations --disable-asm --disable-stripping
make -j
sudo make install
正常来说,你会得到三个可执行文件:
可通过下述三个命令查看是否安装成功。
执行 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