HTTP/HTTPS Proxy and FFmpeg

ffmpeghttpsPROXY

I need to use FFmpeg behind an HTTP/HTTPS proxy server. I'm using the following command line:

ffmpeg -v debug -http_proxy http://localhost:8888 -i "https://bitmovin-a.akamaihd.net/content/sintel/sintel.mpd"

The command succeeds, FFmpeg downloads the DASH manifest and initialization segments, but it doesn't do this through the proxy server.

I've found that if I change the URL to http, instead of https, it will download the manifest through the proxy, but the segments are not downloaded through the proxy. It seems likely that this is because the segments in the manifest are HTTPS.

How can I convince FFmpeg to use my proxy for HTTPS requests in addition to HTTP?

Best Answer

As per the source,

if (!strcmp(proto, "https")) {
    lower_proto = "tls";
    use_proxy   = 0;

so the ffmpeg command line option won't work.

However, the secure transport does appear to allow proxy use if you supply the path using an environment variable.

proxy_path = getenv("http_proxy");
...

if (use_proxy) {
    char proxy_host[200]...

I'll see if the CLI option can be added.

Related Question