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?
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.
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
.
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