追踪解决FFmpeg没法操做https资源的问题

定位问题

使用 php-ffmpeg 组件截取https的网络视频时发现,抛出异常 unable to probe https://xxx.mp4php

在命令行直接执行 ffprobe 命令 ffprobe https://xxx.mp4
结果报错以下:html

https protocol not found, recompile FFmpeg with openssl, gnutls or securetransport enabled.
https://xxx.mp4: Protocol not found

G了一番发现是 ffmpeg 编译时未启用 openssl 的问题。ubuntu

解决

对于这个问题,须要卸载从新编译安装。配置时须要附带 --enable openssl。若是使用 ubuntu 系统,须要在编译安装前执行 sudo apt-get install libssl-dev ,确保 libssl-dev 存在网络

./configure --prefix=/usr/local/ffmpeg --enable-openssl
make && make install

若 ./configure 时 报错ui

nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.

需再附加--disable-x86asm编译安装,即命令行

./configure --prefix=/usr/local/ffmpeg --enable-openssl --disable-x86asm

将ffmpeg相关命令设置为全局命令code

vi /etc/profile

在最后PATH添加环境变量,保存退出视频

PATH\=$PATH:/usr/local/ffmpeg/bin
export PATH
source /etc/profile   设置生效
ffmpeg -version       查看版本

最后,执行一下ffprobe https://xxx.mp4发现无报错,能正常执行。htm

补充:
参考文章
https://stackoverflow.com/que...
https://www.cnblogs.com/rxboo...blog

相关文章
相关标签/搜索