[讨论]在多媒体教学软件中实现的屏幕广播技术之屏幕截取与传输

ktcserver 2003-12-26 09:55:32
我们知道屏幕广播技术在教学领域,特别在计算机教学上起到非常好的作用。一般看来屏幕广播技术的核心技术主要集中在屏幕的截取以及传输上。要做到实时性强,屏幕色彩以及刷新速度与教师机一样是非常不容易的。
就目前所了解的解决方案中一般就截取画面而言,如果采用截取整个屏幕然后广播传输是不可取的,因为这样会增加网络传输的负担,传输的数据量大,实时性也不好。而另外的一种方案就是将屏幕分为若干区域通过判断屏幕中画面的不同区域的图象改变而将改变的部分通过网络传输。但这样做也会造成网络传输频繁,画面有时候会产生残留现象。
现在所讨论的就是除了这两种方法外还有没有其他的屏幕广播技术呢。我自己有一个思路现在可以和大家探讨一下:我们知道Windows绘制屏幕是通过API函数来实现的,我们是否可以拦截下Windows绘制屏幕的相关API函数以及其参数,然后通过网络传输到另外的计算机上,通过调用相同的函数来实现同样的绘制。这样传输的数据小了而且实时性也提高了。但关键的技术是,如何拦截Windows绘制屏幕的函数,如何重新在另外的计算机上重建这个绘制的过程。希望大家讨论。。
...全文
77 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenyongjie 2004-01-08
  • 打赏
  • 举报
回复
Mark一下
zjffq 2004-01-02
  • 打赏
  • 举报
回复
不知道NETMEETING算不算 ,我感觉 netmeeting 做得不错 速度也快 还能远程控制 究竟怎么实现的 我也想知道^_^
wangtao2003new 2004-01-02
  • 打赏
  • 举报
回复
好象.........................
蒋晟 2004-01-02
  • 打赏
  • 举报
回复
http://blog.joycode.com/jiangsheng/
remily 2004-01-02
  • 打赏
  • 举报
回复
可是如果使用BitBlt的话, CPU 占用率非常高,

如果想得到很好的图像的话, CPU占有量就是100%了,

如果用DirectX技术直接读取显存中的数据的话, CPU占用率不会很高

至于网络阻塞,在局域网里应该问题不大!~
jiangchun_xn 2004-01-02
  • 打赏
  • 举报
回复
关键不是从哪数据,无论如何读取屏幕的数据发送都是很慢得,数据量太大。

搂住的这个想法我也想过,不过马上放弃了,因为涉及到windows画图的函数太多,而且有很多图形函数并不是简单的一条画图指令,这样即使传过去,也很难面面俱到。
remily 2004-01-02
  • 打赏
  • 举报
回复
NetMeeting 是微软做的,肯定做的很N了

能不能用DirectX技术 直接从 显存中读取数据, 这样好像会好很多!
bullHEcow 2004-01-02
  • 打赏
  • 举报
回复
up
蒋晟 2003-12-27
  • 打赏
  • 举报
回复
是的
这样性能最好
ktcserver 2003-12-27
  • 打赏
  • 举报
回复
你的意思是说,利用驱动程序层的相关显示指令来实现?
ktcserver 2003-12-27
  • 打赏
  • 举报
回复
猫的说法似乎太硬件了一点,.NET的说法不知道如果不同显卡或者驱动程序不一样,会不会产生兼容性的问题?
aliker 2003-12-27
  • 打赏
  • 举报
回复
把显存里的东西搬出来,传过去。嘿嘿!
蒋晟 2003-12-26
  • 打赏
  • 举报
回复
可以,某些软件自己编写了一个mirror driver就可以完成这个功能,参见Windows DDK

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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