De downloader bezit de proxy in een gepijpte FFmpeg-invoer
Zet de proxy op het programma dat media ophaalt wanneer FFmpeg alleen een pijp bytes ontvangt.
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.