För en FFmpeg-indata som hanteras av dess HTTP-protokoll placerar du proxyalternativet före den indatan:

ffmpeg -http_proxy http://proxy.example:8080 \
  -i 'https://media.example/input.mp4' \
  -c copy output.mp4

-http_proxy väljer mellanhanden för indatans HTTP-anslutning; en slutpunkt från HTTP-proxylistan är en kandidat för en offentlig medierutt. -i anger fortfarande medieresursen. Alternativet copy gäller utdataströmmarna och konfigurerar inte nätverksrutten.

Håll även i Java alternativet och URL:en som separata processargument:

var command = new ProcessBuilder(
    "ffmpeg",
    "-http_proxy", "http://proxy.example:8080",
    "-i", inputUrl,
    "-c", "copy", outputPath
);

Ett omslag som exponerar extra argument behöver samma åtskillnad mellan två token. En enda sträng som innehåller både -http_proxy och dess värde är inte det alternativ- och värdepar som FFmpeg förväntar sig.

Citattecken som ett skal använder för att gruppera en URL ska inte bli bokstavliga tecken i ProcessBuilders argumentlista.

HTTP-proxyalternativet är inte en allmän SOCKS-inställning och konfigurerar inte heller en orelaterad RTSP/UDP-indata. Kontrollera den valda FFmpeg-protokollen och byggfunktionerna när en ström använder en annan transport.

Relaterade artiklar