Kun FFmpegin syötettä käsittelee sen HTTP-protokolla, sijoita välityspalvelinvalitsin ennen tätä syötettä:

ffmpeg -http_proxy http://proxy.example:8080 \
  -i 'https://media.example/input.mp4' \
  -c copy output.mp4

-http_proxy valitsee välittäjän syötteen HTTP-yhteydelle; HTTP-välityspalvelinluettelon päätepiste on ehdokas julkiselle mediapolulle. -i nimeää edelleen mediaresurssin. copy-valitsin koskee tulostusvirtoja eikä määritä verkkopolkua.

Pidä Java:ssakin valitsin ja URL erillisinä prosessiargumentteina:

var command = new ProcessBuilder(
    "ffmpeg",
    "-http_proxy", "http://proxy.example:8080",
    "-i", inputUrl,
    "-c", "copy", outputPath
);

Lisäargumentteja välittävä kääre tarvitsee saman kahden tunnisteen eron. Yksi merkkijono, joka sisältää sekä -http_proxyn että sen arvon, ei ole se valitsimen ja arvon pari, jota FFmpeg odottaa.

Kuoren URL:n ryhmittelyyn käyttämät lainausmerkit eivät saa muuttua kirjaimellisiksi merkeiksi ProcessBuilderin argumenttiluettelossa.

HTTP-välityspalvelinvalitsin ei ole yleinen SOCKS-asetus eikä määritä asiaankuulumatonta RTSP/UDP-syötettä. Tarkista valittu FFmpeg-protokolla ja koontiversion ominaisuudet, kun virta käyttää toista siirtotietä.

Aiheeseen liittyvät artikkelit