Wanneer FFmpeg pipe:0 leest, is het invoerprotocol een pijp. Als curl de media heeft opgehaald, heeft curl de netwerkverbinding geopend en moet het de proxyconfiguratie ontvangen.

Voor een sequentiële MPEG-TS-invoer kan een Bash-pijplijn er zo uitzien:

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

Voor een toegestane download van openbare media biedt de HTTP-proxylijst kandidaten voor de proxy-URL van curl. De lege bypasslijst zorgt ervoor dat dit curl-verzoek de gekozen tussenpartij gebruikt. pipefail bewaart ook een downloadfout stroomopwaarts in de exitstatus van de pijplijn.

De http_proxy-optie van FFmpeg hoort bij ondersteunde HTTP-netwerkinvoer. Hij kan geen ander programma configureren, alleen omdat de uitvoer van dat programma via een pijp naar FFmpeg gaat.

Als FFmpeg de download moet doen, geef het dan de media-URL rechtstreeks en gebruik de opties die zijn gekozen protocol en build ondersteunen. Voor een HTTP-invoer, zet de proxy-optie van FFmpeg vóór die invoer. Een pijp heeft ook geen gewoon bestandszoeken, dus behoud de formaatvereisten van de bestaande werkstroom wanneer je wisselt tussen URL en gepijpte invoer.

Gerelateerde artikelen