Quando FFmpeg legge pipe:0, il suo protocollo di input è una pipe. Se è curl ad aver scaricato il media, è curl ad aver aperto la connessione di rete e deve ricevere la configurazione del proxy.

Per un input MPEG-TS sequenziale, una pipeline Bash può essere:

set -o pipefail
curl --fail --silent --show-error \
  --proxy http://proxy.example.net:8080 --noproxy "" \
  'https://media.example.net/stream.ts' |
  ffmpeg -i pipe:0 -c copy output.ts

Per un download consentito di media pubblici, la lista di proxy HTTP fornisce candidati per l'URL del proxy di curl. La lista di esclusione vuota fa sì che questa richiesta curl usi l'intermediario scelto. pipefail conserva anche un errore di download a monte nello stato di uscita della pipeline.

L'opzione http_proxy di FFmpeg appartiene agli input di rete HTTP supportati. Non può configurare un altro programma solo perché l'output di quel programma viene inviato a FFmpeg tramite una pipe.

Se il download deve farlo FFmpeg, passagli direttamente l'URL del media e usa le opzioni supportate dal protocollo e dalla build scelti. Per un input HTTP, metti l'opzione proxy di FFmpeg prima di quell'input. Una pipe è anche priva della normale ricerca nel file, quindi mantieni i requisiti di formato del flusso di lavoro esistente quando passi tra URL e input tramite pipe.

Articoli correlati