Hyper-V и multimedia: звуковые карты и запись на CD/DVD

Сегодня я хочу предупредить возможные вопросы относительно использования звуковых карт и записи CD/DVD дисков из виртуальных машин. Сразу отмечу, что Hyper-V не виртуализует звуковые карты. Для этого класса устройств не существует связки Virtual Service Provider / Virtual Service Client — и вот почему:

  • Большинство серверов (а Hyper-V разрабатывается именно для серверов) не имеют звуковых карт. Мало кого интересует музыка в серверной.
  • Даже если бы Hyper-V предоставлял виртуализацию звуковой карты, вы бы ей не пользовались. Ведь, согласно рекомендациям Microsoft, в подавляющем большинстве случаев вы будете обращаться к виртуальной машине через «Удаленный рабочий стол» или Hyper-V Manager. Последний не интересен тем, что все звуки оставит в серверной, а первый — тем, что заменит драйвер реальной звуковой карты (физического сервера или виртуальной машины) на синтетическое устройство «RDP Sound». Проверьте в диспетчере устройств (Device Manager), как выглядит звуковая карта на сервере, к которому вы обратились по RDP. То же самое вы получите и в виртуальной машине.

Если вы думаете, что отсутствие поддержки звуковых карт в Hyper-V оставит вас без звука при терминальном доступе к виртуальной машине, то вы ошибаетесь. Спасибо разработчикам команды Terminal Services. Клиент RDP версий 5.x и выше может донести стереозвук от виртуальной машины в серверной до вашего рабочего компьютера. Так что вы не заметите большой разницы. Все это применимо и для виртуальных машин на Virtual Server. Как это работает, вы все видели.

  • Запустите Remote Desktop Connection Client (клиента «Удаленного рабочего стола»).
  • Выберите закладку Resources.
  • Первая же настройка указывает параметры Remote Computer Sound. Вы можете перенаправить звук с удаленного сервера на ваш ПК — вне зависимости от того, является он реальным сервером или виртуальной машиной

Однако, не следует считать RDP Sound панацеей от всех бед со звуком в ВМ. Увы, реализация синтетической звуковой карты в RDP 5.x (Windows XP и Windows Server 2003) не дает полных возможностей реальной. Например, если вы попробуете настроить Office Communicator или Live Messenger для голосового общения, то даже успешно завершив Audio/Video Tunning wizard, вы получите ошибку при попытке принять звуковое сообщение:

И это проблема не в приложении. Стороние средства (например, Cisco IP Communicator) также выдают ошибки — на стадии настройки, запуска или попытки установить голосовое соединение:

Проблема — именно в реализации терминального драйвера в Windows XP / Server 2003. К виртуализации она отношения не имеет. То же самое вы получите, подключаясь к физическому компьютеру или запустив виртуальную машину в Xen. Терминальные службы Windows Vista SP1 / Server 2008 реализуют синтетическое устройство RDP Audio более полно — описанная выше проблема в этих ОС отсутствует. Но разработчики все равно говорят об ограниченном наборе поддерживаемых API. Подробно об этом можно почитать в Platform SDK. Я здесь останавливаться не буду, так как проблема RDP Audio к Hyper-V отношения не имеет.

С вопросом записи CD/DVD дисков из виртуальной машины все гораздо проще. Исследования показали, что в серверных сценариях у заказчиков нет реальной потребности в записи дисков из виртуальной машины. Даже если в сервере каким-то образом оказался пишущий привод, и вам необходимо записать диск — воспользуйтесь для этого основной (родительской) ОС. Если это Server Core, то на нем замечательно работают утилиты cdburn.exe и dvdburn.exe из Windows Server 2003 Resource Kit Tools.