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

  1. 进入官网Download FFmpeg

  2. 出现如下页面:
    在这里插入图片描述

  3. 点击苹果标识,进入如下页面:
    在这里插入图片描述

  4. 点击红框内按钮,开始下载压缩包;

  5. 下载完成后解压,得到如下图所示的图标:

  6. ffmpeg移到/usr/local/bin/ffmpeg

  7. 终端界面,可运行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