Linux Virtual Delivery Agent

HDX™ 网络摄像头视频压缩

概述

在 Linux VDA 会话中运行视频会议应用程序的用户现在可以使用 HDX 网络摄像头视频压缩功能。此功能默认启用。我们建议您在可能的情况下始终使用 HDX 网络摄像头视频压缩。

HDX 网络摄像头视频压缩也称为优化网络摄像头模式。这种类型的网络摄像头视频压缩将 H.264 视频直接发送到在虚拟会话中运行的视频会议应用程序。HDX 网络摄像头视频压缩使用客户端操作系统中的多媒体框架技术来拦截来自捕获设备的视频,并对其进行转码和压缩。捕获设备的制造商提供插入操作系统内核流式处理架构的驱动程序。

客户端处理与网络摄像头的通信。然后,客户端仅将视频发送到可以正确显示它的服务器。服务器不直接处理网络摄像头,但其集成可在您的桌面上提供相同的体验。Workspace app 会压缩视频以节省带宽并在 WAN 场景中提供更好的弹性。

网络摄像头压缩

注意:

  • 此功能不适用于 Azure 计算机,因为 Azure 计算机上缺少此功能所依赖的 videodev 内核模块。

  • 此功能仅支持来自您的 Citrix Workspace app 客户端的 H.264 视频。
  • 支持的网络摄像头分辨率范围为 48x32 到 1920x1080。
  • 使用网络摄像头时,请勿从 Citrix Workspace™ app 工具栏中选择通用 USB 设备。否则,可能会出现意外问题。

通用 USB 设备

支持的 Citrix Workspace app

  • HDX 网络摄像头视频压缩支持以下版本的 Citrix Workspace app:
平台 处理器
适用于 Windows 的 Citrix Workspace app 适用于 Windows 的 Citrix Workspace app 支持 XenApp 和 XenDesktop 7.17 及更高版本上 32 位和 64 位应用程序的网络摄像头视频压缩。在早期版本中,适用于 Windows 的 Citrix Workspace app 仅支持 32 位应用程序。
适用于 Chrome 的 Citrix Workspace app 由于某些 ARM Chromebook 不支持 H.264 编码,因此只有 32 位应用程序可以使用优化的 HDX 网络摄像头视频压缩。

经过全面测试的网络摄像头

不同的网络摄像头提供不同的帧速率,并具有不同的亮度和对比度级别。Citrix® 使用以下网络摄像头进行初始功能验证:

  • Logitech HD Webcam C270
  • Logitech Webcam C930e - Microsoft-LifeCam-HD3000

配置

此功能默认启用。要使用此功能,请完成以下验证和配置:

提示:

Citrix Workspace app 用户可以通过选择 Desktop Viewer 的麦克风和网络摄像头设置中的不连接来覆盖默认设置。 不连接

  1. VDA 安装完成后,请验证您的 VDA 是否可以向 Delivery Controller™ 注册,以及是否可以使用 Windows 凭据成功启动已发布的 Linux 桌面会话。

    -  1.  确保您的 VDA 具有 Internet 访问权限,然后运行 `sudo /opt/Citrix/VDA/sbin/ctxwcamcfg.sh` 命令以完成网络摄像头配置。如果您的 VDA 没有 Internet 访问权限,请转到步骤 3。
    

    注意:

    uname -r 与内核头文件之间可能发生内核不匹配。此不匹配会导致 ctxwcamcfg.sh 脚本失败。要正确使用 HDX 网络摄像头视频压缩,请运行 sudo apt-get dist-upgrade,重新启动 VDA,然后重新运行 ctxwcamcfg.sh 脚本。

    如果您的 VDA 部署在 Debian 上,请确保它正在运行最新的内核版本。否则,请运行以下命令更新到最新的内核版本:

    sudo apt-get update
    sudo apt-get dist-upgrade
    sudo reboot
    <!--NeedCopy-->
    

    如果您的 VDA 部署在 SUSE 15.3、SUSE 15.2 或 SUSE 12.5 上,请运行以下命令更新到最新的内核版本并重新启动:

    zypper up kernel-default
    reboot
    <!--NeedCopy-->
    

    ctxwcamcfg.sh 脚本有助于:

    1. 在您的 VDA 上安装 kernel-devel 和动态内核模块支持 (DKMS) 程序。
      • kernel-devel 用于构建相应版本的虚拟网络摄像头内核模块。
      • DKMS 用于动态管理虚拟网络摄像头内核模块。

      注意:

      在 RHEL 和 CentOS 上安装上述程序时,ctxwcamcfg.sh 脚本会在您的 VDA 上安装并启用以下存储库:

      • Extra Packages for Enterprise Linux (EPEL)
      • RPM Fusion
    2. https://github.com/umlaeute/v4l2loopback 下载 v4l2loopback 开源代码,并使用 DKMS 管理 v4l2loopbackv4l2loopback 是一个内核模块,允许您创建 V4L2 环回设备。

    3. 运行 sudo service ctxwcamsd restart 命令。Linux VDA 的网络摄像头服务 - ctxwcamsd - 将重新启动并为 HDX 网络摄像头视频压缩功能加载 v4l2loopback 内核模块。
  2. 如果您的 VDA 没有 Internet 访问权限,请在另一台计算机上构建 v4l2loopback 内核模块,然后将其复制到您的 VDA。

    1. 准备一台具有 Internet 访问权限且内核版本与您的 VDA 相同的构建计算机。uname -r 命令有助于查找内核版本。

    2. 在构建计算机上,运行 sudo mkdir -p /var/xdl 命令。

    3. /var/xdl/configure_* 从您的 VDA 复制到构建计算机的 /var/xdl/ 下。

    4. 在构建计算机上,运行 sudo /opt/Citrix/VDA/sbin/ctxwcamcfg.sh 命令以构建内核模块。如果命令成功运行,它将在 /var/lib/dkms/v4l2loopback/1.81b8df79107d1fbf392fdcbaa051bd227a9c94c1/$(uname -r)/x86_64/module/ 路径下创建一个 v4l2loopback.ko 文件。忽略运行 ctxwcamcfg.sh 脚本时可能发生的错误。
    5. 将 v4l2loopback.ko 从构建计算机复制到您的 VDA,并将其放置在 /opt/Citrix/VDA/lib64/ 下。
    6. 在您的 VDA 上,运行 sudo service ctxwcamsd restart 命令以重新启动网络摄像头服务并加载 v4l2loopback 内核模块。
HDX™ 网络摄像头视频压缩