关于“远程监控中的屏幕最快传输”和“夸网NAT映射”的话题,有兴趣的可以进来一起讨论。 ( 积分: 50 )

  • 主题发起人 主题发起人 jiang5460
  • 开始时间 开始时间
尽量传输最少的数据就能达到最快。这需要你设计一种数据结构,以前看过有人的设计方法是每次都传输和前一次不同的地方,使得每一次传输的数据都达到最少,再经过一定的压缩,传输就能达到最快了
 
UltraVNC video hook driver这个就是国外开源的东西,UltraVNC驱动的代码我看过,效率很不错,现在很多人把这个国外开源的东西自己封装一下然后号称有多快的速度。
 
to 暮佳雨
UltraVNC video hook driver
你有这个东东吗,我写了一个把屏幕分成64块,根据每块跟前块不同来传输不同的小块到客户羰。但在局域网内感觉还是很慢的
 
UltraVNC听说过.但听说驱动部分是不开源的.
"这个东西是国外开源的项目"有没有URL?

取屏幕,如果从底层入手的话,Win98下一般是用DDI HOOK(90年代非常红火的多媒体教室抓取屏幕多用此办法,那时候还没有Win2000).而NT系统下有两种办法,一种是mirro driver.一种是Graphics Filter.从效率上面来说,Graphics Filter比Mirro速度和效率高很多.因为Mirro其实是虚拟显卡.

xiaoxinya:我那个其实修改自DDK SAMPLE下面的Mirro Driver例子.(安装DDK后就有了).留下信箱,我把代码发你自己编译吧.


===============================================================
Mirror


[This is preliminary documentation and subject to change.]

SUMMARY
This sample demonstrates how to use a driver to perform video mirroring. When video mirroring is active, each time the system draws to the primary video device at a location inside the mirrored area, a copy of the draw operation is executed on the mirrored video device in real time. With this mirroring scheme, you can simultaneously draw the same output to several video devices. Since the driver allocates memory dynamically for targets, the number of displays that your system can support depends on how much free memory you have at mirror-time.

This sample is designed to provide information on a standard, generic method of mirroring. This eliminates the need for special case-by-case solutions which were used before this support was added to the system. The sample runs only on the Microsoft?Windows?2000 platform. It features commented source code that documents in detail how the code works, to make it easy to modify and extend. Please note that this is the first version of the video mirror sample. Additional functionality may be added to the sample in future releases.

The sample is comprised of three pieces:


The display driver, in /Ntddk/Src/Video/Displays/Mirror/Dll.
The video miniport driver, in /Ntddk/Src/Video/Miniport/Mirror. The miniport driver included here is a skeleton. It simply returns success status for all miniport calls made by the system as there is no real hardware controlled by the mirror sample.
An application that is a sample user-mode service, in /Ntddk/Src/Video/Displays/Mirror/App.
For additional information about this sample and about mirror drivers in general, please see /Ntddk/Src/Video/Displays/Mirror/App/Readme.txt, and the Mirror Drivers topic in the Graphics Design Guide.

BUILDING THE SAMPLE
Install the driver by using the included .ini file, then run the sample application. The application will attach the driver to the desktop, and mirroring will be active. At present, the sample application is a command-line Win32 program.

Notes: The sample is x86 compatible. It also compiles correctly in the 64-bit environment. All aspects of the kernel-mode execution environment apply to the display and video miniport driver portions of this sample.

Top of page




© Microsoft Corporation 1999
 
其实要速度快.不一定需要驱动的.RA就没有用驱动.不过它的线程池用的不错.如果一定要驱动,建议找那个DDDK(Delphi版本的DDK开发包)带的例子看看.然后再用C的DDK.安装后代码位于/Ntddk/Src/Video/Displays/Mirror/目录下.不过那代码有些问题,需要自己作些修改.其实驱动也没啥难度的.不过很多人动不动就抬驱动出来吓小孩子.呵呵.
 
to jingtao
能给个地址下载,或者你有更好的访方法。大家继续讨论。
 
http://www.vckbase.com/tools/downtools.asp?id=31
安装时选择全部安装.就有Mirro驱动的例子代码了.
 
说一下编译方法:
运行「开始」菜单/程序/Development Kits/Windows 2000 DDK/Free Build Environment,出现类DOS窗口.然后切换到驱动代码目录.输入Build 或Build -Zc即可.注意:你的驱动代码目录不要带空格,否则会发生编译错误的.这是DDK的BUG.切记切记..有次我放在桌面,弄了半天.
 
jingtao: 能不能发些资料给我呢,我也想要,我在想了很多方法就是觉得速度还是有点点慢了,我看了你的例子,其中哪个可以:暴速屏幕传输,能传输VCD V1.2(NEW)本地很快,不知道你用什么访求。我要开发的是用于广域网与广域网外内的局域网内的某台机子传输。不知道你怎么看法的,能不能把你认为传得快的例子子给我呢,我的 Eamil:jzymail2008@163.com 在这里先谢谢了。
我的QQ:89461298 能媹下你的QQ吗。
 
驱动就是吓人啊 要是有人可以教教怎么做驱动的基础知识就好啦!!
 
这个贴本人再加100分来讲论,希望对这一方面有研究或想研究的都 来讨论,共同进步。
 
估计用得着播放视频文件的技术了,不就是在服务端录像,在客户端映像吗?中间传输数据时,还要用压缩格式。

不过如果又要用远程控制,可能就更麻烦了吧。

要不,学一学木马程序?
 
to jingtao:
我用了你的东西,在xp sp1和sp2下都报一个init Err的错误,委托公司测试部换了40台机器没有一台可以用的。不知道发布前你有没有测试过。

此外UltraVNC的驱动对普通人是不公开的,我从朋友那里得到过它的最新代码。如果你需要的话,我可以给你发一份,还有微软的mirro驱动对opengl和diretcx都不支持。
 
to 暮佳雨:
---
---"to jingtao:
我用了你的东西,在xp sp1和sp2下都报一个init Err的错误,委托公司测试部换了40台机器没有一台可以用的。不知道发布前你有没有测试过。

此外UltraVNC的驱动对普通人是不公开的,我从朋友那里得到过它的最新代码。如果你需要的话,我可以给你发一份,还有微软的mirro驱动对opengl和diretcx都不支持。"---
---
能顺便发一份给我吗,谢谢了!
我的EMAIL:jzymail2008@163.com
 
你直接用netmeeting的sdk来开发好了,或者移植vnc的代码
 
To jingtao:
谢谢..Email:xiao_xin_ya@163.com
麻烦发一下.早就想测试没有机会
 
暮佳雨:我当然是测试过的.程序运行时会释放出驱动然后安装.有些系统会弹出窗口提示"该驱动没有经微软签名认证.是否继续安装."(没钱给微软,它当然不会给你认证).可能你的同事选择了"否".所以当然Init失败了.注意:驱动安装好像需要有管理员权限的.麻烦发份UltraVNC的代码.谢谢:lovejingtao@21cn.com.另外,我那个MIRRO应该支持Directx的.因为作了处理的.呵呵.你可以测试那个网络版本的DEMO,然后播放VCD之类就知道了.

xiaoxinya:已发.请查收.
 
[:D],to jingtao:根本没有你说的“该驱动没有经微软签名认证.是否继续安装”出现,我现在出差在外,在我的笔记本上测试(dell d800 1.7G 512 xp sp2),照样还是出同样的错误,你的下载地址提供的demo确实没有一个能用的。
 
那就不清楚原因了.[:D]
很多人使用过.至今没发现此问题.如果真的在你的电脑无法使用,估计你安装微软DDK那个DEMO一样也无效的.[:D]
 
to 暮佳雨
to jingtao,]
能不能发份给我呢。谢谢了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部