FFmpeg HTTP tarpinio serverio parinktis yra prieš jos įvestį
Perduokite http_proxy kaip įvesties protokolo parinktį ir išlaikykite atskirus parinkties ir reikšmės argumentus, kai Java programa paleidžia FFmpeg.
FFmpeg įvesčiai, kurią apdoroja jos HTTP protokolas, įdėkite tarpinio serverio parinktį prieš tą įvestį:
ffmpeg -http_proxy http://proxy.example:8080 \
-i 'https://media.example/input.mp4' \
-c copy output.mp4
-http_proxy pasirenka tarpininką įvesties HTTP ryšiui; galinis taškas iš HTTP tarpinių serverių sąrašo yra viešo medijos maršruto kandidatas. -i vis dar nurodo medijos išteklių. Parinktis copy susijusi su išvesties srautais ir nenustato tinklo maršruto.
Java taip pat laikykite parinktį ir URL atskirais proceso argumentais:
var command = new ProcessBuilder(
"ffmpeg",
"-http_proxy", "http://proxy.example:8080",
"-i", inputUrl,
"-c", "copy", outputPath
);
Apvalkalas, perduodantis papildomus argumentus, turi išlaikyti tą patį dviejų žetonų skirtumą. Viena eilutė, kurioje yra ir -http_proxy, ir jo reikšmė, nėra parinkties ir reikšmės pora, kurios tikisi FFmpeg.
Kabutės, kuriomis shell sugrupuoja URL, neturi tapti tiesioginiais ženklais ProcessBuilder argumentų sąraše.
HTTP tarpinio serverio parinktis nėra bendras SOCKS nustatymas ir nenustato nesusijusios RTSP/UDP įvesties. Kai srautas naudoja kitą transportą, patikrinkite pasirinktą FFmpeg protokolą ir kompiliavimo galimybes.