论文部分内容阅读
视频会议系统是一种高效的协同办公应用系统,它为地理位置分散的用户提供一个通过图形和声音等方式进行信息交流和共享的平台,能降低会议成本,具有很高的实际应用价值。随着网络、流媒体与HTML5技术的发展和终端处理能力的增强,很多视频会议系统开始提供Web方向的支持,以降低视频会议系统对软硬件的限制。某公司(文中称C公司)的视频会议系统是一个多终端和多协议的融合视频会议系统,在Web方面的采用Flex/Flash和RTMP协议实现直播和媒体同步播放功能,而目前Flash插件正在退出历史舞台,所以需要寻求一种不需要插件并满足低延迟和兼容性好的替代方案。本课题基于C公司HTML5视频会议直播需求对主流Web直播解决方案研究,利用RTMP协议和HTML5等技术设计并实现了一种新的解决方案,该方案不需任何插件且能保证较低的直播延迟,解除了RTMP直播对Flash的依赖,填补了HTML5下不使用插件进行RTMP直播播放的空白。此外本课题实现的方案还具有对原有系统改动小、方便扩展及部署和提供负载均衡支持等特点。本课题主要工作可概括如下:1、结合C公司视频会议系统需求,研究当前Web直播的主流解决方案和流媒体相关技术,主要包括RTMP协议、FLV、AAC、H.264和HTML5相关的技术等;2、结合需求为原视频会议系统设计新的直播解决方案,核心思想是利用边缘代理服务器,将RTMP流转为FLV Tag流,利用HTML5技术推送给客户端并进行解码播放;3、为方案设计并实现了一个独立、结构清晰、便于部署的轻量级代理服务器,其采用C、C++和多线程实现,并通过数据结构对RTMP资源等进行高度抽象;4、为方案设计并实现了一个模块化、方便扩展的FLV直播客户端,播放器完全采用HTML5技术和JavaScript实现;5、部署测试环境,并对实现的方案进行详细的功能和性能测试。测试结果显示本方案满足C公司的会议直播、媒体播放、直播记录、服务器状态查看功能需求。在分辨率640x480和帧率20fps的情况下整个直播延迟可达到129ms。RTMP播放延迟上比CKPlayer(Flash)低1075ms,比VLC低2284ms,资源占用稳定且在可接受范围内。在兼容性、画质、音视频同步、稳定性和服务器并发上也取得较好结果。测试结果与预期一致,测试表明本课题的设计思路及方法正确有效。