读书人

:实验室教学软件设计-屏幕录像及局域网

发布时间: 2012-02-06 15:52:44 作者: rapoo

求助:实验室教学软件设计--屏幕录像及局域网传输
缘由:由于实验室上课人数多加之投影仪效果不好,老师讲课时大屏幕上的内容很多同学看不清楚。
材料:实验室平均每两名同学配备一台电脑。
目的:设计一款软件,包括有客户端和服务端,由老师在服务端演示软件操作及PPT放映,客户端同步接收服务端主机画面并显示。

我是一名大三的学生,对软件很感兴趣并一直坚持学习C++,想做这个项目来锻炼一下自己,请各位朋友前辈就这个项目中的屏幕录像及局域网传输等问题提供一下思路。非常感谢!就项目的跟进讨论感兴趣的朋友可以关注我的博客http://blog.csdn.net/kicer,谢谢。

[解决办法]
这个比较复杂,很锻炼人,如果你真的认真做的话,客户端有视频解码播放,服务器端录像,数据发送还算简单,但也要考虑一对多发送。设计一种socket模式。局域网网速可能好点。视频处理的用DirectShow看能不能有现成的库,自己实现视频编解码难度太大了。
[解决办法]

探讨
这个比较复杂,很锻炼人,如果你真的认真做的话,客户端有视频解码播放,服务器端录像,数据发送还算简单,但也要考虑一对多发送。设计一种socket模式。局域网网速可能好点。视频处理的用DirectShow看能不能有现成的库,自己实现视频编解码难度太大了。

[解决办法]
这个由服务器主动发送比较好。你可以先试试一对一的方式,看效果如何。
[解决办法]
如果只是记录屏幕上的东西你可以考虑发送数据时做个简单的帧差压缩,因为很短的时间内,你截屏的图像不不一样的区域极少,一样的区域极多,能省很多带宽的
[解决办法]
屏幕推送?
screen push...
[解决办法]
首先要截取服务器的屏幕(截屏幕的速度自己定)。直接保存成位图数据发到客户端。

效率问题,将屏幕分解成8*8 或者16*16 的二维数组

小格子区域内容变化的画 才往客户端发送某一个格子的位图信息。客户端收到后只改变次格子位置的显示更新。

数据结构和协议需要自己设计。

关于鼠标的位置 截取屏幕貌似截取不到, 需要单独发送鼠标的位置变化的信息。


[解决办法]
探讨

这个比较复杂,很锻炼人,如果你真的认真做的话,客户端有视频解码播放,服务器端录像,数据发送还算简单,但也要考虑一对多发送。设计一种socket模式。局域网网速可能好点。视频处理的用DirectShow看能不能有现成的库,自己实现视频编解码难度太大了。

[解决办法]
我的见解:
1、既然在同一个网段内,可以用“广播”发送
2、可以采用异或算法,然后再压缩,这样速度会快一些
3、鼠标的位置截获不到,要单独处理
4、用消息队列,这样视频看起来会平滑一些
……

读书人网 >C++

热点推荐