Интернет радио и станция стриминга на Raspberry Pi


В данной статье мы рассмотрим создание станции интернет вещания на основе платы Raspberry Pi и пакетов DarkIce и Icecast, которые используются для записи аудио информации, ее кодирования и вещания/стриминга (streaming). Пакет DarkIce представляет собой аудио стример/транслятор реального времени (live audio streamer), который позволяет записывать аудио информацию с интерфейса аудио (например, микрофона), производить ее кодирование и передавать на сервер вещания/трансляции (streaming server). DarkIce позволяет записывать аудио с аудио устройств OSS, ALSA, Jack и CoreAudio. Также с его помощью можно кодировать аудио информацию в форматы MP3, MP2, AAC LC, AAC HEv2, Opus и Vorbis. После этого он может передавать кодированное аудио на стриминг серверы (Streaming Servers) ShoutCast, IceCast и Darwin.

Внешний вид проекта интернет радио и станции стриминга на Raspberry Pi

Icecast представляет собой аудио/видео сервер трансляции/стриминга (audio/video streaming media server), который поддерживает стримы/потоки Ogg, Opus, WebM и MP3. Он может быть использован для создания различных систем вещания/трансляции, начиная от станций Интернет радио (Internet radio) и заканчивая музыкальными автоматами (jukeboxes).

Необходимые компоненты

  1. Плата Raspberry Pi (купить на AliExpress) (Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158).
  2. USB микрофон.

Установка пакетов DarkIce и Icecast на Raspberry Pi

Перед тем как устанавливать пакеты DarkIce и Icecast на Raspberry Pi, необходимо предварительно произвести ее обновление до последней версии с помощью команд:

После этого используйте следующие команды чтобы скачать пакет darkice deb и установить его. По умолчанию пакет DarkIce идет без поддержки MP3.

Теперь, перед тем как производить настройку DarkIce, нам необходимо установить пакет Icecast на Raspberry Pi. Для этого используйте команду:

Во время его установки система спросит вас о необходимости настройки Icecast2. Выберите Yes (да).

Запрос о необходимости настройки Icecast2

На следующем экране вас попросят ввести доменное имя (domain name). Нажмите OK чтобы использовать имя хоста по умолчанию "localhost".

Выбор имени хоста по умолчанию

На следующих шагах процесса установки вам необходимо будет ввести 3 пароля. Первый из них – для доступа к источникам медиа, второй – для использования/смены потоков трансляции, третий – для осуществления доступа к консоли администратора. Нажмите ‘ok’ чтобы использовать пароль по умолчанию. Имя пользователя по умолчанию будет “admin”.

Ввод пароля для осуществления доступа к консоли администратора

После установки Icecast2 нам необходимо создать конфигурационный файл (config file) darkice чтобы использовать корректную звуковую карту и осуществлять взаимодействие с icecast2. Для создания этого файла используйте команду:

Затем скопируйте и вставьте в этот файл следующие настройки:

Сохраните изменения в файле используя Ctrl+X > Y > Enter.

Затем создайте еще файл "darkice.sh" с помощью команды:

Скопируйте в этот файл следующую строку. Эта строка содержит адрес (путь) конфигурационного файла.

Затем сделайте файл darkice.sh исполнимым с помощью команды:

После этого запустите сервис Icecast2:

Далее нам необходимо поставить пакет DarkIce в автозагрузку платы Raspberry Pi. Для этого используйте следующую команду чтобы открыть crontab:

После этого добавьте следующую команду в конец файла. Измените путь к файлу чтобы он вел в каталог его установки.

Сохраните изменения в файле нажав CTRL+X, затем Y, затем ENTER. После этого установка будет закончена, перезагрузите плату:

Тестирование работы Интернет радио на Raspberry Pi

Теперь давайте проверим корректно ли у нас настроен стриминг/трансляция. Для этого в строке адреса вашего браузера напишите http:// Pi IP Address:8000. В нашем случае IP адрес был следующим – 192.168.1.226:8000.

Проверка корректности настройки трансляции

Нажмите на M3U в правом верхнем углу или введите http:// 192.168.1.226:8000/Stream.mp3 чтобы открыть стрим/трансляцию. Если вы способны слышать контент, значит стрим работает корректно.

Тестирование работы нашего интернет радио

Видео, демонстрирующее работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
1 480 просмотров

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *