РЕДАКТИРОВАТЬ : Спасибо Филу, который исправил ошибку в более ранней версии (см. Комментарии).
Используя bash
, вы можете сделать
ffmpeg ... | tee >(ffmpeg ...) >(ffmpeg ...) >(ffmepg ...) > /dev/null
Это передаст выходные данные первого ffmpeg
трем другим.
Если вы не используете bash
, вы можете вручную создать именованные каналы, подключить их к ffmpeg
процессам и использоватьtee
для передачи к именованным каналам:
mkfifo pipe1 pipe2
ffmpeg ... < pipe1
ffmpeg ... < pipe2
ffmpeg ... | tee pipe1 pipe2 | ffmpeg ...
rm pipe1 pipe2
Вышеприведенный код bash
делает в основном то же самое.Создание и удаление именованных каналов происходит прозрачно.