16
votes

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?

3

3 Answers

20
votes

The answer can be found in the error message.

Recompile FFmpeg with openssl, ...

So, recompile ffmpeg with the required dependencies. You can read more about the process here, and during the ./configure step, just add --enable-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 the http protocol.

15
votes

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.

9
votes

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