AVCON 会议系统U 盘录像问题解决方案

2013-12-09 02:09尧,丁
关键词:清空磁盘视频会议

陈 尧,丁 浩

(湖北民族学院 科技学院,湖北 恩施445000)

1 AVCON 会议系统

随着Internet 的普及和电子商务、政府办公等工程的广泛应用,使信息技术已经成为整个社会经济和企业生存发展的重要基础,视频会议系统在企业、政府、教育等部门的信息化建设中就占据了重要位置,其它诸如检察院、法院、公安和水利等职能部门也成为了视频会议系统的重要用户[1].AVCON(Audio Video Conference)会议系统,是利用视、音频压缩技术及点到多点的通信技术,构筑在IP 网络上的全新会议解决方案.该系统不同于传统的视频应用系统,它不需要固定的线路和固定的会议地点、不依赖于固定的设备和昂贵的硬件投资,与会者只需在会议室、办公室里或家中,随时随地,用一台笔记本电脑或PC,连上网络,通过公用网络,连接到互联网,就可以和各地的商业伙伴和同行进行数据、音频及视频的交流通讯[2]. 由于该系统在终端和服务器端采用纯软件的解决方案,终端仅仅是通过客户端软件,而服务器端是虚拟的大型视频应用中心.通过该系统,无论多远,还是多少人都可以在这里进行会议交谈、演讲、报告或个人之间的无障碍交流,体验前所未有的实时、高质量的交互式音频和视频体验,并能为用户节约人力、物力,以低投入获得高收益[3].

2 U 盘录像问题的产生

AVCON 会议系统及方案已广泛应用于政府、金融、企业、教学、医疗、军队等各个领域,独特的产品、强大的多媒体数据功能、出众的视音频质量以及系统的高稳定性,轻松便捷的操作方式,得到各领域用户的广泛赞誉,并给各部门的工作带了极大的方便,提高了工作效率[4].但工作人员现今多使用U 盘等移动设备,为了方便快捷得到视频数据,采用U 盘录像应用相当广泛,但该系统采用U 盘录像,会出现系统界面冻结、停滞现象.该现象的存在,给系统的使用带来了极大的不便,本文着重解决该问题.对于U 盘的录像,不得使系统界面冻结、停滞,并且保证录像成功、有效.

3 U 盘录像冻结测试

3.1 测试环境

为了保证测试数据的有效性、可靠性,现设置软硬件环境如下:①该系统使用的软件:AVCON 会议系统V5.0.25,Windows XP SP2 操作系统;②硬件环境:AVCON 会议系统CS-1500,U2 嘉年华摄像头;③视频设置:视频编码采用H264 格式,视频分辨率设为352×288,传输速率为384kbps,网络环境为局域网,并设置速度优先,软件勾选图像去噪.

3.2 测试详情

1)对会议进行U 盘录像.选取普通U 盘进行各项操作测试.测试结果如表1 所示.

表1 U 盘会议录像测试数据Tab.1 U disk video conference test data

2)对视频进行U 盘录像.由于对会议录像发现爱国者U 盘会出现界面停滞的情况,遂使用该U 盘对单个视频进行U 盘录像.采用爱国者U 盘(无病毒),登录系统,对本地视频进行U 盘录像.CPU 占用率为19%左右,测试结果为界面停滞.

3.3 测试结论

在对会议和视频进行U 盘录像时,普通U 盘确实会有程序界面冻结、停滞现象.

4 录像冻结问题的分析

1)对程序输出日志进行跟踪,输出日志信息部分代码:

根据上述输出的日志信息分析,录像时界面会出现冻结现象可能是由m_ulDataSize += m_AVCFile.Write(dataFrame.pData,dataFrame.nLen)该语句时间过长引起.

经跟踪代码和查阅相关资料[5],发现文件IO 流自带4K 的缓冲区,存在该缓冲区满时的临界点处理引起程序界面冻结的问题,遂在fwrite 函数之后调用fflush 清空缓冲区,调用清空缓冲区函数后经测试,程序界面不再冻结[6].

2)根据1)的分析与处理,可采用不使用该缓冲区,同样可避免缓冲区满时临界点的处理,使用setvbuf函数达到此目的,经修改程序并测试,程序界面不再冻结.

5 录像冻结解决方案

5.1 不使用缓冲区

取消文件缓冲区可用setvbuf 函数.具体修改如下(黑体):

由于没有使用缓冲区,每次调用fwrite 函数时直接将数据写入了文件,增大了磁盘开销.

5.2 直接清空fwrite 缓冲区

即每次调用fwrite 函数时,调用一次fflush()函数.具体修改如下(黑体):

经测试验证,该速度比方案5.1 快.查找的相关资料也证实了这一点:Calling setvbuf()with the modeparameter of _IONBF eliminates this problem by unbuffering the stream,but file I/O will be slower[5].

虽然使用了缓冲区,但由于每次都调用了fflush(),即使缓冲区中数据不多的时候也清空缓冲区,增大了磁盘开销.

5.3 必要的时候清空fwrite 缓冲区

由于上述两种解决方案都增大了磁盘开销,遂在方案的基础上加以改进,在缓冲区即将满时清空缓冲区,以避免缓冲区满时系统的处理造成程序界面卡的问题.经查阅相关资料[7],WINDOWS 下缓冲区大小为4096 字节,或者通过FILE 结构体的成员来获得:

具体修改如下(黑体):

该方案磁盘开销小于方案5.1 和方案5.2.但是,在一定程度上增大了磁盘开销,此增大开销是对比系统默认情况.

6 结语

综合以上问题的提出、测试、分析以及采取的解决方案,虽然5.3 方案在一定程度上也增大了磁盘开销,但却解决了U 盘录像时程序界面冻结的问题,在此情况下,此方案不失为一个折衷的较好的办法.

[1] 吴德道,徐苏,罗晶.AVCon 视频会议的研究与实现[J].计算机与现代化,2006(2):81-84.

[2] 李崇荣,张轩.基于IP/multicast 视频会议技术在远程教育中的应用[J].清华大学学报:自然科学版,2003,43(1):129-131.

[3] 李超,柴文磊,刘劲松.高清视频会议系统技术浅析[J].信息安全与技术,2010(10):50-51.

[4] 王中元,胡瑞敏,常军,等.基于压缩域的多路视频流混合方法[J].高技术通讯,2012,22(1):42-47.

[5] 刘振宪.MSDN 与视频软件开发[J].电脑编程技巧与维护.2005(5):54-56.

[6] 彭文标,易庆林,李海军,等.远程视频会议系统的设计与实现[J].电视技术,2009,33(10):79-82.

[7] 尚晓薇,林奕.一种基于闪存的缓冲区管理算法[J].计算机与现代化.2013(11):74-76.

猜你喜欢
清空磁盘视频会议
省农办主任暨三农重点工作推进视频会议
很萌!熊孩子清空7万元购物车
解决Windows磁盘签名冲突
民政部召开民政领域社会工作推进视频会议
修改磁盘属性
磁盘组群组及iSCSI Target设置
清空你的购物车是我的温柔
创建VSAN群集
清空购物车了吗!
浅谈远程视频会议系统的构建