HDX 网络摄像机视频压缩
概述
在 Linux VDA 会话中运行的视频会议应用程序的用户现在可以利用 HDX 网络摄像机视频压缩功能的网络摄像机。默认情况下启用此功能。我们建议您始终尽可能使用 HDX 网络摄像机视频压缩功能。
HDX 网络摄像机视频压缩也称为优化网络摄像机模式。这种类型的网络摄像机视频压缩将 H.264 视频直接发送到在虚拟会话中运行的视频会议应用程序。HDX 网络摄像机视频压缩使用属于客户端操作系统的多媒体框架技术截获来自捕捉设备的视频,并对其进行转换代码和压缩。捕获设备的制造商提供插入操作系统内核流技术推送体系结构的驱动程序。
客户端处理与网络摄像机的通信。之后,客户端仅将视频发送到可以正确显示它的服务器。服务器不能直接与网络摄像机通信,但其集成可在您的桌面中为您提供相同的体验。Workspace 应用程序会压缩视频以节省带宽,并在 WAN 场景中提高恢复能力。
注意:
- 此功能仅支持来自 Citrix Workspace 应用程序客户端的 H.264 视频。
- 支持的网络摄像机分辨率在 48x32 到 1920x1080 之间。
- 使用网络摄像机时,请勿从 Citrix Workspace 应用程序工具栏中选择通用 USB 设备。否则,可能会出现意外的问题。
支持的 Linux 发行版
- RHEL 8.3/CentOS 8.3
- RHEL 7.9/CentOS 7.9
- Ubuntu 20.04
- Ubuntu 18.04
- Ubuntu 16.04
- Debian 10
完全测试的网络摄像机
不同的网络摄像机提供不同的帧速率,并具有不同级别的亮度和对比度。Citrix 使用以下网络摄像机进行初始功能验证:
- Logitech HD Webcam C270
- Logitech Webcam C930e
- Microsoft-LifeCam-HD3000
配置
默认情况下启用此功能。要使用,请完成以下验证和配置:
提示:
Citrix Workspace 应用程序用户可以通过选择 Desktop Viewer 麦克风和网络摄像机设置不连接来覆盖默认设置。
-
VDA 安装完成后,验证 VDA 是否能够在 Delivery Controller 中注册,以及已发布的 Linux 桌面会话是否能够使用 Windows 凭据成功启动。
-
确保您的 VDA 可以访问 Internet,然后运行
sudo /opt/Citrix/VDA/sbin/ctxwcamcfg.sh
命令以完成网络摄像机配置。如果您的 VDA 无法访问 Internet,请转到步骤 3。如果您的 VDA 部署在 Debian 10 上,请确保其在最新的内核版本上运行。否则,请运行以下命令以更新到最新的内核版本:
sudo apt-get update sudo apt-get dist-upgrade sudo reboot <!--NeedCopy-->
ctxwcamcfg.sh 脚本有助于:
- 在 VDA 上安装
FFmpeg
、kernel-devel
和动态内核模块支持 (DKMS) 程序。-
FFmpeg
用于视频解码。 -
kernel-devel
用于构建相应版本的虚拟网络摄像机内核模块。 - DKMS 用于动态管理虚拟网络摄像机内核模块。
注意:
在 RHEL 和 CentOS 上安装上述程序时,
ctxwcamcfg.sh
脚本会在您的 VDA 上安装并启用以下存储库:- 适用于 Enterprise Linux (EPEL) 的额外软件包
- RPM Fusion
-
-
从 https://github.com/umlaeute/v4l2loopback 中下载
v4l2loopback
开源代码并使用 DKMS 管理v4l2loopback
。
v4l2loopback
是一个允许您创建 V4L2 环回设备的内核模块。 - 运行
sudo service ctxwcamsd restart
命令。Linux VDA 的网络摄像机服务 -ctxwcamsd
- 重新启动并加载 HDX 网络摄像机视频压缩功能的v4l2loopback
内核模块。
- 在 VDA 上安装
-
如果您的 VDA 无法访问 Internet,请在另一台计算机上构建 v4l2loopback 内核模块,然后再将其复制到您的 VDA。
-
准备一台能够访问 Internet 且内核版本与 VDA 相同的生成计算机。
uname -r
命令可帮助查找内核版本。 -
在生成计算机上,运行
sudo mkdir -p /var/xdl
命令。 -
将
/var/xdl/configure_*
从您的 VDA 复制到/var/xdl/
下方的生成计算机。 - 在生成计算机上,运行
sudo /opt/Citrix/VDA/sbin/ctxwcamcfg.sh
命令以生成内核模块。如果该命令成功运行,则会在/var/lib/dkms/v4l2loopback/1.81b8df79107d1fbf392fdcbaa051bd227a9c94c1/$(uname -r)/x86_64/module/
路径下创建 v4l2loopback.ko 文件。忽略在运行 ctxwcamcfg.sh 脚本时可能会出现的错误。 - 将 v4l2loopback.ko 从生成计算机复制到您的 VDA 并将其置于
/opt/Citrix/VDA/lib64/
下方。 - 在您的 VDA 上,运行
sudo service ctxwcamsd restart
命令以重新启动网络摄像机服务并加载 v4l2loopback 内核模块。 - 请确保先在您的 VDA 上安装 FFmpeg 程序,然后才能使用 HDX 网络摄像机视频压缩功能。
-