Как транслировать звук с Ubuntu на Apple AirTunes (AirPort Express)
TL;DR
Несложный способ: установите пакет модуля PulseAudio для RAOP и инструмент настройки paprefs, включите обнаружение AirTunes и переключите выход звука в настройках системы на устройство AirPort Express. Подойдёт для прослушивания музыки; задержка около 6 секунд делает его непригодным для синхронизации с видео. В статье — пошагово, советы по устранению неполадок и альтернативы.

Я по духу — пользователь Ubuntu, но в небольшой команде iSupportU есть несколько настоящих поклонников Apple. Недавно внутренняя рассылка сообщила, что музыку теперь можно посылать на нашу стереосистему через AirTunes.
Сначала я фыркнул на фирменную терминологию Apple, затем задумался: можно ли это использовать из Ubuntu? Другой коллега на Linux задал тот же вопрос вслух, и я начал искать решение. В этом руководстве, написанном на примере Ubuntu 10.04, собраны рабочие шаги, отладка и альтернативные подходы. Подход применим и к другим дистрибутивам Linux с соответствующими пакетами.
Что это значит простыми словами
AirTunes — старое название Apple для потоковой передачи аудио по сети (протокол RAOP, позже развившийся в AirPlay). Цель — отправить звук с вашего компьютера на AirPort Express или совместимое устройство, чтобы оно воспроизводило звук через колонки.
Короткое определение: RAOP — Remote Audio Output Protocol, сетевой протокол для передачи аудио, который поддерживают старые версии AirPort/Apple-устройств.
Требования и примечания
- Ubuntu или другой дистрибутив с PulseAudio.
- Доступ к интернету/локальной сети, где виден AirPort Express.
- Пакеты pulseaudio-module-raop и paprefs (названия пакетов могут отличаться в других дистрибутивах).
Важно: это решение подходит для музыки. Для просмотра видео задержка (~6 с) делает синхронизацию изображения и звука проблемной.
Шаг 1 — Установка необходимых пакетов
Откройте терминал и выполните:
sudo apt-get install pulseaudio-module-raop paprefsПримечание для пользователей других дистрибутивов: в Fedora, openSUSE или Arch названия пакетов и менеджеры пакетов отличаются. Ищите «pulseaudio raop» или «paprefs» в репозиториях или AUR.
Шаг 2 — Включение обнаружения AirTunes
Запустите программу настройки PulseAudio: в терминале введите «paprefs» или нажмите «Alt»+«F2» и введите «paprefs».
В разделе сетевой совместимости отметьте опцию «Make Discoverable Apple AirTunes sound devices available locally» (сделать обнаруживаемыми устройства Apple AirTunes локально). Это разрешит PulseAudio находить устройства AirTunes в сети.
Совет: если GUI не запускается, убедитесь, что вы запустили paprefs под тем же пользователем, который использует сеанс PulseAudio.
Шаг 3 — Переключение аудиовыхода на AirTunes
Нажмите иконку громкости в системном лотке и выберите «Preferences» (или откройте настройки звука), затем вкладку «Output». Там вы увидите список доступных устройств, включая ваш AirPort Express:
Выберите устройство AirTunes как выход. Если его нет — перезапустите PulseAudio:
pulseaudio -k
pulseaudio --startИли просто перезагрузите компьютер.
Краткая методология применения (mini-SOP)
- Установить pulseaudio-module-raop и paprefs.
- В paprefs включить обнаружение AirTunes.
- Перезапустить PulseAudio (если требуется).
- В настройках звука выбрать устройство AirTunes.
- Тест: воспроизвести музыку, проверить задержку.
Частые проблемы и способы устранения
Устройство не отображается:
- Убедитесь, что AirPort Express и компьютер в одной сети и видимость не ограничена брандмауэром.
- Перезапустите PulseAudio командой выше.
- Проверьте, не использует ли устройство другой клиент — иногда AirPort блокирует новое подключение.
Сообщение о том, что кто-то уже подключён:
- Иногда сервер (AirPort Express) считает, что сессия занята. Перезагрузка AirPort Express решает проблему.
- Альтернатива: попробовать отключить клиент или дождаться истечения сессии.
Задержка ~6 секунд:
- Нормально для RAOP через PulseAudio; мешает при видео. Уменьшить можно экспериментально, изменяя буферы, но стабильнее — использовать локальные решения для AirPlay.
Факто-бокс: ключевые числа
- Типичная задержка при использовании pulseaudio-module-raop: ~6 секунд. Это ориентир, может варьироваться в зависимости от сети.
- Поддержка: старые AirPort Express (RAOP/AirTunes) совместимы; AirPlay 2 — не всегда.
Альтернативные подходы (когда этот способ не подходит)
- shairport-sync (эмулятор AirPlay): создаёт локальный AirPlay-приёмник на Linux и позволяет получить более точный контроль и меньшую задержку в некоторых сценариях. Полезен, если вы хотите, чтобы Linux-устройство выступало в роли целевого устройства.
- Forked-daapd / OwnTone: медиа-серверы с поддержкой AirPlay/DAAP для стриминга и управления библиотеками.
- Аппаратные решения: Raspberry Pi с shairport-sync + HAT ЦАП для стабильного low-latency решения.
Когда этот способ не сработает:
- Если ваше устройство использует AirPlay 2 и не поддерживает старый RAOP.
- Если нужен низкий latency для видео/игр.
Совместимость и советы по миграции
- Если вы используете более новые версии Ubuntu или PulseAudio, модуль RAOP может вести себя иначе. Рассмотрите переход на PipeWire — он современнее, но потребует иных настроек и модулей для AirPlay.
- Для Fedora/Arch/SUSE ищите пакеты с именами, связанными с pulseaudio, raop или paprefs.
Роль-персонализированные чеклисты
Для обычного пользователя:
- Установить пакеты.
- Включить обнаружение в paprefs.
- Переключить выход в настройках звука.
- Проверить воспроизведение и громкость.
Для администратора сети:
- Убедиться, что mDNS/Bonjour (порт 5353 UDP) не блокируется.
- Контролировать, что AirPort Express находится в той же подсети.
- Логировать подключения, если несколько пользователей жалуются на блокировки.
Быстрый чек на «почему не работает»
- AirPort и компьютер в одной сети?
- mDNS/Bonjour доступен через сеть?
- PulseAudio запущен от того же пользователя?
- Нет конкурирующих сессий на AirPort?
- Перезапуск PulseAudio помог?
Решение проблем: сценарии и тесты
Критерии приёмки:
- Музыка воспроизводится через колонки, подключённые к AirPort Express.
- Задержка аудио в пределах приемлемого для прослушивания музыки (даже если не для видео).
Тестовые шаги:
- Воспроизвести трек и убедиться, что звук идёт через AirPort.
- Переключиться обратно на локальные динамики и убедиться, что звук возвращается.
- Попросить коллегу подключиться после вас — проверьте, не блокируется ли устройство.
Мермайд: простое дерево принятия решения
flowchart TD
A[Нужен звук на AirPort Express?] --> B{Устройство поддерживает AirPlay 'RAOP'?}
B -- Да --> C[Установить pulseaudio-module-raop и paprefs]
B -- Нет --> D[Рассмотреть shairport-sync или аппаратное решение]
C --> E{Работает и задержка приемлема?}
E -- Да --> F[Использовать как есть]
E -- Нет --> DКраткое резюме и рекомендации
- Простое решение: pulseaudio-module-raop + paprefs; удобно и быстро для музыки.
- Ограничения: заметная задержка, возможные проблемы с блокировкой сессий и несовместимость с AirPlay 2.
- Если нужна надёжность и низкая задержка — рассмотрите shairport-sync на отдельном устройстве или переход на PipeWire при поддержке AirPlay.
Если вы нашли способ уменьшить задержку или автоматически разлогиниваться с AirPort Express без перезагрузки устройства — поделитесь решением в комментариях или на форуме.
Photo credit: Jared C. Benedict
Вопросы и ответы
В: Подойдёт ли это для просмотра фильмов?
Нет. Для видео задержка около 6 секунд обычно делает синхронизацию невозможной.
В: Поддерживает ли это AirPlay 2?
Не всегда. pulseaudio-module-raop ориентирован на старые реализации RAOP/AirTunes. AirPlay 2 использует другие механизмы, и совместимость может отсутствовать.
В: Можно ли автоматизировать выход из сеанса AirPort без перезагрузки устройства?
В ряде случаев можно отправить управляющий запрос или отключить клиент на стороне PulseAudio, но универсального решения нет; проще перезагрузить AirPort Express или дождаться окончания сессии.