Для ўводу FFmpeg, які апрацоўваецца пратаколам HTTP, змясціце опцыю проксі перад гэтым уводам:

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

-http_proxy выбірае пасрэдніка для HTTP-злучэння ўводу; канцавы пункт са спісу HTTP-проксі — кандыдат для публічнага маршруту медыя. -i па-ранейшаму называе медыярэсурс. Опцыя copy датычыцца выхадных патокаў і не наладжвае сеткавы маршрут.

У Java таксама трымайце опцыю і URL асобнымі аргументамі працэсу:

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

Абгортка, якая перадае дадатковыя аргументы, патрабуе таго ж адрознення двух токенаў. Адзін радок, што змяшчае і -http_proxy, і яго значэнне, не з'яўляецца парай опцыя і значэнне, якую чакае FFmpeg.

Лапкі, якімі абалонка групуе URL, не павінны станавіцца літаральнымі сімваламі ў спісе аргументаў ProcessBuilder.

Опцыя HTTP-проксі не з'яўляецца агульнай наладай SOCKS і не наладжвае непавязаны ўвод RTSP/UDP. Правярайце выбраны пратакол FFmpeg і магчымасці зборкі, калі паток выкарыстоўвае іншы транспарт.

Падобныя артыкулы