如果我向url
提供http
,例如:
ffmpeg -i http://vjs.zencdn.net/v/oceans.mp4 videojs.mp4
完美无缺。但是,当我向url
提供https
时,例如:
ffmpeg -i https://s3-us-west-2.amazonaws.com/bucket/check.mp4 video.mp4
这给了我一个错误:
找不到https协议,用openssl,gnutls或者重新编译FFmpeg securetransport已启用。 https://s3-us-west-2.amazonaws.com/bucket/check.mp4:协议没有 结果
我该怎么做才能启用https?
答案 0 :(得分:12)
截至2015年9月,该问题的正确答案是
./configure --enable-openssl
如果您有ubuntu,请确保sudo apt-get install libssl-dev
。
答案 1 :(得分:11)
答案可以在错误消息中找到。
使用openssl重新编译FFmpeg,...
因此,请使用必需的依赖项重新编译ffmpeg
。
您可以详细了解流程here,在步骤./configure
中,只需添加--with-openssl
即可。
确保您已安装这些软件包:build-essential
,openssl
,libssl-dev
在评论中,您说您正在使用Ubuntu,因此您可以使用apt-get install
轻松安装这些软件包。
安装完成后,您可以执行ffmpeg -protocols
以确保列出https
。
顺便说一句,您的视频(AWS
)可以通过http
协议进行访问。
答案 2 :(得分:8)
添加--enable-openssl to the ./configure line
。
--with-openssl
目前无效。
这是我的全部内容:
$ ./configure --prefix="$HOME/scr1/ffmpeg_build" --extra-cflags="-
I$HOME/scr1/ffmpeg_build/include" --extra-ldflags="-
L$HOME/scr1/ffmpeg_build/lib" --bindir="$HOME/scr1/bin" --pkg-config-
flags="--static" --enable-gpl --enable-nonfree --enable-libfdk-aac --
enable-libfreetype --enable-libmp3lame --enable-libopus --enable-
libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-openssl