Потоковое системное аудио через mpd

Запустите различные программы параметров громкости такой как alsamixergui и проверьте, что все соответствующие регуляторы громкости установлены на достаточный объем. Иногда несколько средств управления относятся к выводу того, поэтому если какой-либо из них является бесшумным, Вы не получаете звука.

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

4
26.04.2013, 12:52
2 ответа

mpd не признает, что pulseaudio вводят источники, таким образом, нет никакого прямого способа направить pulseaudio через mpd.

Однако то, что Вы хотите выполнить, все еще возможно, с помощью gstreamer и некоторого ума. Я выполнил это несколько лет назад.

Я записал эту программу, которая реализует "Конвейерный компонент" Сценария Gstreamer этой схемы:

потоковая схема http://tiyukquellmalz.org/sean/stream.svg

Для подведения схемы вот то, что происходит:

  • mpd прочитывает музыкальные файлы диска, декодирует их и "играет" их к a module-null-sink введите аудиовыход pulseaudio.
  • Любые другие программы Вы хотите работать на своем компьютере, которые производят звук - Adobe Flash, звуковые сигналы от оболочки гнома, веб-браузера, и т.д. также отправляют свой аудиовыход в module-null-sink из pulseaudio (это сделало аудиоустройство по умолчанию системы).
  • module-null-sink вывод имеет a .monitor источник, который позволяет Вам взять аудио, это выставлено к пустому приемнику и "получению", это въезжает задним ходом, как будто это было устройство ввода данных (как микрофон).
  • Pulseaudio выполняет программное обеспечение, смешивающееся на лету всех аудио программ на всем компьютере, включая mpd, веб-браузеры и все остальное с помощью pulseaudio.
  • tribblify программа, что я записал использованию GStreamer для записывания pulseaudio пустого аудио монитора приемника, которое содержит смешанное аудио обоих mpd, а также любые другие программы в системе; выполните кодирование MP3; затем передайте его потоком к shoutcast / icecast сервер. tribblify по существу становится "источником потоковой передачи".
  • tribblify программа автоматически обнаруживает, когда теги изменений mpd аудио проигрывания и продвигают те теги вниз shoutcast поток.
  • icecast или shoutcast сервер, который может быть на том же компьютере или другом, потоки результаты всем связанным клиентам.
5
27.01.2020, 20:54
  • 1
    Это - эпическая установка. Я не должен больше передавать свои системные звуки потоком, но я уверен, что это собирается помочь большому количеству людей. –  Profpatsch 14.01.2014, 23:07

да - ключевым моментом здесь является возможность обратной связи ALSA. поэтому сначала вам нужно включить устройство обратной связи в ALSA, которое появится в PulseAudio Volume Control как устройство ввода (а также устройство вывода).

sudo modprobe snd_aloop

это устройство затем может быть добавлено к серверу mpd:

mpc add alsa://hw:1,1

где hw: 1,1 - устройство ввода обратной связи, может быть указано с помощью команды aplay -l

, тогда вам необходимо настроить плагин вывода http для mpd. следующий пример будет выглядеть так, как в /etc/mpd.conf

 audio_output {
    type            "httpd"
    name            "My HTTP Stream"
    encoder         "vorbis"          # optional, vorbis or lame
    port            "8000"
    bind_to_address "192.168.1.38"               # optional, IPv4 or IPv6
    quality         "5.0"                   # do not define if bitrate is d$
#   bitrate         "128"                   # do not define if quality is d$
    format          "44100:16:1"
    max_clients     "0"                     # optional 0=no limit
 }  

, вот и все. На вкладке «Воспроизведение с регулировкой громкости» выберите устройство обратной связи для вашего аудиоисточника.
Наконец, вы можете использовать VLC или любое другое средство визуализации потока в точке назначения, используя URL-адрес httpd: http://192.168.1.38:8000

0
27.01.2020, 20:54

Теги

Похожие вопросы