Pull to refresh

Настройка аналога RDP-сервера на Mac OS X (решение проблем с передачей звука)

Reading time2 min
Views4.2K

О чем эта статья?


Я хочу рассказать о том, каким образом можно достичь удаленной передачи системных звуков (помимо изображения) на Mac OS X. Как вы знаете, передача изображения и удаленное управление компьютером Mac не составляет труда: вы отмечаете галочку «общий экран» в настройках «общего доступа», ставите пароль на VNC, подключаетесь с помощью любого VNC-клиента (к примеру, RealVNC в режиме «Full colors») и всё, можно работать. То же самое можно сказать про SSH: отмечаете галочку «удаленный вход» и получаете доступ по SSH.

Расставленные галочки :)

Как обстоят дела со звуком?


Передача звука в MacOS X по умолчанию не предусмотрена. По крайней мере, я не нашел простых способов ее включить. Поэтому я предлагаю передавать звук отдельно. С помощью некоторой сторонней программы, которая, к примеру, может являться сервером интернет-радиостанции. Я нашел несколько таких программ, и одна из них — Nicecast. Она платная, к сожалению, но триальная версия лишь включает шум после 20 минут трансляции, в остальном она работает также, как и полная.

Что дает эта программа?


С помощью Nicecast вы можете транслировать звук определённого приложения (iTunes, Quicktime), звук с микрофона и системные звуки. Последний пункт требует установки библиотеки Soundflower, но она включена в дистрибутив, так что проблем с установкой возникнуть не должно (деинсталлировать библиотеку можно из пункта меню Nicecast -> Install Extras...). В основном окне программы нажмите на кнопку Share, и выберите «System audio», программа автоматически предложит установку драйвера soundflower. После этого Вы можете начать трансляцию, нажав «Start broadcasting»

image

image

На самом деле, вы уже можете приступать к работе, запустив любой из проигрывателей, поддерживающих соединение с URL. Откройте http://ваш_ip_адрес:8100/listen.m3u на другом компьютере, после этого подсоединитесь к своему компьютеру по VNC. Вы скорее всего ощутите некоторую задержку в передаче звука, обычно пару секунд. Установите минимальную (но не нулевую) буферизацию интернет-потока в вашем проигрывателе, и задержка должна упасть до ~0.5 сек. Хочу заметить, что на скоростной локальной сети звук передается очень гладко, без рывков, как обычно это бывает у RDP. Вы также можете играть в игры вроде Civilization или SPORE на удаленном компьютере, если у вас достаточно высокоскоростная сеть [обычно 100 Мбит недостаточно для игр :(].

Ограничение доступа


У вас может возникнуть вопрос — как же не дать всем подряд слушать звук на вашем компьютере? Ответ следующий: в верхнем меню можно выбрать Window -> Show server, или просто нажать Cmd+2, и перед вами предстанет окно управления сервером.

Если Вам требуется простая защита — поставьте просто число слушателей в 1 человека, и включайте Nicecast после того, как войдете на компьютер по VNC. Если вы хотите большей изощрённости, то можно указать в качестве IP-адреса сервера только 127.0.0.1 и подсоединяться к серверу звука, используя SSH-тоннель (помните, мы включали SSH-сервер :)? В этой теме есть пример создания SSH-тоннеля.

Скринкаст


Для желающих, я записал 14минутный скринкаст, поясняющий и наглядно демонстрирующий написанное выше.

Скринкаст в формате QuickTime
Tags:
Hubs:
+2
Comments0

Articles