Mac下ffmpeg的安装和使用
一. Homebrew安装
此方法安装需要耐心,也许会很慢!好处是功能全面。
首先用homebrew安装各种编码器
1 | brew install automake fdk-aac git lame libass libtool libvorbis libvpx opus sdl shtool texi2html theora wget x264 x265 xvid nasm |
如果有安装过老版本ffmpeg的,可能需要更新(比如我在安装中发现以下几个依赖在我安装老版本的ffmpeg的时候安装过了,但是需要更新,否则后面运行ffmpeg会报错)
1 | brew upgrade x265 libvpx libtool automake |
最后带依赖安装ffmpeg
1 | brew install ffmpeg |
最后查看版本:
1 | ffmpeg -version |
***
二. conda安装
需要先安装conda,参考Mac OS下Python虚拟环境管理工具conda的安装和使用
安装命令
1 | conda install ffmpeg -c conda-forge |
最后查看版本:
1 | ffmpeg -version |
conda安装的不是最新版本,使用过程中发现缺少有些模块,如X265
***
三. 通过官网安装FFmpeg
进入官网Download FFmpeg
出现如下页面:
点击苹果标识,进入如下页面:
点击红框内按钮,开始下载压缩包;
下载完成后解压,得到如下图所示的图标:
把
ffmpeg
移到/usr/local/bin/ffmpeg
终端界面,可运行ffmpeg命令;
1
ffmpeg
四. FFmpeg源码安装
FFmpeg源码获取
使用如下命令获取ffmpeg的源码:
1 | git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg |
ffmpeg编译
使用如下命令指定安装目录:
1 | cd ffmpeg |
1 | ./configure --prefix=/usr/local/ffmpeg --enable-debug=3 --enable-shared --disable-static --disable-x86asm |
使用prefix参数实现安装目录的指定,通常安装在本地/usr/local目录下。
由于之后有调试源码的需求,所以打开debug模式,将–enable-debug设为3.
这条命令会关闭生成静态库,打开生成动态库。
最后会关闭x86asm,_这是一个在ubuntu还有mac下都必须做的_。
使用如下命令实现ffmpeg的编译:
1 | make -j 4 |
这条命令会调用4个核心并行编译,可以大大提高编译的速度
使用如下命令进行安装:
1 | make install |
完成了ffmpeg的安装后,接下来进入/usr/local/ffepeg内查看:
bin:存放ffmpeg所有的命令工具
include:存放ffmpeg所有的头文件
lib:存放ffmpeg生成的动态库或者静态库
share:存放ffmpeg相关的文档和例子
bin目录
进入bin目录下存在三个命令工具,依次是ffmpeg、ffplay、ffprode
ffmpeg:可以进行推流、音视频的处理
ffplay:一个播放器,可以进行拉流、播放本地的音视频文件
ffprobe:用于侦测多媒体文件,例如一些格式以及基本信息
include目录
进入include文件,存放所有的ffmpeg头文件,之后进行ffmpeg二次开发使用头文件时进入此目录下寻找,每一个子目录是一个模块。
libavcodec:编解码
libavdevice:管理设备
libavfilter:各种滤镜效果、特效
libavformat:多媒体格式处理
libavutil:一些基本的工具
libswresample:音频重采样
libswscale:视频缩放等一些处理
lib目录
进入lib文件,存放所有生成的ffmpeg动态库/静态库。
以libavcodec为例,libavcodec.so.59.0.100是真正的库,另外两个libavcodec.so.59和libavcodec.so是连接符,使用时根据自己的喜好使用。
如果在移动端使用时也可以生成一个总的静态文件(a文件)。
share目录
进入share目录下,主要是存在一些ffmpeg文档,例如man文档。
使用命令打开配置文件:
1 | sudo nano ~/.bash\_profile |
在末尾加入这条语句,即ffmpeg的bin目录:
1 | export PATH=$PATH:/usr/local/ffmpeg/bin |
然后保存退出。
再执行下面命令让刚配置的环境变量生效:
1 | source ~/.bash\_profile |
然后输入下面命令,测试是否成功将ffmpeg加入到系统环境中:
1 | ffmpeg |