Опцыя HTTP-проксі FFmpeg стаіць перад яе ўводам
Перадавайце http_proxy як опцыю пратакола ўводу і захоўвайце асобныя аргументы опцыі і значэння, калі праграма Java запускае FFmpeg.
Для ўводу 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 і магчымасці зборкі, калі паток выкарыстоўвае іншы транспарт.