Когато 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 и тръбен вход.

Подобни статии