近期我都跟Teams视频会议干上了~使用Teams桌面客户端去开视频会议体验和效果不能称之为优秀,其实对于一个热衷微软技术的人来讲总感觉心里不舒服。从我之前的文章可以看得出来我其实是个非常较真的人,现在就在想为什么效果这么差?这不应该的,最近的节点在HK,按理说效果应该还不错的。然后针对这个问题我咨询了原厂的售前,售后,以及专门看Teams产品的人,感觉大家心里都是虚的,毕竟效果实实在在摆在那里的。最后没办法还是开了个case,最初是v-工程师接的,上周已经升级到FTE去了,周末据说会到产品组。

这篇文章可能会实力打脸我的上一篇文章《Microsoft Teams全生命周期会议-06如何提高Teams视频会议质量》毕竟我太年轻了,对微软太信任了,谁也想不到后台存在幺蛾子的,周末晚上没啥事我自己也通过客户端上的日志进行了一些简单的分析,先贴给大家参考下吧

测试前我先清理了所有的Teams客户端缓存

清空所有文件:

%appdata%\Microsoft\Teams\media-stackMicrosoft Teams Meeting你是认真的吗?_第1张图片


%appdata%\Microsoft\Teams\skylibMicrosoft Teams Meeting你是认真的吗?_第2张图片

然后使用脚本清除所有缓存Microsoft Teams Meeting你是认真的吗?_第3张图片

重新打开Teams客户端后将会是一个非常干净的环境,通过USB连接到微软认证的外设罗技CC5000eMicrosoft Teams Meeting你是认真的吗?_第4张图片

在Teams客户端上安排一个Teams会议,这样所有的客户端都会进入到一个会议host中,不存在每个人创建一个会议所有的host都不一样,测试存在偏差了Microsoft Teams Meeting你是认真的吗?_第5张图片

在Teams会议策略中配置的媒体比特率为150000

当前测试环境下行速度约7MB/S,上行速度约2MB/S

然后使用surface pro微软原厂设备进行测试,点击加入Teams会议的时候首先进行会议预览但此时预览视频分辨率已经是640 x 360了,而且不知道为什么创建一个Skypevideowebmedia,很是奇怪,我这可是一个teams会议啊。往下看会更加精彩~Microsoft Teams Meeting你是认真的吗?_第6张图片

Microsoft Teams Meeting你是认真的吗?_第7张图片

识别出来我的摄像头是罗技CC5000e也就是Logi Rally Cameraimage.png

开始会议,持续发降低质量报警,但是又提示media又是使用本地源数据,我大胆的猜想难道Teams会议使用teams客户端会不会有MediaService上限值?

紧接着开启视频,正式进入会议又进行了两次video更改,但是这里没有列出来详细信息,只是摄像头使用状态而已Microsoft Teams Meeting你是认真的吗?_第8张图片

紧接着又调用注册表创建了一个新的呼叫并且更新了Skype Token,头皮一阵发麻,难道Teams用的还是Skype for Business Online的代码???Microsoft Teams Meeting你是认真的吗?_第9张图片

然后通过了调用验证尝试加入预约好的会议(这里其实可以看出来显示的是Microsoft Teams会议,实际上却是Skype teams meeting)。最终找到了Skype team meeting url(注意哦这里是team而不是Teams哦,也就是说最终的url还是一个Skype团队会议)紧接着加入这个会议,cam(摄像头)是打开状态,mic(麦克风)是关闭状态Microsoft Teams Meeting你是认真的吗?_第10张图片

来应个实景,看看这个锯齿有多么严重,我初步推测Teams Meeting Video后台的代码还是沿用Skype的,毕竟Skype for Business我还算熟悉吧...这个一看效果就是Teams基本各种算法都没有优化~~

呼叫的视频质量一直是640 x 360,这个分辨率放在1080P的屏幕上,真的没法看的。。。image.png

然后在日志上会看到很多更加有意思的东西,比如:

callControllerUrl为什么是在Skype上?

Resource和globalResource为什么也在Skype上?

conversationServiceIntUrl为什么也在Skype上?

SkypeAuthEndpointAddress显示的是一个Teams的url地址这个倒是好理解image.png

日志里面可以看的东西实在太多,到处都可以看到Skype for Business服务的url,已经疲了!!大家有兴趣可以自己约个Teams会议,然后测试下,至于Teams客户端的日志是怎么获取的其实非常简单”ctrl+alt+shift+1”就会自动下载所有的Teams的日志

包括配置的,呼叫的等等很多日志都可以挨个去看。Microsoft Teams Meeting你是认真的吗?_第11张图片

顺便说一句:为什么Rooms System客户端开视频会议效果能去到1080P,这是因为微软专门为这类会议室设备系统写死了只能使用1920*1080的Video去保证会议室级别的用户使用体验~不过很遗憾这类设备不支持21V运营的Skype for Business online(最近一次测试是两年前,当时21V的SFB Online是有阉割功能,不知道现在会不会支持,有空申请下测试账号帮大家再踩下坑~),支持国际版和本地部署,而且还必须要有Exchange Server环境支持。

再来个硬核扫盲分享:Skype for Business Server环境下使用客户端点对点视频呼叫可以达到1080P,客户端进行视频会议最高720P效果,Teams环境下使用客户端点对点视频呼叫可以达到1080P,客户端进行视频会议最高目前猜测也应该是720P了。点对点是不经过服务器MCU的,是IP2IP的呼叫,客户端来处理视频。使用Rooms System参与Skype或者Teams视频会议都能直接达到1080P的效果。别问为什么了,知道就好了!!!看微软的文档也要看清楚别看到高清1080P就对外号称所有环境都能达到1080P~~~

最后,这个CASE产品组有最终消息了再跟大家分享下吧,个人第六感非常强是把原有的Skype for Business代码直接Copy到Teams中去的,希望微软针对MediaService的算法再优化下,努努力吧…最终任何结果以微软产品组的答复为准!

本文仅作参考,有兴趣的朋友可以看Teams客户端Log去自己分析下~~