致敬雷神
前言
从16年4月份在雷神的博客中开始接触到FFmpeg到现在大约都有三四年的光景了,一直苦于没有合适的机会研究和开发FFmpeg.近来公司想基于FFmpeg做一款属于自己的播放器,所以从网上找资料来进行学习.这里就做一个系列记录一下我的学习记录.这篇博客主要讲讲FFmpeg的下载,安装与编译三个方面的,其实就是环境搭建了.那么我们就开始正题吧.
FFmpeg的下载
总共有两种种方式来进行下载FFmpeg分别如下所示.大家酌情选择即可
- 我们直接使用命令去github上下载即可.如下所示.
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
- 直接通过Homebrew直接安装FFmpeg,如下所示.(未证实其中是否有坑,谨慎使用)
brew install ffmpeg
FFmpeg的配置
我们首先使用终端cd FFmpeg的目录中,然后执行下面的命令进行FFmpeg的配置.
./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-filter=delogo --enable-debug --disable-optimizations --enable-libspeex --enable-videotoolbox --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --host-cflags= --host-ldflags=
这时候我们可能缺少一下的几个库.我们需要通过Homebrew进行安装.Homebrew的安装过程这里就不多叙述了,大家自行百度安装即可.
-
问题:yasm是汇编编译器,ffmpeg为了提高效率使用了汇编指令,如MMX和SSE等。所以系统中未安装yasm时,就会报下面面错误。
解决方案如下所示:
#下载yasm
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
#解压yasm
tar zxvf yasm-1.3.0.tar.gz
#切换到yasm目录路径
cd yasm-1.3.0
#执行配置
./configure
#编译和安装yasm
make&&make install
- 错误:ERROR: libfdk_aac not found
brew install fdk-aac
- 错误:ERROR: x264 not found
brew install x264
- 错误:ERROR: x265 not found
brew install x265
- 错误:ERROR: speex not found
brew install speex
- 错误:ERROR: pkg-config not found
brew install pkg-config
FFmpeg的编译与配置
由于ffplay需要sdl2的支持,所以我们提前安装,如下所示.
brew install sdl2
然后运行下面的命令编译安装命令.时间有点长
make &&sudo make install
然后vim 进入.bash_profile文件进行环境变量的配置.
vim ~/.bash_profile
环境变量示例如下所示,具体可能需要做一些修改.
export PATH=$PATH:/usr/local/ffmpeg/bin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/Cellar/sdl2/2.0.10/lib/pkgconfig:/usr/local/ffmpeg/lib/pkgconfig
重新终端FFmpeg就可以使用,我们使用下面的指令查看是否安装成功.
ffmepg -version
总结
本篇的安装环境为Mac环境,同时是为FFmpeg的命令做准备的编译环境。有问题欢迎在评论区指导批评,谢谢。