基于PC的视频通讯系统开发
——流媒体传输控制子系统

2011-10-25 07:57杨铭辉
大众科技 2011年3期
关键词:聊天通讯音频

杨铭辉

(广东省国防工业职工大学,广东 广州 510420)

基于PC的视频通讯系统开发
——流媒体传输控制子系统

杨铭辉

(广东省国防工业职工大学,广东 广州 510420)

视频通讯作为信息时代一种崭新的多媒体通讯方式,以其经济、快捷、不受地域限制等特性,日益受到人们的欢迎。视频通讯系统是计算机网络、数据库、多媒体及网络技术的不断发展的产物,流媒体技术是新兴的一种网络技术,是在因特网中采用媒体数据流式传输的技术,通常采用RTP、RTCP、RTSP协议作为传输和控制协议,支持实时广播和点播。

视频通讯系统;流媒体;流式传输

自1844年电报正式用于公众通讯开始,至今已有167年的历史。在这 167年当中,人类的通讯方式大大的发生了改变。从电话、移动通信到网络的使用,在通讯领域,人类越来越体验着更加便捷、生动的沟通方式,人类结束了由牛车、马车送信的历史,完成了异地间的话音通讯。从通讯发展的趋势来看,单一的语音已不能满足人们对通迅的要求,将语音、数据、图像综合起来将成为未来人们通信的主要方式。计算机多媒体技术和网络技术的飞速发展使得视频通讯系统的广泛应用成为可能。利用视频通讯系统,可以使远在千里之外的人们在一起召开各种会议,或与相隔很远的亲朋好友互相视频聊天。视频通讯系统除提供通常的语音电话功能外,还能够实时接收远程传送的图像及其它数据资料。可以说,视频通讯系统有着非常广泛的应用前景。

(一)视频通讯系统的发展概况

视频通讯系统以其需求的广泛性满足了各类群体的需要。第一类是企业和机关。对于企业和机关来说,视频通讯系统更多地被用来传递商务信息、政务信息,处理工作事务。第二类是个人,这是一群时尚群体和需要亲情沟通的人群,视频通讯系统对于他们来说不仅是一种体验,也是一种沟通的需要。对市场而言,在这两类人群中,前者具有更多的商业价值,而后者却代表了视频通讯产品的方向和潜力。

从1990年视频通讯技术起步至今的10多年中,视频通讯主要应用于多点会议电视、远程医疗、远程监控等领域。由于建设成本高、网络要求严、组网能力弱、操作难度大、设备兼容性差等因素,传统的视频通讯系统始终无法广泛地被市场所接受,是名符其实的“贵族”通讯手段。 随着视频通讯系统的普及,在IP技术以及IP网络的带动下,已经表现出系统组网灵活、管理集中高效、网络建设成熟、终端成本低廉、业务种类多样等运营特性,政府部门、公安、税务、气象、水利等领域的应用更为广泛,视频通讯已经脱下了贵族化的外衣。目前个人视频应用发展迅猛,通讯的视频化正在形成,视频这一贵族化的产品应用终于进入寻常百姓家,穿上了老百姓的家常衣服,而这一切无疑得益于互联网的迅猛发展。宽带网络的迅速普及和服务的不断提高、完善,一方面为视频技术突破提供了一个良好的应用环境,另一方面也刺激了用户对视频的个性化需求,基于IP的视频系统以前所未有的速度占据了主流市场,而且伴随着国际互联网的成熟,开始了它的“平民化”道路。现在,支持IP的视频终端越来越便宜,越来越多的网民使用摄像头,网上已经有越来越多的视频聊天俱乐部。有数据显示,目前国内40%的QQ用户通过网吧沟通,由视频应用所拉动的新一轮宽带网络的增长,将促进整个宽带产业链的良性循环。视频通信行业的收入在科技领域中增长最为迅速,这种爆炸式的增长反映了在技术品质上的不断飞跃,其中包括便捷、实时的通信、CD品质的音效以及多媒体功能。此外,IP网络、基于IP的语音以及基于IP的视频将极大降低视频通信的成本。可以说,一个新的“视频时代”已经到来。

(二)基于PC的视频通讯系统的设计

首先对基于PC的视频通讯系统进行分析,目的是设计一个应用程序,来实现即时的文字通讯、音/视频通讯和数据传输等功能;并且为了安全需求,要对用户登陆和权限进行设置,在这里用到了数据库访问功能。

先设计的是用户登陆部分。这部分工程以ACCESS创建的User.mdb为数据源,数据源里要包括用户名和密码,权限管理部分,然后在新建的工程里通过 ADO连接到数据源。不同的用户可以拥有不同的权限使用和管理,可以根据用户名来设计此类权限。登陆后为主程序部分,在主程序里要实现即时文字通讯、音/视频通讯和数据传输等功能,所设计的主程序界面上共五个按钮,分别为“视频音频调节”、“视频音频请求”、“文字聊天”、“文件传输”、“帮助”以及“退出”。

1.用户登录

主要由用户交互接口、权限生成模块、加密解密模块和数据访问模块4部分组成。这4部分的关系如图1所示。

图1 登录模块的结构

当用户开始登录系统时,系统首先显示用户登录界面(用户交互接口)等待用户的信息输入。用户输入用户名和密码并确认后,用户交互接口从数据访问模块中读取原始的用户信息(用户名、密码等),并通过调用加密解密模块进行加密解密处理后对密码进行校验,并根据校验结果用权限生成模块生成权限控制模块。

2.视频通讯

“视频音频调节”和“视频音频请求”用来实现音/视频通讯功能,这一部分采用微软实时通信(RTC)API创建接口来实现。实时通信API为任何基于Microsoft Windows XP的应用程序提供了基于个人计算机的通信性能——即时消息、音视频通讯,在处理实时通信事件和处理实时流会话事件中实现。用户先进行音、视频调节后,通过单击“视频音频请求”按钮来输入IP来请求对方的应答。

3.文字通讯

这一部分也采用微软实时通信(RTC)API创建接口来实现,属于处理实时流会话事件。

4.数据通讯

“文件传输”是用来实现两用户间进行数据传输的功能。由于这部分采用基于TCP/IP的Winsock编程。单击此按钮后会出现文件传输界面,两用户间一个作为服务器端,另一个作为用户端进行连接后就可以实现文件的传输功能。端口号可以在1024以上自由设定。

5.帮助

对软件的使用介绍以便用户能够快速掌握软件的使用方法。

6.退出

图2 基于PC的视频通讯系统的框图

(三)流媒体技术概述

流媒体是指在 Internet中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。这个词英文是“StreamingMedia”,中文翻译为“流媒体”。流媒体把连续的影像和声音信息经过特殊的压缩方式分成一个个压缩包,由视/音频服务器向用户计算机连续、实时地传送。让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自己的机器后才可以观看。该技术先在用户端的电脑上创造一个缓冲区,于播放前预先下载文件的一小段数据作为缓冲,播放程序取用这一小段缓冲区内的数据进行播放。在播放的同时,多媒体文件的剩余部分在后台继续下载填充到缓冲区。这样,当网络实际连线速度小于播放所耗用数据的速度时,可以避免播放的中断,也使得播放品质得以维持。所以流媒体最显著的特征是“边下载、边播放”。与传统多媒体相比,流媒体具有以下优点:

1.启动延迟大幅度地缩短

用户不用等待所有内容下载到硬盘上才开始浏览。一般来说,一个 45分钟的影片片断在 1 分钟以内就能够显示在客户端上,而且在播放过程中一般不会出现断续的情况。另外,全屏播放对播放速度几乎无影响,但快进、快倒时需要时间等待。

2.对系统缓存容量的需求大大降低

由于 Internet 是以包传输为基础进行断续的异步传输,数据被分解成许多包进行传输,动态变化的网络使各个包可能选择不同的路由,故到达用户计算机的时间延迟也就不同。所以,在客户端需要缓存系统来弥补延迟和抖动的影响以及保证数据包传输顺序的正确,使媒体数据能连续输出,不会因网络暂时拥堵而使播放出现停顿。虽然流式传输仍需要缓存,但由于不需要把多媒体文件所有的动画、视/音频内容都下载到缓存中,因此,对缓存的要求大大降低了。

3.流式传输的实现有特定的实时传输协议

采用 RTSP 等实时传输协议,更加适合动画、视/音频在网上的流式实时传输。流媒体的应用领域十分广泛。

(四)流媒体实现原理及视频通讯中流媒体应用

简单地说,就是通过采用高效的压缩算法,在降低文件大小的同时伴随质量的损失,让原有的庞大的多媒体数据适合流式传输。然后通过架设流媒体服务器,修改 MIME 标识,利用各种实时协议传输流数据。流媒体实现原理图如图 3所示。

图3 流媒体实现原理

为实时视频通讯的界面,以下为界面中相应的控制:

ID 号 控件 标题 作用IDC_SILENCEL Button 静音 扬声器静音功能IDC_SILENCEM Button 静音 麦克风静音功能IDC_DISCONECTION Button 断开 中断当前的视频 通讯窗口IDC_ADJUSTL slider 调节扬声器大小IDC_ADJUSTM slider 调节麦克风大小

1.视频通讯中实时流媒体事件的处理

在建立视频通讯后,实时流传输之前需要先处理流媒体事件来取得流媒体的类型,然后取得事件类型和原因,再把消息发送到会话窗口。此工程中可以使用 get_MediaType()方法接收用于音频、视频、T120和实时转送协议(RTP)事件的消息,如:

2.视频通讯中的实时流强度控制

在视频通讯流媒体传输过程中强度事件是当扬声器或者麦克风设备的强度等级改变的时候发生的事件。应用程序可以使用get_Direction()函数获得改变的音频设备。当所用的设备被确定之后,应用程序可以取得当前的设备属性和处理改变。在视频进行的时候可以通过控件来改变音量的大小。程序控制如下:

3.视频通讯中实时流客户事件

流媒体传输中的客户事件类型可能包括关闭连接或者闲置状态事件等。下面的程序代码则说明了客户事件是如何被处理的:

(五)文字聊天功能中的流媒体传输应用

下表为文字聊天中的各功能的详细控件说明:

ID 号 控件 标题 作用IDC_RECORD Button 聊天记录 显示聊天内容记录IDC_CLEAR Button 清空 清空聊天内容IDC_SEND Button 发送 将聊天信息发送出去IDC_END Button 结束 关闭当前文字聊天窗口IDC_WINDOW Edit Box 显示当前聊天内容

1.文字聊天中的实时流媒体传输

在两个用户间建立了文字聊天之后,也就是建立了实时流媒体传输。如果要处理各种可能的流媒体事件过程为首先取得流媒体类型,然后取得事件类型和原因,然后把消息发送到会话窗口。在此工程中可以使用get_MediaType()方法来接收用于音/视频、T120和实时转送协议(RTP)事件的消息,类似如下:

2.文字聊天中的实时流状态控制

在文字聊天中流传输会话状态的改变遵循和其他实时通信事件一样的过程。会话状态改变可向客户端通知一条即时消息。如下面程序所示:}

3.文字聊天中流媒体传输客户事件

在流媒体传输中的来自于客户端的客户事件类型可能包括类似关闭连接或者闲置状态等事件。下面的程序代码则说明了客户事件是如何被处理的:

(六)小结

本文介绍了基于PC的视频通讯系统的分析设计,在对相关资料进行收集调研后,对系统的组成原理和相关功能进行了分析。并利用VC++设计了主程序及相关的各子系统,包括音/视频通讯子系统、文件传输子系统等。还对网络中的流媒体技术进行详细的研究分析,对流媒体技术、流媒体传输协议、流媒体中应用的编解码进行了介绍。所设计的基于PC的视频通讯系统具有操作简单易懂、界面简洁等优点。一台基本配置的个人PC即可利用本系统实现网上多人间的视频通讯等系列功能。宽带网络的飞速发展为视频技术发展提供了一个良好的环境,同时网络用户对视频的需求性不断增强,越来越多的视频通讯技术不断成熟发展并为人们服务,可以预见视频通讯有着广泛的发展潜力。

[1] 蒲在毅,钟乐海.流媒体传输控制的性能评价及其优化[J].长春师范学院学报,2006(25).

[2] 范俊辉,田斌,陈强.流媒体实时传输技术的研究[J].电子科技,2005(195).

TN919.8

A

1008-1151(2011)03-0016-03

2010-12-26

杨铭辉(1979-),男,广东茂名人,广东省国防工业职工大学助教,助理工程师。

猜你喜欢
聊天通讯音频
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
基于Daubechies(dbN)的飞行器音频特征提取
我就是不想跟你聊天了
音频分析仪中低失真音频信号的发生方法
敞开门聊天
通讯简史
Pro Tools音频剪辑及修正