可在广域网部署运行的QQ高仿版 -- GG叽叽V3.7,优化视频聊天、控制更多相关细节

  在广域网中,因为网络的结构纷繁复杂、并且其实时情况又是变幻无穷的,因此,要使广域网中的视频聊天达到一个使人满意的效果,存在诸多挑战。此次发布的GG 3.7版本尝试在这一方向上作一些努力,据我本身测试,相比以前版本,新版本GG的视频聊天的效果确实有较大提高。本文不只会分享GG的最新源码,并且也会把我在过去项目中总结的一些语音视频聊天的优化心得分享给你们。html

一.GG V3.7 新增功能展示 

  针对视频聊天的优化,主要体如今如下几点,为了方便介绍,我将VideoForm的窗体设计的截图放在这里:数据库

  

1.实时显示对方的麦克风状态(启用或禁用),如图中A。服务器

2.实时显示对方的摄像头状态(启用或禁用),如图中B。网络

3.实时显示对方视频的编码质量,如图中D。取值0~31,值越小,视频越清晰。ide

4.容许控制对方视频编码质量的策略:根据网络状况自适应,或直接手动指定编码质量(下拉列表选择:优、良、中、差)。如图中C。post

5.控制对方摄像头的采集视频在高分辨率(640*480)和低分辨率(352*288)之间切换。如图中E。测试

6.实时显示网络通道的状态(相似信号强度)。如图中F。优化

7.界面上的勾选框用于控制开启或关闭本身的摄像头、麦克风、扬声器,以及显示本身视频的小窗口。编码

  GG运行起来以后,视频聊天的截图以下所示:      url

      

 

二.视频聊天优化经验 

   关于本次GG更新的源代码,就很少讲了,你们下载了本身去看,相对仍是比较简单的。接下来,我总结一下本身以往作视频聊天优化的经验。

   若是网络状况至关好,那天然能够选择流畅高清的视频对话(如高的帧率、高的采集分辨率、高的视频编码质量等)。然而,现实老是残酷的,因此,针对现实状况,咱们必须有所权衡和取舍。

1.优先保证语音流畅。

(1)语音数据的流量很小,通常小于5k/s。可是,语音对网络的抖动要求较高,较大的网络抖动,就会致使语音一卡一卡的。

        虽然GG使用的OMCS内部内置抖动缓冲区JitterBuffer,但也只能必定程度地缓解卡的问题,并且是以增长语音延迟为代价的。

(2)避免经过TCP一次性发送很是大块的数据Blob,由于这样会致使在发送Blob期间,任何语音数据包都发送不出去。建议是将大的Blob拆分红多个小块发送。

2.在网络差时

(1)首先下降摄像头的采集分辨率,如去掉上面截图窗体上“高分辨率”选项的勾勾。

(2)若是视频或语音仍是卡,则下降视频的编码质量。若是是手动调节,则依次下调视频编码质量:优->良->中->差。

(3)还能够下降摄像头采集的帧频(在服务端的配置文件中设置),因为GG内部会自动根据网络状况进行智能弃帧,因此,这个操做对GG而言就没多大必要了。

(4)若是语音仍是卡,那么,就关掉视频吧,只进行纯语音对话。本身这边将窗体上的“摄像头”前面的勾勾去掉,并且让对方也去掉这个勾勾。

3.在租赁服务器时,必定要选择独享带宽,记住,独享的。据个人经验,在IDC租服务器时免费赠送的百兆共享带宽还不如租个5M的独享的效果好

 

三.GG V3.7 源码下载 

下载最新版本,请转到这里。 

 注意:若是要将GG部署到广域网,则能够在服务端的配置文件中设置监听的端口;而在客户端的配置文件中,则能够指定服务器的IP和Port。

 

关于GG的最新全貌介绍、以及如何部署、数据库、试用账号等问题,我单独写了一篇文章,做为汇总,可参见 可在广域网部署运行的QQ高仿版 -- GG2013概要。 

欢迎和我探讨关于GG2013的一切,个人QQ:2027224508,多多交流!  

你们有什么问题和建议,能够留言,也能够发送email到我邮箱:ggim2013@163.com。 

若是你以为还不错,请粉我,顺便再顶一下啊,呵呵  

相关文章
相关标签/搜索