一、ffmpeg的下载
1、ffmpeg github下载路径:https://github.com/FFmpeg/FFmpeg.git 在ffmpeg的github上可以下载任意版本的源码,比如最新的matser上的源码,以及各个分支上(如ffmpeg的5.1版本)的源码,如下图。
2、ffmpeg官方网站:https://www.ffmpeg.org/ ;在官方网站内也可以下载ffmpeg的源码以及ffmpeg编译好的库文件;官方网站首页如下图;点击下图绿色按键”Download”可以进入ffmpeg的下载页面;在官方网站首页的左侧有几个子目录,其中包含下载目录Download和使用帮助文档目录Documentation。
在点击Download后可以进入ffmpeg的下载页面,如下图;通过点击Download Source Code 就可以下载最新的ffmpeg源代码;也可以下载Linux/Windows/MacOS这三种平台下ffmpeg的可执行程序和lib库文件,如下图红色框。
二、ffmpeg的安装
1. mac通过命令行安装ffmpeg
brew install ffmpeg
安装完成后mac系统中就会有ffmpeg、ffprobe、ffplay这三个工具ffmpeg是音视频处理的工具,ffprobe是音视频信息查看的工具,ffplay是音视频播放的工具。在命令行中可以通过 ffmpeg -version来查看ffmpeg的信息,如下图,红色框是ffmpeg的配置选项,其中–enable-libx264 –enable-libx265表示使能第三方编码器,即可以使用libx264编码h264视频,可以使用libx265编码h265视频。
2. ffmpeg通过源码编译安装
命令行安装(ffmpeg官方编译好的)的ffmpeg工具里面支持的功能是官方配置好的,可能和实际上我们的期望不一样,比如ffmpeg默认配置是不支持libfdk-aac这个编码器的,如果我们想使用libfdk-aac来编码aac音频就需要自己重新配置ffmpeg和重新编译;在或者我们不需要很多的功能就是希望视频编码,那么其他的功能可以去掉来节省ffmpeg的内存占用,那么我们也就可以重新配置编译ffmpeg去掉不需要的功能。ffmpeg的配置如下,配置中使能了libx264、libx265和libfdk-aac编码器。
#!/bin/bashexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfigPWD=/usr/local./configure \--pkg-config-flags=--static \--enable-version3 \--enable-nonfree \--enable-libfdk-aac \--extra-libs="-lx265 -lx264" \--enable-libx264 \--enable-libx265 \--enable-gpl \--extra-ldflags=-L${PWD}/lib \--prefix=${PWD} \--extra-cflags="-I${PWD}/include" \--enable-debug \--disable-stripping
配置ffmpeg之后在ffmpeg的根目录下执行如下命令,就可以编译出ffmpeg、ffprobe、ffplay工具。
make --j8 //-j8是8线程/核心并行编译可以加快编译速度make install
编译完成后可以在根目录中看到编译生成的工具,如下图;其中xxx_g的是debug的版本,可以运行调试。
可以看出支持了libfdk-aac和libx264和libx265。
另外需要注意的是,如果编译安装ffmpeg启用了libx264/libx265或者fdk-aac则需要在系统中安装好libx264/libx265以及fdk-aac的库,否则可能提示找不到对应的库。
3. linux平台的ffmpeg安装
在linux(Ubuntu)平台上可以通过命令行sudo apt install FFmpeg 来安装ffmpeg(注意linux不同系统下载的指令可能不同,Ubuntu采用apt,CentOS采用yum/dnf)。此外可以如第一节所讲可以在ffmpeg官方网站下载编译好的ffmpeg就可以直接拿来用,如下如图,点击红色框。
进入下载页面,如下图,左侧是主干编译的版本,右侧是relesase最新5.1.1分支的编译版本;根据自己的处理器选择下载。
下载ffmpeg-5.1.1-i686-static的版本,解压后可以看到里面有ffmpeg和ffprobe。
通过ffmpeg -version可以查看编译后的ffmpeg信息,如下图。
linux下的ffmpeg的配置和编译和mac系统下的配置一样,按照mac系统下ffmpeg编译方法即可。
4. windows平台下的ffmpeg安装
windows平台下可以通过命令行下载ffmpeg;可以使用MSYS2/MSYS2 MINGW64来下载,如下所示。
pacman -S mingw-w64-x86_64-ffmpeg
如果需要libx264、libx265、libfdk-aac则需要下载相应的库,下载命令如下:
pacman -S mingw-w64-x86_64-fdk-aac //下载libfdk-aacpacman -S mingw-w64-x86_64-x264 //下载libx264pacman -S mingw-w64-x86_64-x265 //下载libx265
ffmpeg下载安装完成后可以通过ffmpeg.exe -version可以查看编译后的ffmpeg信息,如下图。
此外可以如第一节所讲可以在ffmpeg官方网站下载编译好的ffmpeg就可以直接拿来用,如下如图,点击红色框。
点击Windows builds by BtbN进入下载页面,如下图,绿色框是windows的ffmpeg工具包。ffmpeg-master-latest-win64-gpl-shared这个里面包含了ffmpeg的lib文件,可以进行ffmpeg的二次开发,ffmpeg-master-latest-win64-gpl只包含了ffmpeg的工具。
下载ffmpeg-master-latest-win64-gpl,解压后在windows自己的cmd终端或者MSYS2运行bin文件下载的ffmpeg.exe -version查看ffmpeg的信息如下图。
三、ffmpeg的使用说明文档
在ffmpeg的官方网站种包含了ffmpeg的说明文档https://www.ffmpeg.org/documentation.html,如下图,右侧红色框是ffmpeg的各个功能的说明,如
Video scaling and pixel format converter(视频缩放和像素格式转换的说明文档);
Audio resampler(音频重采样的说明);
Encoders and decoders (codecs)(音视频编码、解码的说明);
Muxers and demuxers (formats)(音视频封装和解封装的说明);
Filters(音视频滤波器的说明)。