Dla wejścia FFmpeg obsługiwanego przez jego protokół HTTP umieść opcję proxy przed tym wejściem:

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

-http_proxy wybiera pośrednika dla połączenia HTTP wejścia; punkt końcowy z listy proxy HTTP jest kandydatem do publicznej trasy mediów. -i nadal wskazuje zasób mediów. Opcja copy dotyczy strumieni wyjściowych i nie konfiguruje trasy sieciowej.

W Javie również trzymaj opcję i URL jako osobne argumenty procesu:

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

Nakładka udostępniająca dodatkowe argumenty potrzebuje tego samego rozróżnienia dwóch tokenów. Pojedynczy ciąg zawierający zarówno -http_proxy, jak i jego wartość nie jest parą opcji i wartości, której oczekuje FFmpeg.

Cudzysłowy używane przez powłokę do grupowania URL nie powinny stawać się dosłownymi znakami na liście argumentów ProcessBuildera.

Opcja proxy HTTP nie jest ogólnym ustawieniem SOCKS i nie konfiguruje niepowiązanego wejścia RTSP/UDP. Sprawdź wybrany protokół FFmpeg i możliwości kompilacji, gdy strumień używa innego transportu.

Powiązane artykuły