论文部分内容阅读
随着网络通信的迅速发展,流媒体技术在网络教学、视频会议、视频监控等领域的应用给人们带来了极大的便利和乐趣。在上述这些应用中,如何将本地计算机的屏幕显示数据实时、清晰、流畅地传输到远程端是必须要解决的问题。本文以微软流媒体传输系统为基础,采用流媒体相关技术、Windows Media编程技术,以及多线程等技术对计算机屏幕的捕捉与传输进行了研究与实现。
本文所研究的技术当前主要应用于北京工业大学课堂直播与交互系统中,与当前市场上相关技术相比,其主要优点如下:首先,当前市场上的普通PC机即可支持其运行,无需购买额外的硬件;其次,网络流量较低,不会对校园网带宽造成大量占用;最后,支持WEB模式,可运行于当前主流版本的Windows操作系统上,通过在网页中嵌入Windows媒体播放器给用户提供友好美观的界面,用户不需要安装额外的脚本或者ActiveX控件即可观看。该技术可推广到视频会议、计算机监控等多个领域,应用广泛且具有很大的商业价值。
本文主要的研究内容如下:
1、首先分析网络流媒体应用中常用的流媒体技术,以及各个流媒体技术的相应特点,根据本课题实际情况选择合适的流媒体技术。
2、本文通过介绍流媒体技术原理、微软特有流媒体协议MMS,并根据当前课堂直播与交互系统的现状,提出了计算机屏幕捕捉与传输系统的模型及技术路线。
3、本文所实现的主要功能包括屏幕内容捕捉、屏幕位图数据的压缩编码、屏幕捕捉内容的即时预览、屏幕视频流保存为本地文件、网络实时传输以及屏幕采集软件的性能统计等。屏幕内容捕捉模块将Windows系统的钩子技术和定时器技术相结合,动态触发,采用创建屏幕DC的方法采集屏幕图像,优化了捕捉效率;屏幕捕捉模块得到的位图数据存储在缓冲区队列中,运用生产者/消费者的多线程模型使得屏幕内容采集和压缩编码并行处理。在压缩编码的过程中,可实时预览编码效果,同时可将屏幕视频流保存为本地文件,为以后的点播提供素材。编码形成的屏幕视频流通过“拉传递”和“推传递”的方式传输至流媒体服务器,客户端通过Windows媒体播放器连接流媒体服务器即可实时观看。同时,系统提供了各种参数对其性能进行统计,通过这些参数可清晰地了解系统运行的状况,为以后的系统优化提供了依据。
本文主要通过微软的Windows Media技术,开发了计算机屏幕捕捉与传输系统,将其嵌入到北工大原有课堂直播与交互系统中,是对原有系统的重大优化和完善。该课题系统达到了预期效果,成本低、清晰度高、运行稳定,且适用于当前主流Windows操作系统。