|
|||
![]() |
您现在的位置: 中国EDA技术网 >> 文章中心 >> 通信与网络 >> 通信与网络 >> 文章正文 | 用户登录 新用户注册 |
|
|||||
| 基于网络的多通道超宽视频系统的研究 | |||||
| 作者:吴增荣 孔… 文章来源:机电一体化 点击数: 更新时间:2007-8-31 | |||||
|
引言 近年来随着数字压缩技术、计算机及网络技术不断成熟和发展,人们对视频和网络有了更多的需求。现在的数字视频显示画面一般太小,无法适合众多观众的观看,而多通道超宽视频系统就是一种从实时切割输出、网络同步播放显示的基于网络的不同PC间同步播放多媒体文件的技术体系,是使用一组单通道的显示系统横向拼接起来的多通道超宽比例的特殊显示系统。它的拼接数目可以自由选择。本系统的多通道播放控制软件平台是在XP操作系统下VC++.net的编译环境中调试通过的。下面阐述其实现过程和方法。 系统方案 本系统的控制方式采用了如图1所示的星型总线拓扑结构,它不仅可以方便地进行多台PC的集中控制,而且还可方便地进行数据的传输及通过局域网连接进行控制,更好地实现了用户的一些特殊要求,例如结合Windows的其他软件实现对多台客户计算机的远程控制。 多媒体系统中的同步
图2 媒体对象之间的时序关系 媒体流之间同步的主要任务是保证不同媒体流之间的时间关系,例如视频和音频之间的时态关系、音频和文本之间的时态关系等。流间同步的复杂性与需要同步的媒体数目有关。媒体流内同步主要针对等时媒体(音频和视频)而言。本系统中的同步最重要的是对象间同步。 因为多媒体系统引入了许多时间相关性数据类型,而这些多媒体数据的时间相关性可能隐含在建立过程中(如活动视频图像序列),也可能是由用户定义的。时间相关性必须体现在多媒体系统中。另外在数据演示过程中。由于存储、通信和计 基于全局时间轴的同步是通过把相互独立的对象依附到一个时间轴上来描述,丢掉或更改一个对象不影响其他对象的同步。这种描述要维持一个全局时间 (world time)轴。每个对象可将此全局时间映射到局部时间,并沿此局部时间前进。当全局时间和局部时间误差超出一个给定范围时,则要求与全局时间重新进行同步。时间轴同步能较好地表达源于媒体对象内部结构的抽象定义。在这方面,它优于分层同步法,它定义了一个与视频流中某图像相关的说明文字的演示的起始位置,而不再要求有相关视频帧的知识。由于同步仅能基于固定的时间点定义,若媒体对象无确定的演示时间,这种方法就能力有限了。 在本系统中,由于我们采用时间轴同步法,所以需要在不同PC间通过网络传送播放时间的数据。我们采用了基于C/S(客户机/服务器)模式,其功能模块图如图3所示。
图3 系统功能模块框图 服务端功能模块主要有视频处理模块、服务器网络功能模块、用户管理模块等控制模块,它们都通过服务器应用程序被统一管理调用。客户端功能模块主要有客户机网络功能模块、视频处理显示模块、用户管理模块等,它们都通过客户机应用程序被统一管理调用。服务器和客户机之间通过网络进行相互通信控制和数据传输。 网络功能模块分为服务器网络功能模块和客户机网络功能模块。服务器网络功能模块主要负责监控前端视频播放时间数据的网上发送、对客户机请求的侦听及响应和对客户机控制信息的接收及处理等;客户机网络功能模块主要负责对服务器传来的视频播放时间数据的接收、对服务器请求连接和控制信息的发送等。这些都由软件实现,本软件使用VC++.Net,采用Windows套节字(WinSock),利用TCP/IP协议实现网络编程。在编程中,还利用了套节字的异步I/O模型及Windows多线程机制进行循环内存队列管理等方法。通过这些手段,较好地解决了实时视频播放时间数据传输中的各种问题。 实时视频处理 无论在服务器还是客户机应用程序中都有视频处理模块,其主要的功能是使多媒体系统能实时进行视频图像切割并显示出来。其实现方法如下: 在Windows系统中我们将使用微软提供的一些方法和类来实现实时视频图像切割播放的算法。首先将使用设备环境作为帧读取的缓冲区。设备环境是一个由图形设备接口管理的包含有设备信息的数据结构,所有对绘图函数的调用都要通过使用设备环境对象来完成。它封装了Windows的绘画函数,并允许在视窗中以设备的独立性来绘制图形。支持设备独立性的软件包括两个动态链接库:图形设备接口Gdi.dll和设备驱动程序。系统要将图像输出到对话框,就要得到对话框的设备环境,方法大体有两种:①在对话框类的函数中,用函数GetDC()得到一个对话框设备的指针;②以对话框的指针为参数生成一个设备环境对象,如CDChdc(this)。微软还提供了一些播放视频的函数(如DrawDibDraw函数),实现了将文件中读出的视频图像数据输出到显示缓冲区的某个区域,利用此函数可以将每帧图像切割,显示我们所要显示的画面(原来视频画面的一部分);而显示的图像数据可以以CBitmap的形式从显示器的设备环境中获得,其中CBitmap是微软提供的一个位图类,它封装了视窗的图形设备接口,并且提供了操纵位图的成员函数。 系统是在CPU为P4117GHz、VideoCard为NVIDIAQua 其具体程序如下: CDC hdc; 结束语 本系统采用多媒体同步技术,实现了基于网络通信的不同PC间进行同步通信播放影像文件和实时视频图像切割处理的功能,是一种性价比较高的解决方案。该系统对于网络视频、视频切割的研究提供了有意义的经验和借鉴。
|
|||||
| 文章录入:方丈 责任编辑:方丈 | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关文章 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 欢迎投稿 | 网站简介 | 网站地图 | 广告服务 |联系我们 | 友情链接 | 版权申明 | | |
| 本站所载文章力求原创,部分文章来源网上,转载本站文章均注明出处,我们鼓励原创,欢迎投稿 假如我们发布的某些文章侵犯了您的权益,请联系我们,我们将在最短的时间内删除相关文章。 同时我们提供了一个电子爱好者自由交流的平台,欢迎大家参与讨论。点击进入 |
|