Параметр 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 і можливості збірки, коли потік використовує інший транспорт.