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?


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.

| improve this answer | |
  • You can open a ticket at trac.ffmpeg.org – Gyan Apr 26 '18 at 15:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.