定位问题
使用 php-ffmpeg
组件截取https的网络视频时发现,抛出异常 unable to probe https://xxx.mp4
。
在命令行直接执行 ffprobe 命令 ffprobe https://xxx.mp4
。
结果报错如下:
https protocol not found, recompile FFmpeg with openssl, gnutls or securetransport enabled.
https://xxx.mp4: Protocol not found
G了一番发现是 ffmpeg 编译时未启用 openssl 的问题。
解决
对于这个问题,需要卸载重新编译安装。配置时需要附带 --enable openssl
。如果使用 ubuntu 系统,需要在编译安装前执行 sudo apt-get install libssl-dev
,确保 libssl-dev
存在
./configure --prefix=/usr/local/ffmpeg --enable-openssl
make && make install
若 ./configure 时 报错
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相关命令设置为全局命令
vi /etc/profile
在最后PATH添加环境变量,保存退出
PATH\=$PATH:/usr/local/ffmpeg/bin
export PATH
source /etc/profile 设置生效
ffmpeg -version 查看版本
最后,执行一下ffprobe https://xxx.mp4
发现无报错,能正常执行。
补充:
参考文章
https://stackoverflow.com/que...
https://www.cnblogs.com/rxboo...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。