With the Real-Time Audio-Video feature, if you have multiple webcams and microphones on your client system, only one webcam and one microphone can be used on your remote desktop. To specify which webcam and microphone are preferred, you can edit a configuration file.

The preferred webcam or microphone is used on the remote desktop if it is available, and if not, another webcam or microphone is used.

With the Real-Time Audio-Video feature, webcams, audio input devices, and audio output devices work without requiring the use of USB redirection, and the amount network bandwidth required is greatly reduced. Analog audio input devices are also supported.

To set the properties in the /etc/vmware/config file and specify a preferred device, you must determine the values of certain fields. You can search the log file for the values of these fields.

  • For webcams, you set the rtav.srcWCamId property to the value of the UserId field for the webcam and the rtav.srcWCamName property to the value of the Name field for the webcam.

    The rtav.srcWCamName property has a higher priority than the rtav.srcWCamId property. Both properties should specify the same webcam. If the properties specify different webcams, the webcam specified by rtav.srcWCamName is used, if it exists. If it does not exist, the webcam specified by rtav.srcWCamId is used. If both webcams are not found, the default webcam is used.

  • For audio devices, you set the rtav.srcAudioInId property to the value of the Pulse Audio device.description field.

Prerequisites

Depending on whether you are configuring a preferred webcam, preferred microphone, or both, perform the appropriate prerequisite tasks:

  • Verify that you have a USB webcam installed and operational on your client system.
  • Verify that you have a USB microphone or another type of microphone installed and operational on your client system.
  • Verify that you are using the VMware Blast display protocol or the PCoIP display protocol for your remote desktop.

Procedure

  1. Launch the client, and start a webcam or microphone application to trigger an enumeration of camera devices or audio devices to the client log.
    1. Attach the webcam or audio device you want to use.
    2. Use the command vmware-view to start Horizon Client.
    3. Start a call and then stop the call.
      This process creates a log file.
  2. Find log entries for the webcam or microphone.
    1. Open the debug log file with a text editor.
      The log file with real-time audio-video log messages is located at /tmp/vmware-<username>/vmware-RTAV-<pid>.log. The client log is located at /tmp/vmware-<username>/vmware-view-<pid>.log.
    2. Search the log file to find the log file entries that reference the attached webcams and microphones.

      The following example shows an extract of the webcam selection:

      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

      The following example shows an extract of the audio device selection, and the current audio level for each:

      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
      Warnings are shown if any of the source audio levels for the selected device do not meet the PulseAudio criteria if the source is not set to 100% (0dB), or if the selected source device is muted, as follows:
      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. Copy the description of the device and use it to set the appropriate property in the /etc/vmware/config file.
    For a webcam example, copy Microsoft® LifeCam HD-6000 for Notebooks and Microsoft® LifeCam HD-6000 for Notebooks#/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-3/1-3.6 to specify the Microsoft webcam as the preferred webcam and set the properties as follows:
    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”

    For this example, you could also set the rtav.srcWCamId property to "Microsoft". The rtav.srcWCamId property supports both partial and exact matches. The rtav.srcWCamName property supports only an exact match.

    For an audio device example, copy Logitech USB Headset Analog Mono to specify the Logitech headset as the preferred audio device and set the property as follows:
    rtav.srcAudioInId="Logitech USB Headset Analog Mono"
  4. Save your changes and close the /etc/vmware/config configuration file.
  5. Log off of the desktop session and start a new session.