启用实时音频-视频功能后,如果客户端系统中具有多个网络摄像头和麦克风,在 View 桌面中只能使用一个网络摄像头和一个麦克风。要指定首选网络摄像头和麦克风,您可以编辑配置文件。

如果有首选网络摄像头或麦克风,则远程桌面将使用首选网络摄像头;如果没有,则使用其他的网络摄像头或麦克风。

利用实时音频-视频功能,网络摄像头、音频输入设备和音频输出设备无需使用 USB 重定向即可运行,所需的网络带宽总量也大大降低。也支持模拟音频输入设备。

要在 /etc/vmware/config 文件中设置属性并指定首选设备,您必须确定特定字段的值。您可以在日志文件中搜索这些字段的值。

  • 对于网络摄像头,应将 rtav.srcWCamId 属性设置为网络摄像头的 UserId 字段值,将 rtav.srcWCamName 属性设置为网络摄像头的 Name 字段值。

    rtav.srcWCamName 属性的优先级高于 rtav.srcWCamId 属性。这两个属性都应指定同一个网络摄像头。如果这两个属性指定不同的网络摄像头,并且 rtav.srcWCamName 指定的网络摄像头确实存在,将使用该网络摄像头。如果该网络摄像头不存在,将使用 rtav.srcWCamId 指定的网络摄像头。如果这两个网络摄像头均找不到,则使用默认的网络摄像头。

  • 对于音频设备,您将 rtav.srcAudioInId 属性设置为脉冲音频 device.description 字段的值。

前提条件

根据您要配置首选网络摄像头和/或首选麦克风,执行相应的必备任务:

  • 确认客户端系统中已安装 USB 网络摄像头,且可正常使用。
  • 确认客户端系统中已安装 USB 麦克风或其他类型的麦克风,且可正常使用。
  • 验证您是否在远程桌面中使用 VMware Blast 或 PCoIP 显示协议。

过程

  1. 启动客户端,打开网络摄像头或麦克风应用程序,以触发照相机设备或音频设备的枚举并记录到客户端日志中。
    1. 添加您要使用的网络摄像头或音频设备。
    2. 使用 vmware-view 命令启动 Horizon Client
    3. 发起一次通话,然后停止。
      此过程将会创建一个日志文件。
  2. 查找网络摄像头或麦克风的日志条目。
    1. 使用文本编辑器打开调试日志文件。
      包含实时音频-视频日志消息的日志文件位于 /tmp/vmware-<username>/vmware-RTAV-<pid>.log 中。客户端日志位于 /tmp/vmware-<username>/vmware-view-<pid>.log 中。
    2. 搜索日志文件,查找引用连接的网络摄像头和麦克风的日志文件条目。

      以下示例显示了选定网络摄像头的摘录内容:

      main| I120: RTAV: static void VideoInputBase::LogDevEnum() - 3 Device(s) found
      main| I120: RTAV: static void VideoInputBase::LogDevEnum() - Name=UVC Camera (046d:0819)   UserId=UVC Camera (046d:0819)#/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-3/1-3.4/1-3.4.5   SystemId=/dev/video1
      main| I120: RTAV: static void VideoInputBase::LogDevEnum() - Name=gspca main driver   UserId=gspca main driver#/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-3/1-3.4/1-3.4.7   SystemId=/dev/video2
      main| I120: RTAV: static void VideoInputBase::LogDevEnum() - Name=Microsoft® LifeCam HD-6000 for Notebooks   UserId=Microsoft® LifeCam HD-6000 for Notebooks#/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-3/1-3.6   SystemId=/dev/video0
      main| W110: RTAV: static bool AudioCaptureLin::EnumCaptureDevices(MMDev::DeviceList&) - enumeration data unavailable

      以下示例显示了选定音频设备的摘录内容以及每个设备当前的音频等级:

      vthread-18| I120: RTAV: bool AudioCaptureLin::TriggerEnumDevices() - Triggering enumeration
      vthread-18| I120: RTAV: static void AudioCaptureLin::PulseAudioGetSourceCB(pa_context*, const pa_source_info*, int, void*) - PulseAudio Get Source (idx=1 'alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo.monitor' 'Monitor of Logitech USB Headset Analog Stereo')
      
      vthread-18| I120: RTAV: static void AudioCaptureLin::PulseAudioGetSourceCB(pa_context*, const pa_source_info*, int, void*) - channel:0 vol:65536
      vthread-18| I120: RTAV: static void AudioCaptureLin::PulseAudioGetSourceCB(pa_context*, const pa_source_info*, int, void*) - channel:1 vol:65536
      vthread-18| I120: RTAV: static void AudioCaptureLin::PulseAudioGetSourceCB(pa_context*, const pa_source_info*, int, void*) - PulseAudio Get Source (idx=2 'alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono' 'Logitech USB Headset Analog Mono')
      
      vthread-18| I120: RTAV: static void AudioCaptureLin::PulseAudioGetSourceCB(pa_context*, const pa_source_info*, int, void*) - channel:0 vol:98304
      vthread-18| I120: RTAV: static void AudioCaptureLin::PulseAudioGetSourceCB(pa_context*, const pa_source_info*, int, void*) - PulseAudio Get Source (idx=3 'alsa_output.usb-Microsoft_Microsoft_LifeChat_LX-6000-00-LX6000.analog-stereo.monitor' 'Monitor of Microsoft LifeChat LX-6000 Analog Stereo')
      
      vthread-18| I120: RTAV: static void AudioCaptureLin::PulseAudioGetSourceCB(pa_context*, const pa_source_info*, int, void*) - channel:0 vol:65536
      如果选定设备的任何源音频级别均不符合脉冲音频标准、源未设置为 100% (0dB) 或选定源设备已静音,则会显示如下所示的警告:
      vthread-18| I120: RTAV: static void AudioCaptureLin::PulseAudioSourceInfoCB(pa_context*, const pa_source_info*, int, void*) - Note, selected device channel volume: 0:  67%
      vthread-18| I120: RTAV: static void AudioCaptureLin::PulseAudioSourceInfoCB(pa_context*, const pa_source_info*, int, void*) - Note, selected device channel is muted
  3. 复制设备的描述并使用它在 /etc/vmware/config 文件中设置相应的属性。
    以网络摄像头为例,可通过复制 Microsoft® LifeCam HD-6000 for NotebooksMicrosoft® LifeCam HD-6000 for Notebooks#/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-3/1-3.6 将 Microsoft 网络摄像头指定为首选的网络摄像头,并按如下方法设置属性:
    rtav.srcWCamName = “Microsoft® LifeCam HD-6000 for Notebooks”
    rtav.srcWCamId = “Microsoft® LifeCam HD-6000 for Notebooks#/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-3/1-3.6”

    在此例中,您也可以将 rtav.srcWCamId 属性设置为 "Microsoft"rtav.srcWCamId 属性支持部分匹配和完全匹配。rtav.srcWCamName 属性仅支持完全匹配。

    对于音频设备示例,复制 Logitech USB Headset Analog Mono,以将 Logitech 耳机指定为首选音频设备,并按照如下所示设置属性:
    rtav.srcAudioInId="Logitech USB Headset Analog Mono"
  4. 保存所做的更改,并关闭 /etc/vmware/config 配置文件。
  5. 注销桌面会话并启动新会话。