Linux Virtual Delivery Agent

HDX 网络摄像机视频压缩

概述

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

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

客户端处理与网络摄像机的通信。之后,客户端仅将视频发送到可以正确显示它的服务器。服务器不能直接与网络摄像机通信,但其集成可在您的桌面中为您提供相同的体验。Workspace 应用程序会压缩视频以节省带宽,并在 WAN 场景中提高恢复能力。

网络摄像机压缩

注意:

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

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

支持 Citrix Workspace 应用程序

HDX 网络摄像机视频压缩支持以下版本的 Citrix Workspace 应用程序:

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

完全测试的网络摄像机

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

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

配置

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

提示:

Citrix Workspace 应用程序用户可以通过选择 Desktop Viewer 麦克风和网络摄像机设置不连接来覆盖默认设置。 不连接

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

  2. 确保您的 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 上安装并启用以下存储库:

      • 适用于 Enterprise Linux (EPEL) 的额外软件包
      • RPM Fusion
    2. https://github.com/umlaeute/v4l2loopback 中下载 v4l2loopback 开源代码并使用 DKMS 管理 v4l2loopback
      v4l2loopback 是一个允许您创建 V4L2 环回设备的内核模块。

    3. 运行 sudo service ctxwcamsd restart 命令。Linux VDA 的网络摄像机服务 - ctxwcamsd - 重新启动并加载 HDX 网络摄像机视频压缩功能的 v4l2loopback 内核模块。
  3. 如果您的 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 网络摄像机视频压缩