FFmpeg's HTTP Proxy Option Precedes Its Input
Pass http_proxy as an input protocol option and preserve separate option/value arguments when a Java application launches FFmpeg.
For an FFmpeg input handled by its HTTP protocol, place the proxy option before that input:
ffmpeg -http_proxy http://proxy.example:8080 \
-i 'https://media.example/input.mp4' \
-c copy output.mp4
-http_proxy selects the intermediary for the input's HTTP connection; an endpoint from the HTTP proxy list is a candidate for a public media route. -i still names the media resource. The copy option concerns the output streams and does not configure the network route.
Keep the option and URL as separate process arguments in Java too:
var command = new ProcessBuilder(
"ffmpeg",
"-http_proxy", "http://proxy.example:8080",
"-i", inputUrl,
"-c", "copy", outputPath
);
A wrapper exposing extra arguments needs the same two-token distinction. A single string containing both -http_proxy and its value is not the option/value pair FFmpeg expects.
Quotes used by a shell to group a URL should not become literal characters in ProcessBuilder's argument list.
The HTTP proxy option is not a general SOCKS setting, nor does it configure an unrelated RTSP/UDP input. Check the selected FFmpeg protocol and build capabilities when a stream uses another transport.