Die HTTP-Proxy-Option von FFmpeg steht vor ihrer Eingabe
Übergib http_proxy als Eingabeprotokoll-Option und halte Option und Wert als getrennte Argumente, wenn eine Java-Anwendung FFmpeg startet.
Bei einer FFmpeg-Eingabe, die über ihr HTTP-Protokoll verarbeitet wird, setze die Proxy-Option vor diese Eingabe:
ffmpeg -http_proxy http://proxy.example:8080 \
-i 'https://media.example/input.mp4' \
-c copy output.mp4
-http_proxy wählt den Vermittler für die HTTP-Verbindung der Eingabe; ein Endpunkt aus der HTTP-Proxy-Liste ist ein Kandidat für eine öffentliche Medienroute. -i benennt weiterhin die Medienressource. Die Option copy betrifft die Ausgabeströme und konfiguriert nicht die Netzwerkroute.
Halte auch in Java die Option und die URL als getrennte Prozessargumente:
var command = new ProcessBuilder(
"ffmpeg",
"-http_proxy", "http://proxy.example:8080",
"-i", inputUrl,
"-c", "copy", outputPath
);
Ein Wrapper, der zusätzliche Argumente weitergibt, braucht dieselbe Unterscheidung zweier Tokens. Eine einzelne Zeichenkette, die sowohl -http_proxy als auch seinen Wert enthält, ist nicht das Option-Wert-Paar, das FFmpeg erwartet.
Anführungszeichen, mit denen eine Shell eine URL gruppiert, dürfen in ProcessBuilders Argumentliste keine wörtlichen Zeichen werden.
Die HTTP-Proxy-Option ist keine allgemeine SOCKS-Einstellung und konfiguriert auch keine unabhängige RTSP/UDP-Eingabe. Prüfe das gewählte FFmpeg-Protokoll und die Build-Fähigkeiten, wenn ein Stream einen anderen Transport nutzt.