Установка Icecast2 на Debian стриминг музыки - Geek-Speak

Установка Icecast2 на Debian стриминг музыки

Главная Форумы SOFTWARE System settings Установка Icecast2 на Debian стриминг музыки

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #804
    Esmertec
    Хранитель

    Для начала разберемся что такое Icecast2. Это программа ретранслятор аудио-потоков. Icecast2 позволяет перенаправлять аудио-потоки в том числе из интернет в локальную сеть, проигрывать медиа-файлы с доступного файлового источника, например с жёсткого диска, в большинстве современных форматах. При использовании Icecast2 вместе с такими программами как ices2, mpd может создано сетевое интернет-радио чем мы сегодня и займемся!

    Что имеем — Windows server 2016 standart с развернутым hyper-v гипервизором, в который будем ставить сервер icecast2 на linux debian 9, т.к. я хочу больше удобств, стримить треки я буду с самого windows server 2016, при необходимости стриминга или передачи своего голоса — windows 10 pro, по этому буду использовать программу radio boss. Соответственно установка ices2, mpd нам не нужна, и на сам сервер icecast2 можно выделить меньше места, чтоб сэкономить место на жестком диске сервера! Важно Вам понадобится выделенный ip адрес, который покупается или арендуется у провайдера, без него радио работать НЕ БУДЕТ!

    И так поехали устанавливать! Первым делом создадим новую виртуальную машину на hyper-v. Я назвал ее V-RADIO.

    Я выбрал 1 поколение виртуальной машины, в принципе этот шаг не критичен.

    Выделяем 512 Мб оперативной памяти, т.к. ставить будем debain 9 без графической оболочки, по этому как ОЗУ так и ПЗУ для нашего сервера icecast2 потребуется немного, в дальнейшем можно будет добавить ОЗУ если будут возникать проблемы.

    Выбираем интерфейс, который «смотрит» в сеть интернет, в моем случае это vlan с именем Ethernet lan

    Выделяем место на жестком диске под нашу ОС, я выделю динамический размер ПЗУ в 30Гб, минимальный размер должен быть в 15Гб, т.к. ОС с сервером icecast2 займут около 10Гб!

    Устанавливать будем debian-9.9.0-amd64-netinst — это минимальный дистрибутив ОС Debain 9, скачать можно с официального сайта. Версия дистрибутива может отличаться, т.к. стабильные релизы выходят довольно часто!

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

    Сама установка типична, тем более установщик Debain 9 полностью на Русском языке, поэтому проблем с установкой возникнуть не должно! Единственный нюанс — это выбор пакетов после распаковки основных пакетов ОС, нужно снять все галочки и оставить только системные утилиты!

    После того как Debain 9, ставим утилиты, которые понадобятся нам, для удобства настройки сервера icecast2, для этого вводим команды:
    apt update
    apt upgrade
    apt install net-tools ssh nano mc icecast2

    Далее откроем настройки сетевых интерфейсов и пропишем статический локальный адрес icecast2 сервера
    nano /etc/network/interfaces
    Правим строчки, чтоб получилось примерно следующее:

    P.S. У Вас IP адреса могут быть другими, суть в том, чтоб IP адрес icecast2 не менялся в локальной сети, это важно!

    Далее перезагружаем наш icecast2 сервер, и проверяем есть на нем интернет или нет, если нет, проверяем настройки интерфейсов на ошибки, если есть — идем дальше!

    После этого шага можно проверить работает ли наш icecast2 сервер, для этого в браузере переходим по IP адресу прописанному нами шагом выше с портом 8000 (http://localhost:8000 или в моем случае http://192.168.1.5:8000), если видим следующую страницу:

    То мы на пол пути как запустить свое интернет радио! =) Далее нам нужно немного подредактировать конфигурацию сервера, но перед этим создать копию стоковой конфигурации.

    cp /etc/icecast2/icecast.xml /etc/icecast2/icecast_back.xml

    Далее открываем файл конфигурации icecast2 и редактируем его под свои необходимости, параметры которые следует изменить:

    <limits>
    <clients>100</clients>                        # установка количества слушателей
    <sources>2</sources>                          # установка количества исходных источников
    <source-password>password</source-password>   # установка пароля для подключения к icecast2
    <relay-password>password</relay-password>     # установка пароля для перенаправления
    <admin-user>admin-name</admin-user>           # установка имени пользователя для доступа к административному веб-интерфейсу
    <admin-password>password</admin-password>     # установка пароля для доступа к административному веб-интерфейсу
    <listen-socket>                               # установка порта и адреса
    <port>8001</port>
    <bind-address>IP-SERVER</bind-address>
    </listen-socket>
    
    <relay>                                       # секция перенаправления интернет-радио
    <server>server</server>                       # IP-адрес или DNS-имя перенаправляемого интернет-радио
    <port>8000</port>                             # порт внешнего интернет-радио
    <mount>/iradio.mp3</mount>                    # имя перенаправляемого потока
    <local-mount>/iradio</local-mount>            # локальное имя (для клиентов Icecast2) перенаправляемого потока
    <on-demand>1</on-demand>
    <relay-shoutcast-metadata>1</relay-shoutcast-metadata>
    </relay>
    
    <relay>                                          # секция создания аудио-потока из файлов в формате ogg
    <server>localhost</server>
    <port>8000</port>
    <mount>/ogg/file-name.ogg</mount>                # имя файл для воспроизведения
                                                     # путь к файлу откладывается от /usr/share/icecast2/web
    <local-mount>/file-name</local-mount>            # локальное имя (для клиентов Icecast2) воспроизводимого файла
    <on-demand>1</on-demand>
    <relay-shoutcast-metadata>1</relay-shoutcast-metadata>
    </relay>

    Далее отредактируем авто запуск скрипта, чтоб после непредвиденного падения ОС, север смог автоматически запуститься, для этого идем в конфиг:

    nano /etc/default/icecast2

    В самом низу исправляем false на true если у вас стоит другое значение
    ENABLE=true

    После чего сохраняем настройки и выходим. На этом установка и настройка Icecast2 сервера полностью завершена, теперь перейдем к клиентской стороне! Для стриминга музыки я буду использовать программу Radio Boss, т.к. мой сайт не является варезным,а за программу просят деньги, я не буду указывать где ее можно достать, воспользуйтесь google.

    И так, я установил программу, и создал первый плейлист!

    Теперь нам нужно подключить Radio Boss к Icecast2 серверу, для этого идем в настройки -> вещание, и создаем новый канал, куда вводим данные с сервера, так же можно воспользоваться мастером настройки канала, он Вам поможет определить какой протокол и соединение Вы используете, после чего сохраняем настройки.

    P.S. Пароль для подключения в RadioBoss, для подключения icecast2, нужно указывать тот, что указан в секции <source-password>password</source-password>!

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

    На этом настройка со стороны клиента завершена, и пользователи «из мира» могут слушать ваш канал!

    Как подключиться к нашему радио смотрите в следующей теме! =)

    #1754
    Esmertec
    Хранитель

    Установка Icecast2 на защищенном https протоколе, вариант с ssl сертификатом Let’s Encrypt полученным на основной домен, т.е. этот способ подойдет если у Вас уже есть сайт с сертификатом Let’s Encrypt.

    Установку ОС в этом мануале я пропускаю (смотри ее выше). Предположим у нас есть vds на Debian 10 с панелью управления HestiaCP и сертификат Let’s Encrypt на основном домене.

    Первым делом устанавливаем пакеты которые нам пригодятся:
    # apt update
    # apt install gnupg net-tools ssh nano mc wget

    Далее добавляем Xiph репозиторий в ОС
    # sh -c "echo deb http://download.opensuse.org/repositories/multimedia:/xiph/Debian_10/ ./ >>/etc/apt/sources.list.d/icecast.list"

    Загрузите ключ подписи и добавьте его в apt:
    # wget -qO - http://icecast.org/multimedia-obs.key | apt-key add -

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

    # wget -qO - https://build.opensuse.org/projects/multimedia:libs/public_key | apt-key add -

    Обновим список репозиториев:
    # apt update

    Теперь установим сам пакет icecast2

    # apt install icecast2

    Внимание! Убедитесь что пакет был установлен именно из репозиториев Xiph, те пакеты что в debian не подгружают ssl сертификаты!

    Создаем файл icecast.pem
    # touch /usr/share/icecast2/icecast.pem

    Открываем его и добавляем ssl ключи основного домена, нас интересует только .pem файл
    # nano /usr/share/icecast2/icecast.pem
    Примечание! У HestiaCP, ssl сертификаты хранятся в директории /home/admin/web/YOUR_DOMAIN/private.

    Добавляем права доступа к файлу
    # chmod 666 /usr/share/icecast2/icecast.pem

    На этом установка закончена идем настраивать сам пакет icecast2
    # nano /etc/icecast2/icecast.xml

    Основные настройки смотри в мануале выше, нас же сейчас интересует как запустить все по https протоколу, а для этого нужно изменить пару строк. Ищем раздел, и раскоментируем путь к ssl:
    <ssl-certificate>/usr/share/icecast2/icecast.pem</ssl-certificate>
    Теперь добавьте этот раздел в документ (в корневой узел XML):

    <listen-socket> 
    <port>8001</port>
    <ssl>1</ssl>
    </listen-socket>

    Все готово! Можно перезапустить icecast2
    # service icecast2 restart
    Если что-то не заработало смотрим статус пакета и читаем логи! =) Что получаем в итоге: Доступ к потоку на http по порту 8000 и https по порту 8001 (порты соответственно нужно открыть или пробросить), трансляция музыки будет осуществляться внутри локали по порту 8000 т.е. по http.

    Примечание! При таком раскладе, придется в ручную обновлять ssl сертификаты для страницы статуса айскаста. Чтоб убедиться что установлен нужный пакет с xiph пишем:
    # service icecast2 status
    если Вы все сделали по текущему мануалу и видите ответ со строкой:
    [2021-02-08 12:43:38] INFO connection/get_ssl_certificate No SSL capability
    это значит, что установлен НЕ верный пакет, переустанавливаем на нужный!

    На Debain 10 пакет с xiph не ставится по умолчанию с соурс листа, по этому просто временно комментируем все стандартные дистрибы debian, либо ставим вручную через dpkg файл с оф. сайта xiph! При этом замораживаем пакет, иначе ОС будет пытаться ставить пакет из репозитория где не работает ssl:
    # apt-mark hold icecast2

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Для ответа в этой теме необходимо авторизоваться.
Авторизация
*
*
Регистрация
*
*
*
Пароль не введен
*
Генерация пароля