2015-07-20 191 views
5

如果我喂urlhttp,比如这个:的ffmpeg通过https失败

ffmpeg -i http://vjs.zencdn.net/v/oceans.mp4 videojs.mp4 

它完美。然而,当我喂urlhttps,比如这个:

ffmpeg -i https://s3-us-west-2.amazonaws.com/bucket/check.mp4 video.mp4 

这给了我一个错误:

https protocol not found, recompile FFmpeg with openssl, gnutls, or securetransport enabled. https://s3-us-west-2.amazonaws.com/bucket/check.mp4 : Protocol not found

我应该怎么做,以启用HTTPS?

回答

6

答案可以在错误消息中找到。

Recompile FFmpeg with openssl, ...

因此,重新编译ffmpeg与所需的依赖关系。 您可以阅读更多关于here的流程,并在步骤./configure期间,只需添加--with-openssl即可。

请确保您已经安装了这些包:build-essentialopenssllibssl-dev

在你说你正在使用Ubuntu,所以你可以很容易地安装使用apt-get install这些软件包的意见。

安装完成后,您可以执行ffmpeg -protocols以确保您在此处列出了https

顺便说一句,您的视频(在AWS),可以通过http协议访问。

+0

是的,我要如何安装呢?我在一个virtualbox里面使用了ubuntu,但不是很擅长。请问你好吗? – Robin

+0

当然。请检查更新后的答案。 – vitozev

+0

对不起,但它仍然显示相同的错误。 – Robin

10

截至2015年9月,此问题的正确答案是 ./configure --enable-openssl如果您有ubuntu,请确保您的sudo apt-get install libssl-dev

+0

任何想法如何做到这一点openwrt? –

+1

@owengerig'opkg install openssl-util'?也许它是'libopenssl'? – Teque5

+0

这两个都已安装,但https未列为协议,错误相同。 ID认为我需要改变一个配置或用opensll重建 –

5

Add --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