FFmpeg ਦਾ HTTP ਪ੍ਰੌਕਸੀ ਵਿਕਲਪ ਇਸਦੇ ਇਨਪੁਟ ਤੋਂ ਪਹਿਲਾਂ ਆਉਂਦਾ ਹੈ
http_proxy ਨੂੰ ਇਨਪੁਟ ਪ੍ਰੋਟੋਕੋਲ ਵਿਕਲਪ ਵਜੋਂ ਦਿਓ ਅਤੇ Java ਐਪਲੀਕੇਸ਼ਨ ਵੱਲੋਂ FFmpeg ਸ਼ੁਰੂ ਕਰਦੇ ਸਮੇਂ ਵਿਕਲਪ ਅਤੇ ਮੁੱਲ ਦੇ ਆਰਗਿਊਮੈਂਟ ਵੱਖਰੇ ਰੱਖੋ।
FFmpeg ਦੇ ਜਿਸ ਇਨਪੁਟ ਨੂੰ ਇਸਦਾ HTTP ਪ੍ਰੋਟੋਕੋਲ ਸੰਭਾਲਦਾ ਹੈ, ਉਸ ਇਨਪੁਟ ਤੋਂ ਪਹਿਲਾਂ ਪ੍ਰੌਕਸੀ ਵਿਕਲਪ ਰੱਖੋ:
ffmpeg -http_proxy http://proxy.example:8080 \
-i 'https://media.example/input.mp4' \
-c copy output.mp4
-http_proxy ਇਨਪੁਟ ਦੇ HTTP ਕਨੈਕਸ਼ਨ ਲਈ ਵਿਚੋਲਾ ਚੁਣਦਾ ਹੈ; HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਵਿੱਚੋਂ ਇੱਕ ਐਂਡਪੌਇੰਟ ਜਨਤਕ ਮੀਡੀਆ ਰਸਤੇ ਲਈ ਉਮੀਦਵਾਰ ਹੈ। -i ਅਜੇ ਵੀ ਮੀਡੀਆ ਸਰੋਤ ਦਾ ਨਾਮ ਦਿੰਦਾ ਹੈ। copy ਵਿਕਲਪ ਆਉਟਪੁਟ ਸਟ੍ਰੀਮਾਂ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ ਅਤੇ ਨੈੱਟਵਰਕ ਰਸਤਾ ਕਨਫਿਗਰ ਨਹੀਂ ਕਰਦਾ।
Java ਵਿੱਚ ਵੀ ਵਿਕਲਪ ਅਤੇ URL ਨੂੰ ਵੱਖਰੇ ਪ੍ਰੋਸੈਸ ਆਰਗਿਊਮੈਂਟ ਵਜੋਂ ਰੱਖੋ:
var command = new ProcessBuilder(
"ffmpeg",
"-http_proxy", "http://proxy.example:8080",
"-i", inputUrl,
"-c", "copy", outputPath
);
ਵਾਧੂ ਆਰਗਿਊਮੈਂਟ ਦੇਣ ਵਾਲੇ ਰੈਪਰ ਨੂੰ ਵੀ ਉਹੀ ਦੋ ਟੋਕਨਾਂ ਦਾ ਫ਼ਰਕ ਚਾਹੀਦਾ ਹੈ। -http_proxy ਅਤੇ ਇਸਦਾ ਮੁੱਲ ਦੋਵੇਂ ਇੱਕ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਰੱਖਣਾ ਉਹ ਵਿਕਲਪ ਅਤੇ ਮੁੱਲ ਜੋੜੀ ਨਹੀਂ ਹੈ ਜਿਸਦੀ FFmpeg ਉਮੀਦ ਕਰਦਾ ਹੈ।
URL ਨੂੰ ਸਮੂਹਿਤ ਕਰਨ ਲਈ shell ਵੱਲੋਂ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਹਵਾਲਾ ਚਿੰਨ੍ਹ ProcessBuilder ਦੀ ਆਰਗਿਊਮੈਂਟ ਸੂਚੀ ਵਿੱਚ ਸ਼ਬਦੀ ਅੱਖਰ ਨਹੀਂ ਬਣਨੇ ਚਾਹੀਦੇ।
HTTP ਪ੍ਰੌਕਸੀ ਵਿਕਲਪ ਆਮ SOCKS ਸੈਟਿੰਗ ਨਹੀਂ ਹੈ ਅਤੇ ਇਹ ਅਸੰਬੰਧਿਤ RTSP/UDP ਇਨਪੁਟ ਵੀ ਕਨਫਿਗਰ ਨਹੀਂ ਕਰਦਾ। ਜਦੋਂ ਸਟ੍ਰੀਮ ਕੋਈ ਹੋਰ ਟਰਾਂਸਪੋਰਟ ਵਰਤਦੀ ਹੈ ਤਾਂ ਚੁਣਿਆ FFmpeg ਪ੍ਰੋਟੋਕੋਲ ਅਤੇ ਬਿਲਡ ਸਮਰੱਥਾ ਜਾਂਚੋ।