Коли 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-проксі дає кандидатів для проксі-URL curl. Порожній список обходу змушує цей запит curl використовувати обраного посередника. pipefail також зберігає збій завантаження вище за потоком у статусі виходу конвеєра.

Опція http_proxy у FFmpeg належить до підтримуваних мережевих входів HTTP. Вона не може налаштувати іншу програму лише тому, що її вивід подається в FFmpeg через конвеєр.

Якщо завантаження має виконувати FFmpeg, передайте йому URL медіа напряму й використовуйте опції, які підтримує обраний протокол і збірка. Для входу HTTP поставте опцію проксі FFmpeg перед цим входом. Конвеєр також не має звичайного пошуку у файлі, тому зберігайте вимоги до формату наявного робочого процесу, перемикаючись між URL і конвеєрним входом.

Схожі статті