ਪਾਈਪ ਕੀਤੇ FFmpeg ਇਨਪੁਟ ਵਿੱਚ ਪ੍ਰੌਕਸੀ ਡਾਊਨਲੋਡਰ ਦੀ ਹੁੰਦੀ ਹੈ
ਜਦੋਂ FFmpeg ਨੂੰ ਸਿਰਫ਼ ਬਾਈਟਾਂ ਦਾ ਪਾਈਪ ਮਿਲਦਾ ਹੈ ਤਾਂ ਪ੍ਰੌਕਸੀ ਨੂੰ ਮੀਡੀਆ ਲਿਆਉਣ ਵਾਲੇ ਪ੍ਰੋਗਰਾਮ ਉੱਤੇ ਰੱਖੋ।
ਜਦੋਂ FFmpeg pipe:0 ਪੜ੍ਹਦਾ ਹੈ ਤਾਂ ਇਸ ਦਾ ਇਨਪੁਟ ਪ੍ਰੋਟੋਕੋਲ ਪਾਈਪ ਹੁੰਦਾ ਹੈ। ਜੇ curl ਨੇ ਮੀਡੀਆ ਲਿਆਂਦਾ ਹੈ ਤਾਂ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ curl ਨੇ ਖੋਲ੍ਹਿਆ ਹੈ ਅਤੇ ਉਸੇ ਨੂੰ ਪ੍ਰੌਕਸੀ ਸੰਰਚਨਾ ਮਿਲਣੀ ਚਾਹੀਦੀ ਹੈ।
ਲਗਾਤਾਰ MPEG-TS ਇਨਪੁਟ ਲਈ, ਇੱਕ Bash ਪਾਈਪਲਾਈਨ ਇਵੇਂ ਹੋ ਸਕਦੀ ਹੈ:
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
ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਜਨਤਕ ਮੀਡੀਆ ਡਾਊਨਲੋਡ ਲਈ, HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ curl ਦੇ ਪ੍ਰੌਕਸੀ URL ਲਈ ਉਮੀਦਵਾਰ ਦਿੰਦੀ ਹੈ। ਖਾਲੀ ਬਾਈਪਾਸ ਸੂਚੀ ਇਸ curl ਬੇਨਤੀ ਨੂੰ ਚੁਣੇ ਗਏ ਵਿਚੋਲੇ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਮਜਬੂਰ ਕਰਦੀ ਹੈ। pipefail ਉੱਪਰਲੇ ਪੱਧਰ ਦੀ ਡਾਊਨਲੋਡ ਅਸਫਲਤਾ ਨੂੰ ਵੀ ਪਾਈਪਲਾਈਨ ਦੀ ਐਗਜ਼ਿਟ ਸਥਿਤੀ ਵਿੱਚ ਬਚਾਉਂਦਾ ਹੈ।
FFmpeg ਦਾ http_proxy ਵਿਕਲਪ ਸਮਰਥਿਤ HTTP ਨੈੱਟਵਰਕ ਇਨਪੁਟਾਂ ਵਿੱਚ ਆਉਂਦਾ ਹੈ। ਇਹ ਕਿਸੇ ਹੋਰ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਸਿਰਫ਼ ਇਸ ਲਈ ਸੰਰਚਿਤ ਨਹੀਂ ਕਰ ਸਕਦਾ ਕਿ ਉਸ ਪ੍ਰੋਗਰਾਮ ਦਾ ਆਉਟਪੁਟ FFmpeg ਵਿੱਚ ਪਾਈਪ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਜੇ ਡਾਊਨਲੋਡ FFmpeg ਨੇ ਕਰਨਾ ਹੈ, ਤਾਂ ਇਸ ਨੂੰ ਮੀਡੀਆ ਦਾ URL ਸਿੱਧਾ ਦਿਓ ਅਤੇ ਇਸ ਦੇ ਚੁਣੇ ਗਏ ਪ੍ਰੋਟੋਕੋਲ ਤੇ ਬਿਲਡ ਵੱਲੋਂ ਸਮਰਥਿਤ ਵਿਕਲਪ ਵਰਤੋ। HTTP ਇਨਪੁਟ ਲਈ, FFmpeg ਦਾ ਪ੍ਰੌਕਸੀ ਵਿਕਲਪ ਉਸ ਇਨਪੁਟ ਤੋਂ ਪਹਿਲਾਂ ਰੱਖੋ। ਪਾਈਪ ਵਿੱਚ ਆਮ ਫਾਈਲ ਖੋਜ ਵੀ ਨਹੀਂ ਹੁੰਦੀ, ਇਸ ਲਈ URL ਅਤੇ ਪਾਈਪ ਇਨਪੁਟ ਵਿਚਕਾਰ ਬਦਲਦਿਆਂ ਮੌਜੂਦਾ ਵਰਕਫਲੋ ਦੀਆਂ ਫਾਰਮੈਟ ਲੋੜਾਂ ਬਣਾਈ ਰੱਖੋ।