C#-Анализ стандартного вывода ffmpeg при извлечении изображений

Я извлекаю отдельные видеокадры, запуская процесс ffmpeg из моего кода c #. По умолчанию эти образы записываются на диск. Однако, чтобы ускорить обработку, я хочу перенаправить стандартный вывод ffmpeg для получения потока и его дальнейшей обработки в моей программе.

Я использую аргументы, подобные этому:

-i \"" + Filename + "\" -vf \"scale=640:-1\" -an -vframes 100 -r 1 -f image2 -

Это перенаправляет поток байтов на стандартный вывод, который я могу перенаправить в свою программу, используя process.StartInfo.RedirectStandardOutput = true.

Это может хорошо работать для видеопотоков, так как у меня есть только один вывод, но приведенный выше вызов будет создавать 10 одиночных изображений (при записи на жесткий диск ), как я могу проанализировать поток байтов из стандартного вывода и разбить на отдельные файлы?

5
задан leepfrog 8 May 2012 в 20:03
поделиться