دانلودکننده مالک پروکسی در ورودی لولهای 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 فراهم میکند. فهرست دورزدن خالی باعث میشود این درخواست curl از واسطه انتخابشده استفاده کند. pipefail نیز شکست دانلود در بالادست را در وضعیت خروج خط لوله حفظ میکند.
گزینه http_proxy در FFmpeg به ورودیهای شبکه HTTP پشتیبانیشده تعلق دارد. نمیتواند برنامه دیگری را فقط به این دلیل که خروجی آن برنامه از طریق لوله به FFmpeg داده میشود پیکربندی کند.
اگر FFmpeg باید دانلود را بر عهده بگیرد، نشانی رسانه را مستقیم به آن بدهید و از گزینههایی استفاده کنید که پروتکل و ساخت انتخابشدهاش پشتیبانی میکنند. برای ورودی HTTP، گزینه پروکسی FFmpeg را پیش از آن ورودی بگذارید. لوله جستوجوی معمول در فایل را هم ندارد، پس هنگام جابهجایی بین نشانی و ورودی لوله، الزامات قالب گردشکار موجود را حفظ کنید.