ffmpeg over https fails

2019-04-29 15:18发布

问题:

If I feed url with http, such as this:

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

It works perfectly. However, when I feed url with https, such as this:

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

This gives me an error:

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

What should I do to enable https?

回答1:

The answer can be found in error message.

Recompile FFmpeg with openssl, ...

So, recompile ffmpeg with required dependencies. You can read more about the process here, and during the step ./configure, just add --with-openssl.

Make sure that you have these packages installed: build-essential, openssl, libssl-dev

In the comments you said that you're using Ubuntu, so you can easily install these packages using apt-get install.

After installation, you can execute ffmpeg -protocols to make sure that you have https listed there.

By the way, your video (on AWS), can be accessed via http protocol.



回答2:

The correct answer to this question as of Sep 2015 is ./configure --enable-openssl and if you have ubuntu then make sure you sudo apt-get install libssl-dev.



回答3:

Add --enable-openssl to the ./configure line.

The --with-openssl does not work presently.

This is my whole line:

$ ./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


标签: https ffmpeg