Microsoft Teams 优化

重要:

Microsoft Teams 的优化至少需要 Microsoft Teams 版本 1.2.00.31357。

Citrix 使用 Citrix Virtual Apps and Desktops 和 Citrix Workspace 应用程序为基于桌面的 Microsoft Teams 提供优化。默认情况下,我们将所有必要的组件绑定到 Citrix Workspace 应用程序和 Virtual Delivery Agent (VDA) 中。

我们针对 Microsoft Teams 的优化包含一个 VDA 端 HDX 服务和 API,用于与 Microsoft Teams 托管的应用程序进行交互以接收命令。这些组件将向 Citrix Workspace 应用程序端媒体引擎打开控制虚拟通道 (CTXMTOP)。端点将在本地解码并呈现多媒体。将本地 Citrix Workspace 应用程序窗口中的无缝管理单元反转回托管的 Microsoft Teams 应用程序。

身份验证和发出信号在本地发生在 Microsoft Teams 托管的应用程序上,就像其他 Microsoft Teams 服务(例如聊天或协作)一样。音频/视频重定向不会对其产生影响。

CTXMTOP 是一个命令和控制虚拟通道。这意味着在 Citrix Workspace 应用程序与 VDA 之间不交换媒体。

仅客户端提取/客户端呈现可用。

此视频演示让您了解 Microsoft Teams 如何在 Citrix 虚拟环境中工作。

Microsoft Teams 优化演示

Microsoft Teams 安装

注意:

我们建议先安装 VDA,然后在黄金映像中安装 Teams。必须采用此安装顺序,才能使 ALLUSER=1 标志生效。如果虚拟机在安装 Teams 后再安装 VDA,请卸载并重新安装 Teams。如果您使用的是 App Layering,请参阅本节末尾的 App Layering 说明以了解更多详细信息。

我们建议您遵循 Microsoft Teams 计算机范围内的安装指南,并避免使用在 AppData 中安装 Teams 的 .exe 安装程序。而是通过使用命令行中的 ALLUSER=1 标志来安装 C:\Program Files (x86)\Microsoft\Teams

msiexec /i <path_to_msi> /l*v <install_logfile_name> ALLUSER=1 ALLUSERS=1

此示例还使用 ALLUSERS=1 参数。设置此参数时,Teams 计算机范围内的安装程序将显示在“控制面板”的程序和功能中,以及计算机的所有用户的 Windows 设置的应用程序和功能中。如果所有用户都有管理员凭据,则可以卸载 Teams。了解 ALLUSERS=1ALLUSER=1 之间的区别非常重要。可以在非 VDI 和 VDI 环境中使用 ALLUSERS=1 参数。请仅在 VDI 环境中使用 ALLUSERS=1 参数以指定每计算机安装。

ALLUSER=1 模式下,只要有新版本,Teams 应用程序就不会自动更新。对于非持久性环境,我们建议使用此模式。例如,Windows Server 或 Windows 10 随机/池目录中的托管共享应用程序或桌面。有关详细信息,请参阅 使用 MSI 安装 Microsoft Teams(“VDI 安装”部分)。

您有 Windows 10 专用的永久 VDI 环境。您希望 Teams 应用程序自动更新,并希望团队在 Appdata/Local 下安装每用户,请使用 .exe 安装程序或 MSI,而非 ALLUSER=1

对于 App Layering:

警告:

注册表编辑不当会导致严重问题,可能需要重新安装操作系统。Citrix 无法保证因注册表编辑器使用不当导致出现的问题能够得以解决。使用注册表编辑器需自担风险。在编辑注册表之前,请务必进行备份。 创建名为 PortICA 的空注册表项(保留默认名称、类型和数据)。

如果使用 Citrix App Layering 管理不同层中的 VDA 和 Microsoft Teams 安装,请在使用 ALLUSER =1 安装 Teams 之前在 Windows 中部署此注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix

Profile Management 建议

我们建议在 Windows Server 和池 VDI Windows 10 环境中使用计算机范围内的安装程序。

ALLUSER =1 标志从命令行(计算机范围内的安装程序)传递到 MSI 时,Teams 应用程序将安装在 C:\Program Files (x86) 下 (~300 MB)。该应用程序将 AppData\Local\Microsoft\TeamsMeetingAddin 用于日志,将 AppData\Roaming\Microsoft\Teams (~600–700 MB) 用于用户特定的配置、缓存用户界面中的元素等等。

计算机范围内的安装程序

下面是通过在 Windows Server 2016 64 位 VM 上安装 Teams 计算机范围内的安装程序创建的文件夹、桌面快捷方式和注册表示例:

文件夹:

  • C:\Program Files (x86)\Microsoft\Teams
  • C:\Users\<username>\AppData\Roaming\Microsoft\Teams

桌面快捷方式:

C:\Program Files (x86)\Microsoft\Teams\current\Teams.exe

注册表:

  • HKEY_LOCAL_MACHINE \SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  • HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion\Run

建议

  • 我们建议通过删除 Teams 注册表项来禁用自动启动。这样做可以防止“8AM 登录风暴”升高虚拟机的 CPU。
  • 如果虚拟桌面没有 GPU/vGPU,我们建议在 Teams 的设置中设置禁用 GPU 硬件加速以提高性能。此设置 ("disableGpu":true) 存储在 desktop-config.json 文件内部的 %Appdata%\Microsoft\Teams 中。可以使用登录脚本编辑该文件并将值设置为 true。
  • 如果使用 Citrix Workspace Environment Management (WEM),请启用 CPU Spikes Protection(CPU 峰值保护)来管理 Teams 的处理器消耗。

重要:

如果您没有通过 ALLUSER=1 标志,MSI 会将 Teams.exe 安装程序和 setup.json 置于 C:\Program Files (x86)\Teams Installer 下。 在以下位置下添加注册表项 (TeamsMachineInstaller): HKEY_LOCAL_MACHINE \SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run

后续用户登录将改为触发 AppData 中的最终安装。

每用户安装程序

使用 .exe 安装程序时,安装过程会发生显著变化,并且所有文件都将放置在 AppData 中。

文件夹:

  • C:\Users\<username>\AppData\Local\Microsoft\Teams
  • C:\Users\<username>\AppData\Local\Microsoft\TeamsMeetingAddin
  • C:\Users\<username>\AppData\Local\SquirrelTemp
  • C:\Users\<username>\AppData\Roaming\Microsoft\Teams

桌面快捷方式:

C:\Users\<username>\AppData\Local\Microsoft\Teams\Update.exe --processStart "Teams.exe"

注册表:

HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion\Run

最佳做法

最佳做法建议取决于用例场景。 使用具有非持久性设置的 Teams 需要配置文件缓存管理器来实现高效的 Teams 运行时数据同步。配置文件缓存管理器可确保在用户会话期间缓存适当的用户特定信息(例如,用户数据、配置文件和设置)。确保同步以下两个文件夹中的数据:

  • C:\Users\<username>\AppData\Local\Microsoft\IdentityCache
  • C:\Users\<username>\AppData\Roaming\Microsoft\Teams

非持久性设置的 Teams 缓存内容排除列表:

从 Teams 缓存文件夹 %AppData%/Microsoft/Teams 中排除以下项目。排除这些项目有助于减少用户缓存大小,从而进一步优化非持久性设置。

排除列表 - 目录

  • Roaming\Microsoft\Teams*.txt
  • Roaming\Microsoft\Teams\media-stack
  • Roaming\Microsoft\Teams\Service Worker\CacheStorage
  • Roaming\Microsoft\Teams\Logs
  • Roaming\Microsoft\Teams\Application Cache
  • Roaming\Microsoft\Teams\Cache
  • Roaming\Microsoft\Teams\GPUCache
  • Roaming\Microsoft\Teams\meeting-addin\Cache(对于 Outlook 中缺少加载项的问题至关重要)

用例:单会话场景:

在这种情况下,最终用户一次在一个位置使用 Microsoft Teams。无需在两个不同的 Windows 会话中同时运行 Teams。例如,在常见的虚拟桌面部署中,每个用户被分配有一个桌面,Teams 作为一个应用程序在虚拟桌面内部署。 我们建议您启用 Citrix Profile 容器并将上文提及的每用户目录重定向到该容器。

  1. 在黄金映像中部署 Microsoft Teams 计算机范围内的安装程序 (ALLUSER=1)。
  2. 启用 Citrix Profile Management 并使用适当的权限设置用户配置文件存储。
  3. 启用以下 Profile Management 策略设置:文件系统 > 同步 > 配置文件容器 - 要包含在配置文件磁盘中的文件夹列表

    配置文件容器

    将上文提及的所有文件夹列入此配置中。或者,也可以使用 Citrix Workspace Environment Management (WEM) 服务配置这些设置。

  4. 将这些设置应用到正确的交付组。
  5. 登录以验证部署。

系统要求

建议的最低版本 - Delivery Controller (DDC) 1906.2(如果您使用的是早期版本,请参阅启用 Microsoft Teams 的优化):

支持的操作系统:

  • Windows Server 2019、2016、2012 R2 Standard Edition 和 Datacenter Edition,包含服务器核心选项

最低版本 - Virtual Delivery Agent (VDA) 1906.2:

支持的操作系统:

  • Windows 10 64 位,版本为 1607 及更高版本。
  • Windows Server 2019、2016 和 2012 R2(Standard Edition 和 Datacenter Edition)。

要求:

  • BCR_x64.msi - 包含 Microsoft Teams 优化代码并从 GUI 自动启动的 MSI。如果使用命令行界面进行 VDA 安装,请不要将其排除。

推荐的版本 - 适用于 Windows 的 Citrix Workspace 应用程序 2006.1,最低版本 - 适用于 Windows 的 Citrix Workspace 应用程序 1907:

  • Windows 7、8 和 10(32 位和 64 位版本,包括 Embedded Edition)
  • Windows 10 IoT Enterprise 2016 LTSB (v1607) 和 2019 LTSC (v1809)
  • 支持的处理器 (CPU) 体系结构:x86 和 x64(不支持 ARM)
  • 端点要求:大约 2.2–2.4 GHz 双核 CPU,可在点对点视频会议通话期间支持 720p HD 分辨率。
  • 具有较低基础速度(大约 1.5 GHz)的双核或四核 CPU,配备 Intel Turbo Boost 或 AMD Turbo Core,可提升至至少 2.4 GHz。
  • 通过验证的 HP 瘦客户端:t630/t640、t730/t740、mt44/mt45。
  • 通过验证的 Dell 瘦客户端:5070、5470 Mobile TC。
  • 经过验证的 10ZiG 瘦客户端:4510 和 5810q。
  • 有关通过验证的端点的完整列表,请参阅瘦客户端
  • Citrix Workspace 应用程序至少需要 600 MB 可用磁盘空间和 1 GB RAM。
  • Microsoft .NET Framework 最低要求为版本 4.6.2。如果系统中不存在,Citrix Workspace 应用程序会自动下载并安装 .NET Framework。

最低版本 - 适用于 Linux 的 Citrix Workspace 应用程序 2006:

有关详细信息,请参阅2006 中的新增功能中的 Microsoft Teams 优化

软件:

  • GStreamer 1.0 或更高版本或 Cairo 2
  • libc++-9.0 或更高版本
  • libgdk 3.22 或更高版本
  • OpenSSL 1.1.1d
  • x64 Linux 发行版

硬件:

  • 最低 1.8 GHz 双核 CPU,可在点对点视频会议通话期间支持 720p HD 分辨率。
  • 双核或四核 CPU,基本速度为 1.8 GHz,并采用至少为 2.9 GHz 的高速英特尔睿频加速技术。

有关详细信息,请参阅安装 Citrix Workspace 应用程序所需的必备条件

启用 Microsoft Teams 优化

要为 Microsoft Teams 启用优化,请使用 Microsoft Teams 重定向策略中介绍的 Studio 策略(默认情况下设置为)。除启用此策略外,HDX 还会进行检查,以验证 Citrix Workspace 应用程序的版本等于还是高于所需的最低版本。如果启用了此策略并且支持 Citrix Workspace 应用程序的版本,HKEY_CURRENT_USER\Software\Citrix\HDXMediaStream\MSTeamsRedirSupport 注册表项将在 VDA 上自动设置为 1。Microsoft Teams 应用程序读取要在 VDI 模式下加载的密钥。

注意:

如果使用的是版本 1906.2 或更高版本的 VDA 与较旧的 Controller 版本(例如,版本 7.15)(Studio 中没有可用的策略),您仍然可以获得优化,因为默认情况下,面向 Microsoft Teams 的 HDX 优化在 VDA 中处于启用状态。

如果单击关于 > 版本,则会显示 Citrix HDX Optimized(Citrix HDX 已优化)图例:

“已针对 Citrix 优化”图例

如果您看到的是 Citrix HDX Not Connected(Citrix HDX 未连接),Citrix API 将在 Teams 中加载(这是实现重定向的第一步),但堆栈的后续部分中出现错误。此错误很可能发生在 VDA 服务或 Citrix Workspace 应用程序中)。

“未针对 Citrix 优化”图例

如果您没有看到任何图例,Teams 无法加载 Citrix API。请通过右键单击通知区域图标退出 Teams 并重新启动。请确保 Studio 策略未设置为禁止,并且 Citrix Workspace 应用程序版本受支持。

无 Citrix 图例

网络要求

Microsoft Teams 依赖 Office 365 中的媒体处理器服务器进行会议或多方呼叫。Microsoft Teams 依赖于 Office 365 传输中继处理以下场景:

  • 点对点通话中的两个对端没有直接连接
  • 参与者没有直接连接到媒体处理器。

因此,对端与 Office 365 云之间的网络运行状况决定通话的性能。

我们建议您对环境进行评估,以确定可能会影响整个云语音和视频部署的任何风险和要求。 使用 Skype for Business 网络评估工具来测试您的网络是否已准备好使用 Microsoft Teams。有关支持信息,请参阅支持

实时协议 (RTP) 流量的关键网络建议汇总:

  • 尽可能直接从分支机构连接到 Office 365 网络。
  • 如果必须在分支机构使用以下任何内容,请确保 RTP/UDP Teams 流量不受阻碍。HdxTeams.exe 不支持在端点上配置的显式代理。
    • 绕过代理服务器
    • 网络 SSL 拦截
    • 深度包检测设备
    • VPN 发夹(如有可能,使用拆分通道)
  • 规划并提供足够的带宽。
  • 检查每个分支机构的网络连接性和质量。

Workspace 应用程序 (HdxTeams.exe) 中的 WebRTC 媒体引擎对卸载到客户端的多媒体数据流使用安全实时传输协议 (SRTP)。SRTP 通过使用对称密钥(128 位)加密媒体和控制消息,并在计数器模式下使用 AES 加密密码,为 RTP 提供机密性和身份验证。

建议使用以下指标来保证正面的用户体验:

指标 端点到 Office 365
延迟(单向) < 50 毫秒
延迟 (RTT) < 100 毫秒
Packet Loss(数据包丢失) 在任何 15 秒时间间隔内 < 1%
数据包到达间抖动 在任何 15 秒时间间隔内 <30 毫秒

有关详细信息,请参阅为 Microsoft Teams 准备贵组织的网络

在带宽要求方面,Microsoft Teams 的优化可以使用对音频 (OPUS/G.722/PCM G711) 和视频 (H264/VP9) 使用各种编解码器。

在通话建立过程中,对端使用会话描述协议 (SDP) 请求应答来协商这些编解码器。 Citrix 的最低建议如下:

类型 Bandwidth(带宽) 编解码器
音频(单向) 大约 90 kbps G.722
音频(单向) 大约 60 kbps Opus*
视频(单向) 大约 700 kbps H264 360p @ 30 fps 16:9
视频(单向) 大约 2,500 kbps VP9 720p @ 30 fps 16:9
屏幕共享 大约 300 kbps H264 1080p @ 15 fps

* Opus 支持恒定和可变比特率编码,范围为 6 kbps 到 510 kbps。

Opus 和 VP9 是两个优化的 VDI 用户之间的点对点通话的首选编解码器。

G.722 和 H264 是加入会议的 VDI 用户的首选编解码器。

通话建立和媒体流路径

如有可能,Citrix Workspace 应用程序 (HdxTeams.exe) 中的 HDX Media Engine 会尝试在点对点通话中通过用户数据报协议 (UDP) 建立直接网络安全实时传输协议 (SRTP) 连接。如果 UDP 端口被阻止,Media Engine 将回退到 TCP 443。

HDX Media Engine 支持 ICE、Session Traversal Utilities for NAT (STUN) 和 Traversal Using Relays around NAT (TURN) 进行候选发现和连接建立。

如果两个对端之间或对端与会议服务器之间没有直接路径(如果用户正在加入多方通话或会议),HdxTeams.exe 将使用 Office 365 中的 Microsoft Teams 传输中继服务器到达另一个对端或媒体处理器(在其中托管会议)。用户的客户端计算机必须具有两个 Office 365 子网 IP 地址范围和 4 个 UDP 端口的访问权限。有关详细信息,请参阅下面的“呼叫设置”部分中的“体系结构示意图”和 Office 365 URL 和 IP 地址范围 ID 11

ID 类别 地址 目标端口
11 需要优化 13.107.64.0/18、52.112.0.0/14、52.120.0.0/14 UDP: 3478、3479、3480、3481 TCP: 443(回退)

这些范围包含传输中继和媒体处理器。 Teams 传输中继提供 STUN 和 TUN 功能,但它们不是 ICE 端点。此外,Teams 传输中继不会终止媒体,也不会执行任何转码。当它们将流量转发到其他对端或媒体处理器时,可以将 TCP(如果 HdxTeams.exe 使用 TCP)桥接到 UDP。

HdxTeams.exe 在 Office 365 云中联系距离最近的 Microsoft Teams 传输中继。HdxTeams.exe 使用任意广播 IP 和端口 3478—3481 UDP(每个工作负载使用不同的 UDP 端口,尽管会发生多路复用)或 443 TCP TLSv1.2 进行回退。通话质量取决于基础网络协议。由于始终推荐 UDP 而非 TCP,因此,我们建议将您的网络设计为适应分支机构中的 UDP 流量。

如果 Teams 是在优化模式下加载的并且 HdxTeams.exe 在端点上运行,则交互式连接建立 (ICE) 失败可能会导致呼叫设置失败或单程音频/视频。当呼叫无法完成或媒体流不是全双工时,请先检查端点上的 Wireshark 跟踪。有关 ICE 候选人收集过程的详细信息,请参阅支持部分中的“收集日志”。

注意:

如果端点无法访问 Internet,则仅当端点位于同一 LAN 上时,用户仍可以进行点对点呼叫。会议失败。在这种情况下,通话设置开始之前有 30 秒的超时。

呼叫设置

请使用此体系结构示意图作为调用流序列的可视参考。示意图中显示了相应的步骤。

体系结构:

Microsoft Teams 优化的工作原理

  1. 启动 Microsoft Teams。
  2. Teams 将对 O365 进行身份验证。租户策略被向下推送到 Teams 客户端,并将相关 TURN 和信号通道信息中继到应用程序。
  3. Teams 检测到其正在 VDA 中运行,并对 Citrix JavaScript API 进行 API 调用。
  4. Teams 中的 Citrix JavaScript 将打开一个与在 VDA (127.0.0.1:9002) 上运行的 WebSocketService.exe 的安全 WebSocket 连接,这会在用户会话内部生成 WebSocketAgent.exe。
  5. WebSocketAgent.exe 通过调用到 Citrix HDX Teams Redirection Service (CtxSvcHost.exe) 来实例化通用虚拟通道。
  6. Citrix Workspace 应用程序的 wfica32.exe (HDX Engine) 产生一个名为 HdxTeams.exe 的新进程,这是用于 Teams 优化的新 WebRTC 引擎。
  7. HdxTeams.exe 和 Teams.exe 有一个双向虚拟通道路径,可以开始处理多媒体请求。

    —–用户呼叫——

  8. 对端 A 单击呼叫按钮。Teams.exe 与 Office 365 中的 Teams 服务通信,通过对端 B 建立端到端信号路径。Teams 向 HdxTeams 询问一系列受支持的呼叫参数(编解码器、分辨率等,称为会话描述协议 (SDP) 提议)。然后使用指向 Office 365 中的 Teams 服务的信令路径中继这些呼叫参数,并从该位置传输到另一个对端。
  9. SDP 提议/应答(单通协商)通过信号通道进行,ICE 连接性检查(NAT 和使用 Session Traversal Utilities for NAT (STUN) 绑定请求的防火墙遍历)完成。然后,安全实时传输协议 (SRTP) 媒体直接在 HdxTeams.exe 与其他对端(或 Office 365 会议服务器,如果是会议)之间流动。

Microsoft Phone 系统

Phone System 是 Microsoft 的技术,在 Office 365 云中对 Microsoft Teams 启用呼叫控制和 PBX 功能。Microsoft Teams 的优化使用 Office 365 通话套餐或直接路由支持 Phone System。使用直接路由,您可以直接将自己支持的会话边界控制器连接到 Microsoft Phone System,而无需任何额外的本地软件。

适用于 Windows 的 Citrix Workspace 应用程序 2006 及更高版本支持与 Microsoft Teams 中的电话系统(例如 PSTN)和电话会议的双音多频 (Dual-Tone Multifrequency, DTMF) 信号交互。默认情况下启用此功能。

防火墙注意事项

当用户首次使用 Microsoft Teams 客户端启动优化的呼叫时,他们可能会注意到 Windows 防火墙设置的警告。警告要求用户允许 HdxTeams.exe (HDX Overlay Teams) 的通信。

防火墙警告

Windows Defender 防火墙 > 高级安全控制台的入站规则下添加了以下四个条目。如有需要,可以应用更严格的规则。

防火墙入站规则

Microsoft Teams 和 Skype for Business 同时存在

可以并行部署 Microsoft Teams 和 Skype for Business,作为两个具有重叠功能的独立解决方案。 有关详细信息,请参阅Microsoft Teams 和 Skype for Business 共存和互操作性简介

Citrix RealTime Optimization Pack 和适用于 Teams 多媒体引擎的 HDX 优化之后会遵守在您的环境中设置的任何配置(例如,岛屿模式、Skype for Business 与 Teams 协作,Skype for Business 与 Teams 协作和会议)。

此时只能向单个应用程序授予外围设备访问权限。例如,通话期间 RealTime Media Engine 访问网络摄像头会在通话期间锁定成像设备。松开设备后,它将可用于 Teams。

Teams 和 Skype 同时存在

Citrix SD-WAN:针对 Microsoft Teams 的优化网络连接

最佳音频和视频质量要求具有低延迟、低抖动和低数据包丢失的 Office 365 云的网络连接。在进入 Internet 之前,将 Microsoft Teams 音频-视频 RTP 流量从分支机构位置的 Citrix Workspace 应用程序用户到数据中心可能会增加过多的延迟,并且可能会导致 WAN 链接上出现拥堵。Citrix SD-WAN 按照 Microsoft Office 365 网络连接性原则优化 Microsoft Teams 的连接性。Citrix SD-WAN 使用基于 Microsoft REST 的 Office 365 IP 地址和 Web 服务以及近似 DNS 来识别、分类和引导 Microsoft Teams 的流量。

许多地区的企业宽带 Internet 连接都会受到间歇性数据包丢失、过度抖动和中断的影响。

Citrix SD-WAN 提供了两种解决方案,以便在网络运行状况变化或降低时保持 Microsoft Teams 音频-视频质量。

  • 如果使用 Microsoft Azure,则在 Azure VNET 中部署的 Citrix SD-WAN 虚拟设备 (VPX) 可提供高级连接优化。这些优化包括无缝链路故障转移和音频数据包竞赛。
  • 或者,Citrix SD-WAN 客户可以通过 Citrix Cloud 直接服务连接到 Office 365。此服务为所有受 Internet 限制的流量提供可靠和安全交付。

如果分支机构 Internet 连接的质量无需担心,通过将 Microsoft Teams 流量直接从 Citrix SD-WAN 分支机构转向最近的 Office 365 前门,可能足以最大限度地减少延迟。有关详细信息,请参阅Citrix SD-WAN Office 365 优化

Citrix SD-WAN

Microsoft Teams 中的库视图和活动扬声器

会议或群组呼叫仅支持单个传入视频流。当有多个参与者发送其视频时,任何时候都只显示占主导地位的说话人的视频。从检测到扬声器处于活动状态的时间到视频馈送显示时间之间可能存在一秒或两秒的延迟。

Microsoft Teams 中的屏幕共享

Microsoft Teams 依赖于基于视频的屏幕共享 (VBSS),有效地对正在与 H264 等视频编解码器共享的桌面进行编码,并创建高清晰度流。通过 HDX 优化,传入屏幕共享被视为视频流。因此,如果您正在进行视频通话,而其他对端开始共享桌面,则原始网络摄像机视频源将暂停。而是显示屏幕共享视频源。然后,对端必须手动恢复网络摄像机共享。

重要:

只有当音频或视频通话处于活动状态时才能使用屏幕共享,而不能直接从没有音频或视频的聊天窗口使用屏幕共享。

传出屏幕共享也进行了优化,并卸载到 Citrix Workspace 应用程序(1907 或更高版本)。在这种情况下,HdxTeams.exe 捕获并仅传输 Citrix Desktop Viewer (CDViewer.exe) 窗口。如果要共享在客户端计算机上运行的本地应用程序,可以将其叠加在 CDViewer 之上,并且也可以捕获该应用程序。

多显示器:在 CDViewer 处于全屏模式并跨越多显示器设置的情况下,仅共享主显示器。用户必须将虚拟桌面内感兴趣的应用程序拖动到主显示器,以便通话中的其他对端查看该应用程序。

屏幕共享

注意:

如果要将 Teams 发布为独立的无缝应用程序,屏幕共享会捕获 Citrix Workspace 应用程序最低版本 1909 中物理端点的本地桌面。

Microsoft Teams 中的外围设备

当 Microsoft Teams 的优化处于活动状态时,Citrix Workspace 应用程序将访问外围设备(耳机、麦克风、相机、扬声器等)。然后在 Microsoft Teams UI(设置 > 设备)中正确枚举外围设备。

Microsoft Teams 的优化模式

Microsoft Teams 不直接访问这些设备。相反,它依赖 HdxTeams.exe 来获取、捕获和处理媒体。Microsoft Teams 列出了供用户选择的设备。

建议:

  • 使用 Microsoft Teams 认证的耳机进行内置回声消除。在具有多个外围设备的设置中,麦克风和扬声器位于不同的设备上可能会出现回声。例如,带有内置麦克风的网络摄像机和带扬声器的显示器。使用外部扬声器时,请尽可能远离麦克风和可能将声音折射到麦克风的任何表面。
  • Microsoft Teams 认证的相机,虽然 Skype for Business 认证的外围设备 与 Microsoft Teams 兼容。
  • HdxTeams.exe 无法利用 CPU 卸载与执行板载 H.264 编码 -UVC 1.1 和 1.5 的网络摄像机。

注意:

HdxTeams.exe 仅支持以下特定的音频设备格式(通道、位深度和采样率):

  • 播放设备:最多 2 个通道,16 位,频率高达 96000 Hz
  • 录制设备:多达 4 个通道,16 位,频率高达 96000 Hz

即使一个扬声器或麦克风与预期设置不匹配,Teams 中的设备枚举也会失败,并且设置 > 设备下显示

HdxTeams.exe 中的 Webrpc 日志显示以下类型的信息:

Mar 27 20:58:22.885 webrtcapi.WebRTCEngine Info: init. initializing...

Mar 27 20:58:23.190 webrtcapi.WebRTCEngine Error: init. couldn't create audio module!

解决方法为,打开声音控制面板 (mmsys.cpl),选择播放或录制设备,转到属性 > 高级,然后将设置更改为受支持的模式。或者,禁用特定设备。

回退模式

如果 Microsoft Teams 无法在优化的 VDI 模式下加载,VDA 将使用旧版 HDX 技术,例如网络摄像头重定向以及客户端音频和麦克风重定向。在未优化模式下,外围设备将映射到 VDA。外围设备在 Microsoft Teams 应用程序中显示,就像它们在本地连接到虚拟桌面一样。

在查看 Teams 中的设置 > 设备选项卡时,要确定您处于优化模式还是未优化模式,最显著的区别是网络摄像机名称。如果 Microsoft Teams 在未优化模式下加载,旧版 HDX 技术将启动。网络摄像机名称具有 Citrix HDX 后缀,如下图所示。与优化模式相比,扬声器和麦克风设备名称可能略有不同(或被截断)。

Microsoft Teams 的未优化模式

使用旧版 HDX 技术时,Microsoft Teams 不会将音频、视频和屏幕共享处理卸载到端点的 Citrix Workspace 应用程序 WebRTC 媒体引擎。相反,HDX 技术使用服务器端呈现。打开视频时,预计 VDA 上的 CPU 消耗很高。实时音频性能可能不是最佳的。

已知限制

限制 注意
屏幕共享 - 共享您的屏幕需要正在进行的通话。不支持从聊天窗口进行屏幕共享。 Teams 依赖项 — 联系 Microsoft
不支持弹出文字消息。 Citrix 和 Microsoft 限制
库视图 - 仅限活动扬声器。 Teams 依赖项 — 联系 Microsoft,了解何时期待库视图 (2x2)
HID 按钮 - 不支持接听和结束呼叫。支持调高和调低音量。 Citrix Workspace 应用程序限制
在通话过程中在设置 > 设备中切换外围设备输入或输出时,您可能会遇到一秒钟的音频故障。  
在多显示器设置中进行屏幕共享时,仅共享主显示器。 Citrix Workspace 应用程序限制
将 Citrix Workspace 应用程序的“高 DPI”设置配置为否,使用本机分辨率时,如果显示器的 DPI 缩放系数设置为高于 100%,则重定向的视频窗口不会显示在恰当的位置。 Citrix Workspace 应用程序限制
我们不支持与电话系统进行双音多频 (DTMF) 交互。 Citrix Workspace 应用程序限制
执行屏幕共享时,包括系统音频选项不可用。 Citrix 和 Microsoft 限制
与 Skype for Business 的互操作性仅限于音频通话,没有视频模式。 Microsoft 限制
传入和传出视频流的最大分辨率为 720p。 Teams 依赖项 — 联系 Microsoft,了解何时期待 1080p
我们仅支持来自传入摄像机或屏幕共享流的一个视频流。当有一个传入屏幕共享时,该屏幕共享会显示,而非显示主扬声器的视频。 Teams 依赖项 — 联系 Microsoft
传出屏幕共享:不支持应用程序共享。 Citrix Workspace 应用程序和 VDA 限制
我们不支持实时事件。 Citrix 和 Teams 限制
授予控制权和获取控制权:在屏幕共享或应用程序共享会话期间不受支持,在 PowerPoint 共享会话期间受支持。 Teams 依赖项 — 联系 Microsoft
在传出屏幕共享中,鼠标指针不会被捕获 Citrix 限制
备用铃声(Teams > 设置 > 设备)不受支持 Citrix 限制
在通话过程中,如果用户通过 Microsoft Teams 打开共享的文件,通话可能会断开连接。 Microsoft 限制
不支持 PSTN 呼叫回铃音 Teams 依赖项 — 联系 Microsoft
Microsoft Teams 的呼叫质量控制板不会显示 VDI 用户的数据 Teams 限制 — 联系 Microsoft

其他信息