|
|
1
2
好啊这是一个疯狂的猜测,因为我从未尝试过。。。但这似乎是有道理的。我认为你应该使用英伟达CUDA。例如: 我想你可以从图像中创建纹理(在内存中),然后压缩它。在CUDA SDK中有一个 sample for DirectX Texture Compressor (DXTC):
您可以在内存中存储一些纹理(取决于视频内存的大小),然后将它们写入另一个线程上的磁盘/套接字。 这只是一个建议。。。我认为最好的方法是实现编码算法(参见 TMPGEnc )使用CUDA将负载从CPU移动到GPU,但这很棘手,需要大量工作。 |
|
|
2
1
我在搜索CUDA和屏幕截图时遇到了这个问题,我想我应该添加我的经验。过去我使用VNC和FFMPEG创建了一个解决方案。如果你看一下VNC协议,你会发现它使用一个新的映像进行基于delta窗口的传输。基本上,上一个屏幕+更改=新屏幕。唯一需要传递的是变化。你会发现很多技巧来最小化传输成本,还有很多不同的有效负载扩展来传输数据,这是一个很好的资源,即使你决定利用所获得的知识来使用自己的资源。一旦我们使用VNC移动像素数据,我们发现原始像素数据比jpeg数据对cpu来说更昂贵,因为缓冲区拷贝比压缩更昂贵。 |
|
|
3
0
|
|
|
4
0
对于我来说,使用ffmpeg+directshow屏幕捕获 device |