远程传输屏幕行为的方案!(讨论)

HunterForPig 2004-06-12 08:50:24
实现方式:
在网络上传输这一屏幕行为
每秒钟截屏12次!压缩成jpeg,
所以每截一次,传输图像数据一次

发现服务器端cpu使用率为100%,
晕了,不知还有何其它方法记录下屏幕行为,
或者降低cpu使用率!


谢谢!
...全文
2143 59 打赏 收藏 转发到动态 举报
写回复
用AI写文章
59 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
学习
ablewindy 2004-06-24
  • 打赏
  • 举报
回复
最近正在做这方面的东西,以下是我的一些实现心得:
截取屏幕(16位)->获得bmp数据->与前一次的bmp数据进行比较找出变化的多个以行为单位的变化区域外接矩形->将变化区域的矩形内数据进行压缩->传送
效果还算可以,特别是在变化区域较小时,速度挺快。

中间的几个问题:
   截取屏幕获得bmp数据占时间较多(GDI 100ms左右,就是那个BitBlt函数)
压缩算法的选择是个问题,通常压缩比较高的算法耗时和CPU都太大
我自己写了一个数据压缩算法:连续相同像素两WORD表示法--见笑,压缩时好时坏,屏幕色彩比较集中时压缩比例极高,屏幕较花是压缩比例极差--最大能达到压缩前的2倍(当然,这种情况我是不会去压缩的)。
   用UDP传送时容易丢包。

******************请问****************************
Mirror Driver是个什么东西啊!去学习先。怎么使用?
用HOOK怎么去钩到所有屏幕变化的消息啊!
H263,Mpeg压缩快吗?占CPU怎么样?怎么压缩?

截屏用DirectX就可以了,速度很快--DirectX怎么截屏?有代码吗?

=======================================
这是我开的帖子,诚邀各们屏幕传输高手讨论!
http://community.csdn.net/Expert/topic/3113/3113426.xml?temp=9.319484E-03

nightlocus 2004-06-24
  • 打赏
  • 举报
回复
to:Tomone(),你的这个图象一下就能传出去了吗,这么大的一个bmp:),你的效率如何呢?
nightlocus 2004-06-24
  • 打赏
  • 举报
回复
前不久也做过一个远程控制的小工具,谈一点自己的体会,觉得最重要的还是动态侦测变化的屏幕。
我采用的是H.263压缩,比mpeg要好的多。
Sander 2004-06-21
  • 打赏
  • 举报
回复
TO:yuanbocsut(打盹的神仙)
能否给一个PeerYou的连接。
kuibobo 2004-06-19
  • 打赏
  • 举报
回复
学到不少东西!

skyMountain 2004-06-19
  • 打赏
  • 举报
回复
专业的东西,咱们外行只有听讲的份。收藏……
dhttg 2004-06-19
  • 打赏
  • 举报
回复
学习学习
liuzhijun 2004-06-18
  • 打赏
  • 举报
回复
狂UP
chll 2004-06-18
  • 打赏
  • 举报
回复
听课。。。。。。
beipiao 2004-06-18
  • 打赏
  • 举报
回复
up
danielzhu 2004-06-18
  • 打赏
  • 举报
回复
PeerYou的源代码,自己去搜以下
danielzhu 2004-06-18
  • 打赏
  • 举报
回复
CSDN里的PeerYou ,
有这个应用
once168 2004-06-18
  • 打赏
  • 举报
回复
1.加入关键帧
2.如果是准备是做网络广播的话(如教学视频),可以采用多点负载,速度加快到logm(n)
PiggyXP 2004-06-18
  • 打赏
  • 举报
回复
向各位高人们学习^_^
leon7909 2004-06-17
  • 打赏
  • 举报
回复
學習
wqs_qiu_shi 2004-06-16
  • 打赏
  • 举报
回复
MPEG4我不了解.
如果你想搞教学的话.
你的屏幕可能是长时间不动的.你可以把整屏分成几包.
哪一包有变化你单独传那一包,没有变化就不用发包了.
这样就节省效率
蒋晟 2004-06-16
  • 打赏
  • 举报
回复
要速度快而且文字清晰的话,静态图像的RLE或者RFB压缩都是不错的,前提是关掉桌面以及不使用渐变效果等复杂界面。MPEG4有些算法配置得好的话也不会太模糊的,例如Windows Media Video 9和XDIVX/XVID都可以。
fbmsf 2004-06-16
  • 打赏
  • 举报
回复
mark!
大脚板 2004-06-15
  • 打赏
  • 举报
回复
截屏用DirectX就可以了,速度很快

压缩成MPEG4效果也不错,只是使用较大分辨率的时候很消耗CPU
使用jpeg有个问题比较难以解决,如何只传输变化的部分

最近也在研究这方面,望高人指点
加载更多回复(39)

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧