Icecast создает аудио потоки на различных платформах. Позволяя нам использовать Raspberry Pi. Он легко устанавливается и работает на Raspbian Lite с настройкой безголового сервера для повышения эффективности, но подойдет любой вариант Raspbian. Используя Raspian Lite вместе с Icecast, вы можете передавать потоковое аудио из любого каталога или списка каталогов, которые вы предоставляете на сервер в файле XML. Вы можете использовать другое программное обеспечение наряду с Icecast для управления различными аспектами аудиопотока. Alsa является одним из самых популярных и часто используемых сторонних программ, используемых на многих аудиосерверах, включая Icecast.
С Alsa вы можете:
- Воспроизведение потоков из исходного приложения, такого как Ices
- Управляйте настройками звука с помощью командной строки
- Микшируйте аудио с программным микшированием в текстовом интерфейсе
Потоковая передача во время воспроизведения не будет отставать из-за нехватки доступных аппаратных ресурсов, используемых другими приложениями, потому что Icecast не работает в GUI таким образом.
Распбиан для запуска Icecast
Если в будущем вы модернизируете свое оборудование с Pi, Raspbian будет дистрибутивом, созданным на основе Debian. Это почти Debian. Все, что вы научитесь делать в Raspbian, можно сделать снова на стандартном ПК в дистрибутивах Debian или Ubuntu.
Pi дает вам возможность совершать ошибки менее чем за 40 долларов. Вы не будете плакать из-за денег, которые потратили, если они ломают ошибки, которые вы могли бы совершить на полноценном HTPC-сервере. Raspberry Pi — это микрокомпьютер. Это означает, что меньше, чем мини-компьютер. Это самое маленькое компьютерное устройство, которое вы можете купить и собрать самостоятельно.
3 лучших автономных загрузчика Bittorrent:
Требования к Icecast
Из этого туториала вы узнаете некоторые основные сведения о ваших знаниях и опыте работы с Raspberry Pi.
- Raspbian Lite установлен на SD-карту
- Вы уже собрали оборудование для Pi
- Raspbery Pi подключен к домашней сети и интернету
- Вы знаете, как вводить команды в командной строке
Если нет, пожалуйста, обратитесь к превосходной справочной документации Raspberry Pi, доступной на веб-сайте их организации.
Лучше избегать префикса каждой команды, sudoя рекомендую переключиться на суперпользователя с помощью sudo.
sudo suЧтобы сделать это, войдите под своим паролем пользователя, который по умолчанию является «малиновым» для пользователя pi.
Оказавшись в командной строке, полезно всегда сначала запускать обновления и обновлять систему.
apt-get update
apt-get dist-upgrade
Подготовка Pi к Icecast
Большая часть процесса установки любого вида сервера — это подготовка системы. Мы должны убедиться, что наша установка Raspbian Lite готова использовать оборудование для получения качественного звука. Многие аудиосерверы работают с полным набором пакетов репозитория Alsa.
apt-get install libogg-dev libvorbis-dev libshout-dev
libxml2 libasound2 libasound2-doc
alsa-utils alsa-oss alsamixerguiДобавить пользователя pi в аудио группу для Alsa
Создайте группу под названием audio и сделайте пользователя pi частью группы audio, чтобы предоставить Alsa те же разрешения, что и для pi. Если вы предпочитаете, создайте другого пользователя для Icecast.
groupadd audio
usermod -aG audio piДобавление пользователя пи в аудиогруппу
Список ваших звуковых устройств
Термины «звуковая карта» и «звуковое устройство» могут использоваться взаимозаменяемо при настройке ваших устройств. Чтобы увидеть список ваших устройств захвата звука использовать arecord.
arecord -lPi не показывает ничего, пока вы не создадите его с PCM, что означает импульсную кодовую модуляцию. PCM манипулирует звуком внутри компьютера. Мы будем использовать его для создания модулей для подключения драйверов Alsa к звуковым устройствам. Звуковое устройство для подключения будет встроенной звуковой системой Pi в качестве «звуковой карты».
XML-файлы Alsa asound.conf и .asoundrc
Эту конфигурацию можно настроить глобально, создав файл asound.conf.
nano /etc/asound.confЛокальная конфигурация для pi (или другого пользователя) может храниться в файле asoundrc. Несмотря на то, что вы можете создать глобальный файл конфигурации для настройки своих настроек, обычная настройка использует профиль пользователя.
nano /home/pi/.asoundrcСоздание файла asoundrc
Вставьте следующее в новый файл asound.conf или asoundrc с буфером обмена.
pcm.!default {
type hw card 1
}
ctl.!default {
type hw card 1
}Создание звуковых устройств PCM с Alsa
Последовательное использование клавиш CTRL + «O» + Enter + «X» перезаписывает пустой файл asound.conf и завершается.
Alsa позволяет вам настроить ваши параметры как глобально, так и локально. Конфигурационные файлы для Alsa используются для настройки параметров микширования программного обеспечения Alsa. Сказать, что глобальные настройки наследуются, может не соответствовать действительности для всех аппаратных средств и конфигураций. Можно легко создать настройки, которые совместно используются двумя файлами, а не наследуются.
Несомненно, вы можете сделать с этими файлами гораздо больше, чем может рассказать любой учебник или руководство. Особенно, если вы добавите базы данных и другое программное обеспечение, которое использует Alsa и PCM, легко столкнуться со всеми видами настроек, улучшений и сумасшедших реализаций сервера Icecast. Когда вы будете довольны настройками в XML, перезагрузитесь, чтобы изменения вступили в силу.
rebootТест Alsa для Icecast
Теперь проверь Alsa!
speaker-test -c2При запуске команды тестирования вы должны услышать белый шум от обеих колонок.
Потоковое mp3 с mpg123 на Icecast
Для проверки потоковой передачи mp3 из онлайн-источника установите mpg123 для воспроизведения mp3- файлов.
apt-get install mpg123Запустите команду mpg123 для потоковой передачи SomaFM.com.
mpg123 http://ice1.somafm.com/u80s-128-mp3Устройства Icecast и PCM
Команды для воспроизведения других доступных звуковых устройств можно настроить с помощью PCM, чтобы превратить грубую команду в чистую, аккуратную. PCM облегчает запоминание и использование этих команд.
aplay --device=hw:1,0 /usr/share/sounds/alsa/Front_Center.wavПоскольку мы должны знать тип и номер оборудования с помощью этой глупой команды, мы должны помнить каждое устройство по номеру. Это может в конечном итоге стать проблемой. Выглядит даже лучше, если использовать имя, которое вы создаете для своего устройства с помощью PCM.
aplay -D primary /usr/share/sounds/alsa/Front_Center.wavПо мере добавления новых звуковых устройств продолжайте, снова выполняя команду каждый раз, чтобы отобразить список новых устройств.
aplay -lДобавление имен PCM к аппаратным устройствам выполняется путем запуска команды, чтобы найти тип оборудования устройства, и присвоения каждому устройству имени с помощью PCM.
arecord -lТестирование устройства, подключенного в командной строке, выполняется путем возврата в терминал.
speaker-test -c2 -D plughw:1,0Использование «PCM hw type» позволяет определять псевдонимы для звуковых устройств и карт. Кроме того, вы можете настроить совместимое USB-устройство захвата звука. Как и многие отличные аудио драйверы и программное обеспечение, мир Alsa существует в командной строке. Вы найдете множество рецептов для улучшения и расширения возможностей на основе Alsa.
Шаблон блока кода PCM
Это полный шаблон с синтаксисом для добавления устройства.
pcm.NAME {
type hw
card INT/STR # the card is identified by an integer or a string
[device] INT # Assign the device a number for PCM (default 0)
[subdevice] INT # Default -1 so it uses first available device
mmap_emulation BOOL # Enables mmap emulation for ro/wo devices
}Можно назначить любое pcm.NAMEзначение. Цель состоит в том, чтобы иметь возможность запускать команды для звуковых устройств без использования большого количества технической информации. Используя наш шаблон блока кода, мы можем добавить блок кода для каждого звукового устройства.
pcm.NAME {
type hw
card 0
device 0
}Если вы измените pcm.NAMEна pcm.primary, это позволит вам запустить Alsa play с этой командой.
aplay -D primary /usr/share/sounds/alsa/Front_Center.wavВы больше не ссылаетесь на тип оборудования в своей команде, как раньше, имея возможность ссылаться на новый pcm.NAME.
aplay --device=hw:1,0 /usr/share/sounds/alsa/Front_Center.wavПрямая трансляция аудио на Icecast
Если вы хотите использовать микрофон, превратите разъем для наушников Raspberry Pi в разъем для микрофона. Пакет программного обеспечения по умолчанию, называемый jackd и jackd2, доступен для большинства дистрибутивов Linux. Чтобы определить, какой пакет вы хотите использовать, обратитесь к FAQ по Jack, чтобы объяснить разницу.
jackd
Введите команду для установки jackd в терминал.
apt-get install jackdДля всех настроек, посетите AlsaProject.org — Asoundrc.
Инструкции на этой странице подробно описывают, как добавить плагин. Сам проект содержит собственную коллекцию. Чтобы добавить любой из этих плагинов, используйте фрагмент кода, который следует.
Проект ALSA — ссылка на библиотеку C
Добавьте блок кода плагина в файл asound.conf или asoundrc, однако ваши настройки настроены. Помните, что файл asound.conf предназначен для глобальной конфигурации, а файл asoundrc является локальным (в данном случае это означает, что он работает как пользователь pi ).
PCM код блока для джек
Добавьте плагин для jackd в ваш файл PCM.
pcm.jackplug {
type plug
slave { pcm "jack" }
}
pcm.jack {
type jack
playback_ports {
0 alsa_pcm:playback_1
1 alsa_pcm:playback_2
}
capture_ports {
0 alsa_pcm:capture_1
1 alsa_pcm:capture_2
}
}Теперь можно воспроизводить и записывать файлы с помощью команд с помощью программного пакета jackd.
aplay -Djackplug somefile
arecord -Djackplug somefileПлагины, которые необходимо добавить как часть этой настройки, используются для различных конфигураций микширования программного обеспечения. Скопируйте и вставьте код плагина в соответствующий файл. Если вы не хотите использовать плагин в качестве звукового устройства по умолчанию, выберите pcm.!defaultлюбое pcm.NAMEдругое.
DMIX
Это родной плагин Alsa для прямого микширования программного обеспечения для использования вместо другого серверного приложения. Микширование программного обеспечения — это процесс отправки более одного аудиопотока на одно устройство. Вы создаете смесь из одного или нескольких источников в одно место назначения.
pcm.!default {
type plug
slave.pcm "dmixer"
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:1,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}
bindings {
0 0
1 1
}
}
ctl.dmixer {
type hw
card 0
}вздремнуть
Для нескольких входов мы можем использовать плагин под названием dsnoop.
pcm.mixin {
type dsnoop
ipc_key 5978293 # must be unique for all dmix plugins
ipc_key_add_uid yes
slave {
pcm "hw:0,0"
channels 2
period_size 1024
buffer_size 4096
rate 44100
periods 0
period_time 0
}
bindings {
0 0
0 1
}
}асим
Этот плагин позволяет одновременно воспроизводить и захватывать.
pcm.name {
type asym # Asym PCM
playback STR # Playback slave name
# or
playback { # Playback slave definition
pcm STR # Slave PCM name
# or
pcm { } # Slave PCM definition
}
capture STR # Capture slave name
# or
capture { # Capture slave definition
pcm STR # Slave PCM name
# or
pcm { } # Slave PCM definition
}
}Этот код показывает, как использовать плагин.
pcm.duplex {
type asym
playback.pcm "dmix"
capture.pcm "dsnoop"
}PCM настроен для воспроизведения с помощью dmix и захвата аудио с помощью dsnoop.
alsamixer
Протестируйте любое звуковое устройство с потрясающим текстовым интерфейсом Alsa.
Откройте терминал и запустите AlsaMixer.
alsamixerИз когда-либо находчивой вики Ubuntu я ссылаюсь на список элементов управления для пользовательского интерфейса.
- Выберите звуковую карту с помощью F6
- F5 для записи управления
- Навигация с помощью левой и правой клавиш со стрелками
- Увеличение и уменьшение громкости с помощью клавиш со стрелками вверх и вниз
- Увеличивайте и уменьшайте громкость для левого / правого канала индивидуально с помощью клавиш «Q», «E», «Z» и «C»
- Отключить / включить звук кнопкой «M». «ММ» означает приглушенный, а «ОО» означает немой. Обратите внимание, что строка может быть заполнена на 100%, но при этом быть отключенной, поэтому проверьте это
- Выход из alsamixer с помощью клавиши Esc
Постоянно сохраните настройки громкости в Alsa, сохранив их с помощью Alsa.
alsactl storeДополнительное программное обеспечение для Icecast
Установите Supercollider для подключения устройств midi и присвойте им имена PCM.
Это команда для установки Supercollider.
apt-get install supercolliderДругой пакет, который мы можем установить для Icecast Yellow Pages, это libcurl. Если вы не установите этот пакет перед установкой Icecast, у вас не будет поддержки YP.
apt-get install libcurlУстановка Icecast и льдов!
Теперь мы можем установить программное обеспечение сервера!
Для Raspbian Stretch и Raspbian Stretch Lite загрузите пакет Debian для процессоров armhf, использующих командную строку.
wget http://ftp.us.debian.org/debian/pool/main/i/icecast2/icecast2_2.4.2-1+b1_armhf.deb
Пакет также доступен на Debian.org.
Само программное обеспечение сервера теперь может быть наконец установлено!
apt-get update
apt-get install icecast2Icecast настроен в XML.
nano -c /usr/local/etc/icecast.xmlЧтобы добавить поддержку YP для включения в Желтые страницы Icecast, добавьте этот блок кода. Запомните и запомните, чтобы поддержка YP установила libcurl перед Icecast.
После установки сервера вам понадобится исходное приложение. Популярным выбором является Ices, который на самом деле является Ices2 в его текущей версии. Как вы могли заметить из команды установки, Icecast — это Icecast2 в своей текущей версии.
apt-get update
apt-get install ices2Настройка Ices для Icecast
Льды настроены в XML.
nano -c /etc/ices.xmlНа этой странице описаны все настройки.
IceS 2.0.2 Docs — файл конфигурации
После настройки укажите XML-файл в качестве аргумента для программы во время вызова.
ices /etc/ices.xmlФайл XML может быть вызван из любого каталога, используя Ices. Многие умные рецепты доступны для запуска льдов, и многие коммерческие интернет-радиостанции используют эту технологию. Используйте следующий рецепт в качестве руководства для создания собственной частной домашней интранет-радиостанции.
Запустите свою собственную радиостанцию с Icecast2 и Ices2
Если вы не используете рецепт по этой ссылке, вы можете использовать предоставленные модификации кода для добавления льдов в сценарий запуска Icecast. Это опубликовано для справки. Хотя вы, вероятно, не собираетесь управлять коммерческой радиостанцией, у гидов интернет-радиостанций есть много знаний и опыта, которыми можно поделиться по этой теме.
Ubuntu — скрипт запуска Icecast2 с поддержкой Ices2
Добавление модулей в Ices
Несколько модулей Ices доступны.
IceS 2.0.2 Docs — Модули ввода
Модули настроены в /etc/ices.xml.
- OSS — открытая звуковая система
- Используется в системах на основе Linux для получения живого ввода со звуковой карты
- ALSA-ОСС
- ALSA — продвинутая звуковая архитектура Linux
- Как OSS, но с различными улучшениями для систем на основе Linux
- alsa-base alsa-utils
- StdinPCM — Стандартный вход для получения звука PCM
- Список воспроизведения — использует список воспроизведения для чтения аудиофайлов для обработки.
Добавьте все модули в ваш файл Ices XML.
# This is the code block for the OSS Open Sound System module
oss
44100
2
/dev/dsp
1
/home/ices/metadata
# The code block for ALSA...
alsa
44100
2
hw:0,0
2
500
1
/home/ices/metadata
# This the code snip for StdinPCM
stdinpcm
44100
2
1
/home/ices/metadataСоздать Ices XML плейлист для Icecast
Этот фрагмент кода снова и снова используется в XML-файле Ices в качестве шаблона для списка воспроизведения. Плейлист должен существовать в XML-файле Ices сам по себе. Если вы хотите настроить более одного списка воспроизведения, создайте и используйте более одного файла Ices XML. Создайте, сохраните и запустите этот файл с любым именем (оканчивающимся на .xml) в любом каталоге, содержащем аудиофайлы.
Это не созданный вручную список воспроизведения, а традиционный список файлов для воспроизведения. Icecast создает список воспроизведения из содержимого каталога потоковой передачи. Вы указываете Ices использовать путь к каталогу в командной строке, и Icecast создает свой собственный список воспроизведения.
basic
/path/to/playlist # Specify the full path to the streaming directory
0
0
1Вызвать Ices из командной строки легко с помощью XML-файла. Эта команда позволяет Ices вызывать файл XML из одного каталога для потоковой передачи из другого.
ices -c /etc/icecast2/icecast.xml -F /home/pi/Music/Льды используются для воспроизведения файлов OGG, но не могут воспроизводить файлы MP3.
Воспроизведение mp3 на Icecast без льдов
Мы исполняем Icecast без льдов для воспроизведения MP3.
icecast -c /etc/icecast2/icecast.xml -F /home/pi/Music/Для потоковой передачи URL используйте -uпереключатель с командой.
icecast -c /etc/icecast2/icecast.xml -u http://ice1.somafm.com/u80s-128-mp3Сторонние приложения для Icecast
Многие сторонние приложения доступны на их веб-сайте, который вы должны изучить самостоятельно.
Icecast.org — сторонние приложения
Icecast Player в Google Play
Одним из популярных мобильных приложений является Icecast Player в Google Play.
Kodi Icecast addon
Попробуйте дополнение Icecast для Kodi, которое позволяет прослушивать потоки, перечисленные в Желтых страницах Icecast. Установите это дополнение из стандартного репозитория Kodi в Music addons.
Kodi музыка аддон для Icecast
Настройки аддона Icecast
Измените настройки, чтобы выбрать другую визуализацию или включить надстройки текстов песен для отображения текстов песен во время воспроизведения.
Icecast аддон для настроек Kodi
Настройки аддона Icecast в режиме плеера
Измените настройки внутри аддона в режиме плеера.
Настройки Icecast в режиме плеера
Показ текста песни на Icecast
Установка CU LRC Тексты песен для Icecast
Установите надстройку сценария CU LRC из надстроек Программы в хранилище Kodi.
Установка дополнений из репозитория на Kodi
Перейдите в каталог Lyrics в Addons.
Kodi репозиторий Каталог текстов песен
Аддон CU LRC находится внутри каталога Lyrics.
Kodi репозиторий текстов песен CU LRC addon
Включить Icecast для отображения текста песни
После установки CU LRC может отображать текст в аддоне Icecast.
Настройка CU LRC для отображения текста песни в дополнении Icecast
Поиск Icecast Желтые страницы
Поиск станции на основе ваших предпочтений для музыки.
Поиск станций в Icecast аддон для Kodi
Для меня эта станция — Зона 51!
Список радиостанций Icecast в аддоне Коди
Icecast на полном HTPC
Как популярный сервер потоковой передачи музыки, Icecast — это популярное серверное приложение с множеством вкусностей. Пи для обучения. Если вы хотите построить что-то постоянное, Пи даст вам базовое образование, необходимое для начала и эксперимента. Icecast — отличный способ слушать и играть музыку.
CU LRC показ дополнений текстов песен
Icecast будет транслироваться по полному HTPC в качестве частной интранет-радиостанции на домашнем сервере или может использоваться для общественной и коммерческой интернет-радиопередачи. Многие дополнительные функции могут быть настроены, больше приложений можно установить и использовать с Icecast. Это игровая площадка для потокового аудио, которую можно наслаждаться не только звуком, но и технологиями.
Icecast и интернет-радио
Интернет-радиостанции используют все виды способов хранения, доступа, создания и запуска плейлистов, поскольку для работы интернет-радиостанций создано большое количество программного обеспечения. Большинство из них легко найти в поисковых системах.
Окончательный вывод
Сегодня в домашних сетях популярной тенденцией является настройка аудиовизуального сервера и DJ для собственных вечеринок и общественных мероприятий. Вдали от дома друга или родственника или в собственной гостиной вам не нужно особого повода раскручивать мелодии. Сервер, такой как Icecast, может создавать свой собственный список воспроизведения. Чтобы начать потоковую передачу, в Icecast легко указать путь к папке с музыкой, которую вы хотите воспроизвести, и он создает собственный список. Icecast также является идеальной площадкой для изучения других аудиопрограмм, улучшая при этом карманный DIY-аудиосервер DJ.
Начните слушать с Icecast сегодня!
Дополнительные ресурсы для Icecast
Alsa для Icecast
OpenSRC.org — Руководство по установке ALSA
OpenSRC.org — Руководство по установке ALSA — Быстрая установка
Adafruit.com — Raspbian Jessie — Обновление настроек alsa
Icecast и льды
Icecast.org — Icecast 2.4.1 Документы — Содержание
Icecast.org — Icecast Текущий выпуск
Icecast.org — Документы IceS 2.0.2 — базовая настройка
Icecast.org — сторонние приложения
Источник записи: https://www.smarthomebeginner.com













