微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C# – 提取图像时解析ffmpeg标准输出

我通过从我的c#代码启动ffmpeg进程来提取单个视频帧.认行为是将这些映像写入磁盘.
但是为了加快处理速度,我想重定向ffmpeg标准输出以接收流并在我的程序中进一步处理它.

我使用类似的论点:

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

这会将字节流重定向到标准输出,我可以使用process.StartInfo.RedirectStandardOutput = true重定向到我的程序.

这可能适用于电影流,因为我只有一个输出,但上面的调用将产生10个单个图像(当写入硬盘时),如何从标准输出解析字节流并将其拆分为单个文件

解决方法

我找到了一个似乎有效的解决方案,但在 ffmpeg documentation中没有提到足够强烈:使用image2pipe作为输出格式.

所以对于上面的例子,它将是:

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

这会将字节流重定向到stdout,并允许捕获和解析图像

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐