За вход на 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 и възможностите на компилацията, когато потокът използва друг транспорт.

Подобни статии