Воспроизведение локального аудио на удалённом компьютере (Linux)

Вопрос или проблема

Можно ли передать аудио с моего локального компьютера на удаленный, например, через SSH?

Я знаю, что это передает микрофон на другой компьютер

dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp

но, так как я не сам это придумал, честно говоря, я не знаю, как применить это для воспроизведения музыки.

Вы хотите воспроизвести это через динамики вашего компьютера (в отличие от динамиков удаленного компьютера)? Этот вопрос на superuser.com может пролить свет на это. Forwarding audio like X in SSH

Вы можете использовать mpd для удаленного воспроизведения, но это работает так: вы настраиваете сервер mpd на одном компьютере, где находится ваша коллекция mp3/ogg, и затем можете использовать mpd-клиент (например, sonata) на другом компьютере, где вы воспроизводите музыку.

Все зависит от того, где вы хотите управлять воспроизведением – на сервере (где находится музыкальная библиотека) или на клиенте (где подключены динамики). Если вы хотите управлять на клиенте, mpd – ваш друг.

Если же, с другой стороны, вы просто хотите глупый ПК с подключенными динамиками, и хотите управлять тем, что воспроизводится, с другого ПК с музыкальной библиотекой, тогда, думаю, стоит попробовать icecast, хотя я еще не пробовал это.

Или, третий способ, у вас есть библиотека и динамики на одном ПК, и вы просто управляете всем с другого ПК. Это лучше всего сделать с помощью конфигурации mpd, где клиент и сервер находятся на одном ПК (том, где находится библиотека и динамики), и вы просто подключаетесь к нему через ssh и используете консольный клиент для управления музыкой (консольные mpd-клиенты: mpc, ncmpcpp – мой любимый).

Я могу придумать другую конфигурацию: один ПК для управления музыкой, один ПК с динамиками и третий ПК (скорее всего, NAS), который хранит музыкальную библиотеку в сети – это тоже легко сделать с mpd.

Вопрос немного устарел, но в 2018 году на системе Linux самым простым методом было бы использование Pulseaudio: либо непосредственно подключиться к удаленному серверу Pulseaudio, либо создать локальную точку, которая подключена к удаленному источнику (module-tunnel-*). Другие варианты – использование аудиостриминговых протоколов внутри или вне Pulseaudio, таких как NTP (module-rtp-) или ROAP (Apple AirPort, module-roap-*).

Более подробная информация о настройке различных альтернатив описана, например, здесь. Также смотрите страницу модулей Pulseaudio здесь.

.

Ответ или решение

Вопрос об отправке аудио с локального компьютера на удаленный с использованием Linux действительно интересен и актуален для многих пользователей, желающих оптимизировать использование своих аудиоресурсов. Давайте начнем с понимания всех возможных методов достижения этой цели, максимально учитывая современные технологии.

Решение задачи: Воспроизведение локального аудио на удаленном компьютере через Linux

Использование SSH для передачи аудио

Перенос аудио данных через SSH возможен, хотя и требует некоторых технических решений. Пример команды:

dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp

Эта команда позволяет передавать аудиопоток с устройства записи (например, микрофона) на другой компьютер. Однако, для воспроизведения музыки вместо записи устройства (например, /dev/dsp), нужно использовать источник, который воспроизводит аудио.

Использование PulseAudio

PulseAudio предоставляет более современный и гибкий способ управления звуком в сети. Вот некоторые из подходов:

  1. Прямое подключение к удаленному серверу PulseAudio:

    • Это возможно с использованием module-tunnel-sink или module-tunnel-source, что позволяет перенаправлять звуковой выход с одного компьютера на другой.
  2. Конфигурация сети с PulseAudio:

    • Подключение через сеть может быть настроено для передачи аудиоданных с одного компьютера на другой, используя module-rtp-send и module-rtp-recv для RTP стриминга.
  3. Использование других аудиопротоколов:

    • Протоколы вроде ROAP (Apple AirPort) также доступны через такие модули как module-roap-sink или module-roap-source.

Использование MPD и Icecast

MPD (Music Player Daemon) является отличным выбором для тех, кто хочет управлять воспроизведением самих аудиофайлов на удаленном сервере:

  • MPD: Установите сервер MPD на компьютер с аудиобиблиотекой и используйте MPD клиента (например, ncmpcpp) на другом компьютере для управления воспроизведением.
  • Icecast: Для потокового аудио можно рассмотреть Icecast, настройка которого позволит вам стримить аудио на удаленные слушатели.

Оптимальные стратегии

В зависимости от конфигурации вашей системы и предпочитаемого уровня контроля, каждый из упомянутых методов предлагает различные преимущества. Если необходимо контролировать процесс удаленно с минимальными задержками, PulseAudio будет наиболее подходящим вариантом благодаря своей гибкости и поддержке современных технологий.

Еще одной возможностью может быть использование DLNA-серверов или других пригодных кроссплатформенных решений, что позволит воспроизводить аудио на устройствах в вашей локальной сети, поддерживающих DLNA.

Заключение

На данный момент существует несколько эффективных методов для передачи и воспроизведения аудио с одного Linux-компьютера на другой. Ваш выбор должен основываться на конкретных потребностях и технических условиях среды. Всегда следите за обновлениями программного обеспечения, чтобы использовать наиболее стабильные и функциональные версии аудиосерверов и их модулей.

Оцените материал
Добавить комментарий

Капча загружается...