FFmpegs HTTP-proxyalternativ kommer före dess indata
Skicka http_proxy som ett indataprotokollalternativ och håll alternativ och värde som separata argument när ett Java-program startar FFmpeg.
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.