U vstupu FFmpeg zpracovávaného protokolem HTTP umístěte volbu proxy před tento vstup:

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

-http_proxy vybírá prostředníka pro HTTP spojení vstupu; koncový bod z seznamu HTTP proxy je kandidátem pro veřejnou mediální trasu. -i stále označuje mediální zdroj. Volba copy se týká výstupních toků a nenastavuje síťovou trasu.

I v Javě udržujte volbu a URL jako samostatné argumenty procesu:

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

Obal, který předává další argumenty, potřebuje stejné rozlišení dvou tokenů. Jediný řetězec obsahující jak -http_proxy, tak jeho hodnotu není dvojice volby a hodnoty, kterou FFmpeg očekává.

Uvozovky, jimiž shell seskupuje URL, se nesmějí stát doslovnými znaky v seznamu argumentů ProcessBuilderu.

Volba HTTP proxy není obecné nastavení SOCKS a nenastavuje nesouvisející vstup RTSP/UDP. Když tok používá jiný transport, zkontrolujte zvolený protokol FFmpeg a možnosti sestavení.

Související články