När FFmpeg läser pipe:0 är dess indataprotokoll en pipe. Om curl hämtade mediet öppnade curl nätverksanslutningen och måste ta emot proxykonfigurationen.

För en sekventiell MPEG-TS-indata kan en Bash-pipeline se ut så här:

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

För en tillåten nedladdning av offentliga medier ger HTTP-proxylistan kandidater för curls proxy-URL. Den tomma förbikopplingslistan gör att denna curl-begäran använder den valda mellanhanden. pipefail bevarar också ett nedladdningsfel uppströms i pipelineens utgångsstatus.

FFmpegs http_proxy-alternativ hör till de stödda HTTP-nätverksindata. Det kan inte konfigurera ett annat program bara för att det programmets utdata skickas genom en pipe till FFmpeg.

Om FFmpeg ska sköta nedladdningen ger du den medie-URL:en direkt och använder de alternativ som stöds av dess valda protokoll och bygge. För en HTTP-indata, sätt FFmpegs proxy-alternativ före den indatan. En pipe saknar också vanlig filsökning, så behåll formatkraven i det befintliga arbetsflödet när du växlar mellan URL och pipad indata.

Relaterade artiklar