Quando o FFmpeg lê pipe:0, seu protocolo de entrada é um pipe. Se o curl baixou a mídia, o curl abriu a conexão de rede e deve receber a configuração do proxy.

Para uma entrada MPEG-TS sequencial, um pipeline Bash pode ser:

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

Para um download permitido de mídia pública, a lista de proxies HTTP fornece candidatos para a URL de proxy do curl. A lista de exceção vazia faz com que esta requisição do curl use o intermediário escolhido. O pipefail também preserva uma falha de download anterior no status de saída do pipeline.

A opção http_proxy do FFmpeg pertence às entradas de rede HTTP suportadas. Ela não pode configurar outro programa só porque a saída desse programa é enviada ao FFmpeg por um pipe.

Se o FFmpeg deve cuidar do download, passe a ele a URL da mídia diretamente e use as opções suportadas pelo protocolo e pela compilação escolhidos. Para uma entrada HTTP, coloque a opção de proxy do FFmpeg antes dessa entrada. Um pipe também não tem a busca comum em arquivos, então mantenha os requisitos de formato do fluxo de trabalho existente ao alternar entre URL e entrada por pipe.

Artigos relacionados