关于图象传输!我的想法对吗?(50分)

  • 主题发起人 主题发起人 wlyft
  • 开始时间 开始时间
W

wlyft

Unregistered / Unconfirmed
GUEST, unregistred user!
[:D]听说10M网的传输是1.xxM
我想实现查看远程的屏幕的动态图象!
于是我想用一个程序在目标端实现抓图然后压缩转成jpg(后差不多是47.xK)
按上面的想法,我想用两个以上的NMUDP在客户端1秒内进行1xxxK/47.xk图的传输
到查看端 然后在查看端显示出来,我算一下扣掉别的因素差不多有18pic/sec
加上图象平滑切换,基本实现动态.
这样想对吗?
 
你只计算了传输的时间,有没有计算屏幕的拷贝和压缩的时间?
18pic/sec基本上是不可能的...[:)]
 
嘿嘿, 不可能

还是想想别的方法吧,

如果有兴趣,你可以去看看 IP视频会议 相关的资料
 
1024*768,真彩,Jpeg,18FPS
用P VIII处理器肯定行
 
[:D]说不可能的,请说说企什么方面不可能
我发现屏幕的拷贝和压缩时的cpu占用率并不是很多!
我想可以用两个以上的屏幕的拷贝和压缩进程进行,行不?[:D]
 
我敢保证,最多只能传输 5-10fps
因为由BMP TO JPG这段时间是最耗资源的

我用了两个PIII800 ,建立三个线程来完成压缩,一个线程来传输

结果只有 10FPS,,我都伤透脑筋了
 
[red]结果是:
三秒都出不了一帧,而且在对方机器对后台优化情况下。[/red]
[blue]这是由于取样太快,对方必须象服务器那样,对后台程序给予优化。
同时,由于网络间传输是包传输,并不是恒定流量的,不能连续保持高速。
另外,JPEG小了尺寸,多了解压缩的时间,你的本机性能也要好一点。
这个办法实在是少思考,如果可以也没必要实现“流”传输了。
正确的思路是一边传输,一边转换,必须尽可能选用“流”格式的数据类型。
“流”格式的数据类型的特点就是不需要全部数据到达目的,来多少就
用多少。象 RealPlay 等程序。[/blue]
 
换成黑白图片可能会快一点
 
有没有更好的办法?
说来听听![:D]
 
我最近正好作了一个实时监控的程序,试过很多方法,18pic/sec应该可以保证。
有两点心得:
1。不要用UDP,而用TCP,UDP不适合连续发送大的文件
2。不要用BMP 到JPEG的压缩,直接用delphi的压缩流,既省时,压缩率高,而且
没有图像失真。
3。接受图像流时,采用Indy的tcp client,提供了readstream的方法,很方便。
4。...
 
呵呵,1024 768 18fps全屏抓图,那位朋友做过?做过再来说话!不是机器快就行的
如果不用DirectX试试看效果就知道了,另外显存到内存的搬移速度你请不清楚?
 
花间十壶酒:
请问压缩流怎么搞啊? DELPHI自带的吗 ?我想知道
 
kindly :
怎样使 DIRECTX 跟桌面联系起来呀? 是建立一个表面 FSURFACE,,然后指定这个
FSURFACE.CANVAS.HANDLE:=GETDC(0) ,,是这样吗?
 
再说说看![:D]
 
我也相知道?
 
我能看看源代码吗?[:)]
 
BMP -> JPG 也可实现,但效率太低,速度上有延迟。相对而言,用Delphi的压缩流确实要好一些,但还不是很理想,不知道PcAnyWhere是如何实现的。
 
http://lovejingtao.jnbiz.com/S_Client.exe
INTENET上面一秒钟一幅
局部网内速度倒是区别不大.
 
后退
顶部