【发布时间】:2009-09-01 08:13:35
【问题描述】:
有没有人致力于将屏幕捕获到视频流(存储在本地文件或发送到网络)?
我了解如何做到这一点,并且有几个测试解决方案可以工作 - 但我们很难实现良好的性能。我们需要在 CPU 已经被大量使用的计算机上捕获大约 4 兆像素的不断变化的文本和矢量图形屏幕空间。
通过将未压缩的 BMP 帧发送到网络可以实现可接受(尽管远非预期)的性能,但由于许多原因,至少一些现场压缩很重要。
关于如何使用尽可能少的处理能力进行编码的任何建议:可能是一个非常快的编解码器?或者一些避免在内存中复制图像的技巧?使用 DirectX 捕获屏幕(大部分屏幕都在 WPF 中)值得吗?
【问题讨论】:
-
为什么不发送 jpeg 或 png? jpeg 的编码对 CPU 来说是否过多?
-
是的,运动 jpeg 是一种可能性。但是我希望更好 - 它仍然比我认为的要多。毕竟,现代摄影相机使用其微型电池供电的编码器来管理帧间编码,我用 5% 的 CPU 无法实现同样的效果似乎很奇怪。
-
您需要捕获整个屏幕,还是只捕获特定(尽管可能是全屏)窗口的内容?
-
几个显示器上的几个大窗口。
标签: wpf video screenshot codec