FFmpeg se HTTP-proxy-opsie staan voor sy invoer
Gee http_proxy as 'n invoerprotokolopsie en behou aparte opsie- en waarde-argumente wanneer 'n Java-toepassing FFmpeg begin.
Vir 'n FFmpeg-invoer wat deur sy HTTP-protokol hanteer word, plaas die proxy-opsie voor daardie invoer:
ffmpeg -http_proxy http://proxy.example:8080 \
-i 'https://media.example/input.mp4' \
-c copy output.mp4
-http_proxy kies die tussenganger vir die invoer se HTTP-verbinding; 'n eindpunt uit die HTTP-proxylys is 'n kandidaat vir 'n openbare mediaroete. -i wys steeds die mediabron aan. Die copy-opsie raak die uitvoerstrome en stel nie die netwerkroete op nie.
Hou die opsie en URL ook in Java as aparte prosesargumente:
var command = new ProcessBuilder(
"ffmpeg",
"-http_proxy", "http://proxy.example:8080",
"-i", inputUrl,
"-c", "copy", outputPath
);
'n Wrapper wat ekstra argumente blootle, het dieselfde onderskeid tussen twee tekens nodig. 'n Enkele string wat beide -http_proxy en sy waarde bevat, is nie die opsie-/waardepaar wat FFmpeg verwag nie.
Aanhalingstekens wat 'n dop gebruik om 'n URL te groepeer, moet nie letterlike karakters in ProcessBuilder se argumentlys word nie.
Die HTTP-proxy-opsie is nie 'n algemene SOCKS-instelling nie, en dit stel ook nie 'n onverwante RTSP/UDP-invoer op nie. Kontroleer die gekose FFmpeg-protokol en bouvermoens wanneer 'n stroom 'n ander vervoer gebruik.