FFmpegs HTTP-proxyvalgmulighed står før dens input
Send http_proxy som en inputprotokolvalgmulighed, og bevar adskilte argumenter for valgmulighed og værdi, når et Java-program starter FFmpeg.
For et FFmpeg-input, der håndteres af dets HTTP-protokol, skal du placere proxyvalgmuligheden før dette input:
ffmpeg -http_proxy http://proxy.example:8080 \
-i 'https://media.example/input.mp4' \
-c copy output.mp4
-http_proxy vælger mellemleddet for inputtets HTTP-forbindelse; et endepunkt fra HTTP-proxylisten er en kandidat til en offentlig medierute. -i angiver stadig medieressourcen. copy-valgmuligheden vedrører outputstrømmene og konfigurerer ikke netværksruten.
Hold også i Java valgmuligheden og URL'en som separate procesargumenter:
var command = new ProcessBuilder(
"ffmpeg",
"-http_proxy", "http://proxy.example:8080",
"-i", inputUrl,
"-c", "copy", outputPath
);
En wrapper, der eksponerer ekstra argumenter, har brug for samme skelnen mellem to tokens. En enkelt streng, der indeholder både -http_proxy og dens værdi, er ikke det valgmulighed/værdi-par, som FFmpeg forventer.
Anførselstegn, som en shell bruger til at gruppere en URL, bør ikke blive bogstavelige tegn i ProcessBuilders argumentliste.
HTTP-proxyvalgmuligheden er ikke en generel SOCKS-indstilling og konfigurerer heller ikke et urelateret RTSP/UDP-input. Kontroller den valgte FFmpeg-protokol og build-funktionerne, når en strøm bruger en anden transport.