Добрый день!
Столкнулся с различным поведением ffmpeg под Linux и под Win.
Что делаю - запускаю «ffmpeg -dframes 1 -r 1 -s 704x576 -i - -f image2 -», на стандартный вход ему скармливаю сырые данные, с выхода считываю результат - картинку. Всё замечательно работает под линем: пишем данные во входной поток процесса, закрываем этот поток (это вызывает обработку и появление данных в выходном потоке), считываем данные с выходного потока.
В винде же - облом. Закрывай - не закрывай (хоть все три) - ffmpeg «подвисает» - ждёт видимо ещё каких-то данных для обработки. В выходном потоке - пусто. Такое же поведение под линем, если не закрыть входной поток и залить мало данных. Принудительный flush ситуации не меняет... Может кто что дельного подскажет?