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.

Relaterede artikler