mac下ffmpeg安装

时间:2021-6-9 作者:qvyue

可以通过两种方法安装。

一,使用brew来安装

//下载安装ffmpeg
$ brew install ffmpeg
//删除ffmpeg
$ brew remove ffmpeg

二,直接通过源码来安装
从官方下载源码
下载完成后,到源码路径下,执行如下命令,

$ ./configure --prefix=/usr/local/ffmpeg --enable-debug=3 --disable-static --enable-shared --enable-ffplay

其中 --prefix=后面跟的是ffmpeg安装路径,你也可以自己指定位置。
--enable-debug=3是打开debug模式,
--disable-static --enable-shared是指定生成动态库。
--enable-ffplay添加ffplay工具,手动编译新版本默认没带ffplay。所以编译的时候开启一下。
执行完后如果出现如下提示

mac下ffmpeg安装
image.png

要么按它说的更新或者安装masm/yasm后,再执行刚才的指令

$ brew install yasm

要么使用 --disable-x86asm,也就是在刚刚的指令后面拼接上这条指令

$ ./configure --prefix=/usr/local/ffmpeg --enable-debug=3 --disable-static --enable-shared --enable-ffplay --disable-x86asm

然后是执行

$ make -j 4//4相当于指定4核去工作
$ make install

当执行了make install指令后,可能会出现如下错误,那是因为权限问题,执行sudo make install输入电脑密码就可以了。这里需要root权限才行。

mac下ffmpeg安装
image.png

三,配置环境变量PATH

  • 使用brew安装的软件都是在/usr/local/Cellar目录下。
  • 刷新配置source ~/.bash_profile
  • bash_profile文件是在user目录下面
    1,可以直接命令行编辑
//1,打开bash_profile
$ vim ~/.bash_profile

//2,输入i,进入编辑模式,配置ffmpeg的环境变量
$ export PATH=/usr/local/ffmpeg/bin:$PATH

//3,点击esc,退出编辑模式,输入:wq,保存退出。
$ :wq

//4,执行source,刷新配置
$ source ~/.bash_profile

2,或者可以手动打开bash_profile文件编辑

//1,如果没有bash_profile文件创建,
$ touch ~/.bash_profile
//2,打开bash_profile文件
$ open ~/.bash_profile
//3,在文件中追加路径,`/usr/local/Cellar/ffmpeg/4.3_2`为ffmpeg的路径。
$ export PATH=/usr/local/Cellar/ffmpeg/4.3_2/bin:$PATH
//4,然后保存并刷新
$ source ~/.bash_profile

如果可以执行ffmpeg -version了说明可以了。
四,关于ffplay
1,安装SDL
最新版本编译默认ffplay是关闭的。如果是直接在./configure中加--enable-ffplay,可能会提示SDL的缺失。

那么要先安装SDL。

4.0之后需要的SDL2.0版本,下载地址。
下载完后直接解压或者用命令tar -xvf解压。
进入到解压后的文件夹目录下执行命令。

$ ./configure
$ make -j8
$ sudo make install

安装完毕之后,再次执行之前编译./confiure的命令,并且后面拼接上--enable-ffplay。也就是如下的样子

$ ./configure --prefix=/usr/local/ffmpeg --enable-debug=3 --disable-static --enable-shared --enable-ffplay
$ make -j8
$ sudo make install

依次执行完毕后,没问题的话就算是编译完成了。

2,编辑的时候遇到的其他问题:
配置环境变量的时候编辑了.bash_profile 文件,然后去执行source .bash_profile刷新配置的时候报错如下:

$ .bash_profile:export:30: not valid in this context: https://storage.flutter-io.cn

原因是上一次编辑配置其他环境的时候FLUTTER_STORAGE_BASE_URL=后面多了个空格,去掉就可以了。
3,直接在命令行输入ffmpeg指令报错segmentation fault,是因为环境变量没配置成功。重新配置一下就可以了。

segmentation fault ffmpeg -version
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。