mac+ffmpeg+php,mac下ffmpeg安装

可以通过两种方法安装。

一,使用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。所以编译的时候开启一下。

执行完后如果出现如下提示

f6990aee6c7f

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权限才行。

f6990aee6c7f

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值