Из того, что я знаю, нет никаких требований к формату видео, которое будет помещено в именованный канал. Вы можете положить все, что может открыть ffmpeg. Например, я разработал программу с использованием библиотек ffmpeg, которая считывала видео h264 из именованного канала и извлекала из него статистику - именованный канал был заполнен другой программой. Это действительно очень хорошее и чистое решение для непрерывного видео.
Теперь, что касается вашего случая, я считаю, что у вас есть небольшая проблема, поскольку именованный канал - это всего лишь один файл, и ffmpeg не сможет узнать, что в одном файле несколько изображений! Поэтому, если вы объявите именованный канал как входной, ffmpeg будет считать, что у вас есть только одно изображение - недостаточно хорошее ...
Одно из решений, которое я могу придумать, - объявить, что в вашем именованном канале есть видео - поэтому ffmpeg будет непрерывно читать из него и сохранять или передавать его в потоковом режиме. Конечно, вашей C-программе потребуется сгенерировать и записать это видео в именованный канал ... Это не так сложно, как кажется! Вы можете конвертировать ваши изображения (вы не сказали нам, в каком они формате) в YUV и просто писать одно за другим в именованном канале (YUV-видео - это серия изображений YUV без заголовков - также вы можете легко конвертировать из BPM в YUV, просто проверьте запись в Википедии на YUV ). Тогда ffmpeg будет думать, что именованный канал содержит простой YUV-файл, так что вы можете, наконец, прочитать его и сделать с ним все, что захотите.