每一帧都传输整张图片当然不行,即便是一张图片100kb,要达到20帧/秒的话传输带宽就需要2MB/S。
所以现在的远程桌面软件都是只传输差异部分。首先截第一张图,整张传过去,然后截第二帧图的时候,和第一帧对比,找出有差异的部分,只传输有差异的部分(同位置颜色不同的像素点)。由于桌面上的画面变化都较小,大部分时候只有鼠标的移动变化,差异部分会很小,实际传输的数据量很小。如果再把数据用算法进行压缩再传输就更美妙了
所以现在的远程桌面软件都是只传输差异部分。首先截第一张图,整张传过去,然后截第二帧图的时候,和第一帧对比,找出有差异的部分,只传输有差异的部分(同位置颜色不同的像素点)。由于桌面上的画面变化都较小,大部分时候只有鼠标的移动变化,差异部分会很小,实际传输的数据量很小。如果再把数据用算法进行压缩再传输就更美妙了
解决方案 »
- 有哪位用过可以抓屏的文本编辑器
- 托盘程序显示有标题和图表的信息
- 在vc6中资源选项卡的对话框中插入对话框的问题
- 使用GetPrivateProfileSectionNames读ini文件
- 关于WebBrowser释放内存的问题
- 我在CFormView当中想要使用CSplitterWnd类,请问我要怎么做?
- 如何用右键拖动对话框?100分相送,谢谢高手指教!
- 提取网页部分内容(比如抽取www.sohu.com页面上某个TABLE)并显示出来,怎么做?
- 请教odbc编程:怎么实现多form之间的转换啊??
- 一个比较麻烦的问题
- 视图客户区显示图片,滚动条如何设置?
- SDL在窗口改变大小后,画面卡住?
JPG已经差不多是压缩极限了,很多时候前后两帧JPG传输过去,大部分都是冗余数据,因为这两张图片上仅仅只是鼠标位置不同或是窗口上的文字变了一下,解决问题的关键是尽量避免冗余数据的传输。
录制为视频再传输很难做到画面的实时性。搞这个不花点功夫是不行的,网上有很多VC写的开源的远控、远程桌面软件,比如gh0st,可以看一看别人是怎么实现的。