阿豪的个人博客网站_专注于web项目前端、后端、api接口、小程序、公众号、WordPress模板开发。

上帝想阻止邪恶,但却做不到?那么,他不是万能的。他是能做得到,但不愿意去做?那么,他是恶意的。难道他能做而且又愿意做?那么,邪恶从何而来?难道他既做不到又不愿意做?那么,为什么还称他为神呢? - 伊壁鸠鲁

Mac系统上安装FFmpeg

cd到存放目录并下载

cd /usr/local/src  
sudo git clone https://git.ffmpeg.org/ffmpeg.git

进入ffmpeg-4.3目录

cd /usr/local/src/ffmpeg-4.4
./configure --prefix=/usr/local/ffmpeg-4.4 --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-filter=delogo --enable-debug --disable-optimizations --enable-libspeex --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --cc=clang --host-cflags= --host-ldflags= --enable-libass --enable-openssl --enable-protocols --enable-protocol=https --extra-cflags="-I/usr/local/opt/openssl/include/" --extra-ldflags="-L/usr/local/opt/openssl/lib/"

如果报错nasm/yasm not found or too old. Use --disable-x86asm for a crippled build的话,先执行下面命令安装yasm然后再执行配置configure的命令。

brew install yasm

如果报错ERROR: libfdk_aac not found的话,先执行下面命令安装fdk-aac然后再执行配置configure的命令。

brew install fdk-aac

如果报错:ERROR: videotoolbox requested, but not all dependencies are satisfied: corefoundation coremedia corevideo 安装nv-codec-headers

git clone https://github.com/FFmpeg/nv-codec-headers.git
sudo make
sudo make install

错误:ERROR: openssl not found

为了使FFmpeg可以支持HTTPS协议,在已编译了OpenSSL的基础上,需要加的配置选项为:

--enable-openssl --enable-protocols --enable-protocol=https


但是在编译的过程中报错:openssl not found
这是因为编译过程中找不到已编译的OpenSSL库的路径,需要在配置选项中指定具体的路径:

--extra-cflags="-I/usr/local/opt/openssl/include/" --extra-ldflags="-L/usr/local/opt/openssl/lib/"

这样就可以成功将OpenSSL编译到FFmpeg中去了。

但是使用新的FFmpeg依然无法识别HTTPS协议,经过多次试验,在将–disable-everything这个选项去掉之后,就可以成功的识别HTTPS协议了。这是因为这个选项会将它之后的所有选项都禁用,这会导致OpenSSL即使编译成功也无法使用(编译选项的Individual componen列表中,HTTPS协议的允许在这个选项的下面)。

执行下面命令来安装

make
sudo make install

安装完成可使用全路径调用ffmpeg

/usr/local/ffmpeg/bin/ffmpeg -version // 查看版本信息

设置环境变量

// 编辑添加环境变量
vim ~/.bash_profile
// 在低部添加如下代码
export PATH=$PATH:/usr/local/ffmpeg/bin
// 保存后立即生效
source ~/.bash_profile

{{model.comment_total}} 条评论
Loading...
更多评论