Plaats voor een FFmpeg-invoer die door het HTTP-protocol wordt verwerkt de proxyoptie vóór die invoer:

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

-http_proxy kiest de tussenpersoon voor de HTTP-verbinding van de invoer; een eindpunt uit de HTTP-proxylijst is een kandidaat voor een openbare mediaroute. -i benoemt nog steeds de mediabron. De optie copy betreft de uitvoerstromen en configureert de netwerkroute niet.

Houd ook in Java de optie en de URL als aparte procesargumenten:

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

Een wrapper die extra argumenten aanbiedt, heeft dezelfde scheiding tussen twee tokens nodig. Eén tekenreeks met zowel -http_proxy als de waarde ervan is niet het optie- en waardepaar dat FFmpeg verwacht.

Aanhalingstekens die een shell gebruikt om een URL te groeperen, mogen geen letterlijke tekens worden in de argumentlijst van ProcessBuilder.

De HTTP-proxyoptie is geen algemene SOCKS-instelling en configureert ook geen niet-gerelateerde RTSP/UDP-invoer. Controleer het gekozen FFmpeg-protocol en de buildmogelijkheden wanneer een stream een ander transport gebruikt.

Gerelateerde artikelen