我正在从我的c#代码中启动一个ffmpeg进程来提取单个视频帧。默认行为是将这些图像写入磁盘。
然而,为了加快处理速度,我希望将ffmpeg标准输出重定向到接收流并在我的程序中进一步处理它。
我使用类似于以下的参数:
-i \"" + Filename + "\" -vf \"scale=640:-1\" -an -vframes 100 -r 1 -f image2 -
这会将字节流重定向到标准输出,我可以使用process.StartInfo.RedirectStandardOutput = true
将其重定向到我的程序。
对于电影流来说,这可能很好用,因为我只有一个输出,但是上面的调用将产生10个单独的图像(在写入硬盘时),我该如何解析标准输出中的字节流并将其拆分成单个文件?