我将如何制作屏幕录像机?

How would I go about making a screen recorder?

我了解 mp4 文件、AVI 文件等等。我也了解编码和压缩以及比特率。我不会说我是 c# 方面的专家,但我对它的理解足以使浏览器具有 cef sharp(Chromium Embedded FrameWork)。我想我会使用 FFMPEG 或 direct show,但我不明白其中的第一件事是诚实的,或者是否有它们的 .NET 包装器(如果没有,我可能会感到惊讶) .我做了研究,但 none 回答了我的问题。

DirectShow 可用于此。它是一个框架,您可以在其中将设备、编解码器和文件编写器连接为图形中的节点,其中边是它们之间的数据流。

您可以在 MSDN 站点上学习 DirectShow,并且有一个名为 DirectShow.NET and also a graph editing application GraphEditPlus 的很好的 C# 包装器,您可以在其中使用鼠标构建此类图形,查看所有相关属性和匹配的过滤器,然后它可以生成 C#使用上述 .NET 库构建图形的代码。 Windows SDK 包含一些示例过滤器,我记得有一个过滤器示例用于捕获屏幕并将其转换为可以提供给编解码器和文件编写器的视频流。