论文部分内容阅读
随着技术的发展,视频会议系统越来越多进入社会生活中,具有广泛的应用并发挥着重要的作用。目前商用领域比较著名的视频会议系统有WebEx、AVCON等,个人应用领域则较多的是以即时通信系统的附带功能实现。现有的系统虽然能够实现基本的功能,仍有很多地方尚待改进,诸如不同局域网内用户直接建立连接比较困难,用户之间音视频数据的实时传输要求较难达到,用户网络条件差异大导致网络资源浪费等。这些问题可以通过合理利用用户的网络资源来得到一定程度的解决。为了解决这些问题,本文通过对视频会议相关领域现有的方法进行比较和分析,选择合适的方法并结合在一起形成一个新的解决方案。采用基于P2P应用层组播(ALM)的基础架构,以此合理利用用户网络资源,并通过NAT穿透技术ICE来实现用户直接连接;应用层组播算法采用MSRA提出的DigiMetro,解决多个数据源传输以及各个用户网络资源的分配等问题;为了减少网络传输数据量采用当前压缩效率最高的H.264视频编码标准。在视频编码中对运动估计搜索算法进行相应优化与改进,对参考软件中的算法方案与改进算法方案进行比较,实验验证改进算法较参考软件中的算法方案在视频质量和编码时间方面有一定的改善与提高。最后,对于H.264视频数据的封装的策略进行了全面的分析,设计了通过RTP的封装流程和策略,根据RTP封装H.264视频流数据对传输过程中的差错控制设计了一个Qos解决方案。实现一个小型多点视频会议系统,主要完成了多点之间音频、视频传输实现会议的功能。利用Google开源库libjingle实现,并在它的基础上实现P2P构架以及应用层组播,利用了开源库中效率最高的FFMPEG/X264实现H.264编解码,在Windows下利用了 DirectShow实现音视频捕捉和播放功能等。系统测试结果表明,用户连接性、资源使用等问题已经得到较好的解决,实时性也有较大的提高。