Az FFmpeg HTTP-proxy kapcsolója a bemenete előtt áll
Add át az http_proxy-t bemeneti protokoll-kapcsolóként, és a Java-alkalmazásból indított FFmpeg esetén tartsd külön a kapcsolót és annak értékét.
Olyan FFmpeg-bemenetnél, amelyet a HTTP protokollja kezel, a proxy kapcsolót a bemenet elé tedd:
ffmpeg -http_proxy http://proxy.example:8080 \
-i 'https://media.example/input.mp4' \
-c copy output.mp4
A -http_proxy választja ki a bemenet HTTP-kapcsolatának közvetítőjét; az HTTP-proxy listából származó végpont jelölt egy nyilvános médiaútvonalra. A -i továbbra is a médiaerőforrást nevezi meg. A copy kapcsoló a kimeneti adatfolyamokra vonatkozik, és nem állítja be a hálózati útvonalat.
Javában is tartsd a kapcsolót és az URL-t külön folyamatargumentumként:
var command = new ProcessBuilder(
"ffmpeg",
"-http_proxy", "http://proxy.example:8080",
"-i", inputUrl,
"-c", "copy", outputPath
);
A további argumentumokat átadó burkolónak ugyanerre a két token közti különbségre van szüksége. Az az egyetlen karakterlánc, amely egyszerre tartalmazza a -http_proxy-t és annak értékét, nem az a kapcsoló és érték pár, amelyet az FFmpeg vár.
A héj által az URL csoportosítására használt idézőjelek nem válhatnak szó szerinti karakterekké a ProcessBuilder argumentumlistájában.
A HTTP-proxy kapcsoló nem általános SOCKS-beállítás, és nem állít be egy nem kapcsolódó RTSP/UDP bemenetet sem. Ha az adatfolyam más átvitelt használ, ellenőrizd a kiválasztott FFmpeg-protokollt és a build képességeit.