برای ورودی 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 به کار می‌برد نباید در فهرست آرگومان‌های ProcessBuilder به نویسه‌های تحت‌اللفظی تبدیل شوند.

گزینه پروکسی HTTP تنظیم عمومی SOCKS نیست و ورودی نامرتبط RTSP/UDP را نیز پیکربندی نمی‌کند. وقتی جریان از انتقال‌دهنده دیگری استفاده می‌کند، پروتکل انتخاب‌شده FFmpeg و قابلیت‌های ساخت را بررسی کنید.

مقالات مرتبط