Opțiunea de proxy HTTP a FFmpeg precede intrarea sa
Transmite http_proxy ca opțiune de protocol de intrare și păstrează argumente separate pentru opțiune și valoare când o aplicație Java lansează FFmpeg.
Pentru o intrare FFmpeg gestionată de protocolul său HTTP, plasează opțiunea de proxy înaintea acelei intrări:
ffmpeg -http_proxy http://proxy.example:8080 \
-i 'https://media.example/input.mp4' \
-c copy output.mp4
-http_proxy selectează intermediarul pentru conexiunea HTTP a intrării; un punct final din lista de proxy HTTP este candidat pentru o rută publică de media. -i indică în continuare resursa media. Opțiunea copy privește fluxurile de ieșire și nu configurează ruta de rețea.
Și în Java păstrează opțiunea și URL-ul ca argumente de proces separate:
var command = new ProcessBuilder(
"ffmpeg",
"-http_proxy", "http://proxy.example:8080",
"-i", inputUrl,
"-c", "copy", outputPath
);
Un wrapper care expune argumente suplimentare are nevoie de aceeași distincție între doi tokeni. Un singur șir care conține atât -http_proxy, cât și valoarea sa nu este perechea opțiune și valoare pe care o așteaptă FFmpeg.
Ghilimelele pe care un shell le folosește pentru a grupa un URL nu trebuie să devină caractere literale în lista de argumente a ProcessBuilder.
Opțiunea de proxy HTTP nu este o setare SOCKS generală și nu configurează o intrare RTSP/UDP fără legătură. Verifică protocolul FFmpeg ales și capacitățile de compilare când un flux folosește alt transport.