Меню

Sam broadcaster icecast2 настройка



Использование Icecast или настройка сервера для радиовещания

В двух словах, программное обеспечение Icecast позволяет создать сервер радио и видео вещания. В данной статье мы разберем процесс установки и настройки данного ПО на системах Linux. Установку и принцип настройки также рассмотрим для Windows.

Установка

Рассмотрим установку под системы Windows, Ubuntu/Debian, CentOS/Red Hat.

Windows

Переходим на страницу загрузки Icecast и скачиваем программу для Windows:

Запускаем скачанный файл — принимаем лицензионное соглашение — кликаем несколько раз Next и Install. Когда завершится установка, кликаем по Close.

Linux CentOS 7

Устанавливаем расширенный репозиторий epel:

yum install epel-release

yum install icecast

Linux Ubuntu

Установка выполняется из базового репозитория:

apt-get install icecast2

Принцип настройки

Все настройки вносятся в конфигурационный файл формата XML.

В Windows он расположен по пути %ProgramFiles(x86)%\Icecast\icecast.xml. Открыть его можно любым текстовым редактором.

В CentOS 7 конфигурационный файл открываем командой:

Сами настройки в данном файле одинаковые для любой операционной системы. Все что включено в является комментарием и не учитывается программой.

После внесения настроек, службу icecast необходимо перезапускать.

Тестовый запуск

Настройка брандмауэра

Перед запуском сервера, необходимо убедиться в правильных настройках фаервола (необходимо открыть порт 8000).

Firewalld (CentOS 7):

firewall-cmd —permanent —add-port=8000/tcp

Iptables (Ubuntu):

iptables -I INPUT 1 -p tcp —dport 8000 -j ACCEPT

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

Приводим следующую настройку к такому виду:

* при такой настройке мы указываем, на каком сетевом интерфейсе будем слушать запросы (в данном случае, на 192.168.0.15).

Selinux

Если в системе линукс используется система безопасности Selinux, либо отключаем ее, либо настраиваем.

Запуск

В CentOS 7 разрешаем сервис и запускаем его следующими командами:

systemctl enable icecast

systemctl start icecast

В Ubuntu:

systemctl enable icecast2

systemctl start icecast2

Открываем браузер и переходим по пути http://192.168.0.15:8000/

* где 192.168.0.15 — IP-адрес нашего сервера, который мы прописали в bind-address конфига.

Мы должны увидеть следующее:

Настройка редиректа радиостанции

Самый простой способ проверить работу сервера радио — настроить перенаправление другой радиостанции.

Находим подходящий ресурс, например, hd.lagrosseradio.info. Изучаем документацию по настройке ретрансляции.

И дописываем в наш конфигурационный файл, примерно, следующее:

/lagrosseradio-metal-024.mp3
/metal
0

* перенаправлений может быть несколько. В данном примере на ресурсы ice4.lagrosseradio.info и shoutcast.aichyna.com.
* server — имя сервера, с которого берется поток; port — сетевой порт, на котором удаленный сервер отдает поток; mount — точка мониторования на стороне удаленного сервера, с которого берем поток; local-mount — точка монтирования, которая будет использоваться нашим сервером для обращения к настраиваемому потоку; on-demand — если стоит 0, сервер всегда берет поток и проигрывает его, если 1 — только при наличие активных обращений.

systemctl restart icecast || systemctl restart icecast2

Опять открываем нашу страницу http://192.168.0.15:8000/ — на странице должен появиться список с потоками:

Теперь пробуем в браузере открыть страницы с настроенными точками монтирования (local-mount) — http://192.168.0.15:8000/metal и /http://192.168.0.15:8000/aplus. Мы должны увидеть проигрыватель с кнопкой Play.

Свои плейлисты (Ices)

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

Читайте также:  Настройка сабвуфера edge edb12a

Установка клиента

CentOS 7.

Установка выполняется путем сборки пакета из исходника. Для начала скачиваем его — для этого переходим на страницу icecast.org/ices и копируем ссылку на Ices0 (ices2 не умеет работать с mp3, что требует их конвертацию и это не очень удобно):

Используя ссылку, скачиваем исходник:

* если получим ошибку «wget: команда не найдена», ставим wget командой yum install wget.

Распаковываем архив и заходим в каталог:

Устанавливаем пакеты, нужные для сборки:

yum install gcc libxml2-devel libshout-devel gcc-c++

Запускаем конфигурирование, сборку и установку:

Ubuntu

Установка в убунте выполняется одной командой:

apt-get install ices

Настройка Icecast

Открываем конфигурационный файл и проверяем лимит на количество создаваемых ресурсов:

* если лимит на sources будет превышен предыдущими плейлистами или редиректами, мы получим ошибку при запуске ices, например: Error during send: Mount failed on http://192.168.0.15:8000/music, error: Login failed.

Меняем пароль на управление ресурсами:

* newpassword — собственно, сам пароль.

Закрываем редактор и перезапускаем icecast:

systemctl restart icecast || systemctl restart icecast2

Настройка Ices и запуск плейлиста

Создаем каталог конфигурационного файла и сам файл:

/etc/ices/playlist.rock.txt
1
builtin
ices

/rock
ices.dump
Default stream
Default genre
Default description
http://192.168.0.15:8000

* где, как правило, редактируется следующее:

  • File — путь до файла со списком аудиофайлов.
  • Randomize — воспроизведение в случайном порядке.
  • Verbose — отладка. Следует поменять на 1, если программа работает не корректно.
  • BaseDirectory — рабочий каталог программы. В нем будут храниться pid и log файлы.
  • Hostname — адрес нашего сервера icecast.
  • Port — порт, на котором слушает сервер icecast.
  • Password — пароль для ресурса, который был выставлен в конфигурационном файле icecast.
  • Mountpoint — точка монтирования на сервере для плейлиста.
  • URL — путь URL до плейлиста.

Создадим список аудиофайлов:

ls /music/rock/ > /etc/ices/playlist.rock.txt

* данной командой мы прочитаем содержимое каталога /music/rock и сделаем из его содержимого плейлист для ices.
* по сути, файл playlist.rock.txt должен включать перечень всех аудиофайлов с полным путем до них. Каждый файл с новой строчки.

ices -c /etc/ices/ices.xml

* где /etc/ices/ices.xml — путь до конфигурационного файла.

Автозапуск ices

В теории, можно добавить команду /usr/local/bin/ices -c /etc/ices/ices.xml в /etc/rc.local. Но профессиональнее создать сервис на базе systemd.

Создаем файл сервиса:

[Unit]
Description=Ices Service
After=network.target
Requires=icecast.service

[Service]
Type=forking
PIDFile=/etc/ices/ices.pid
ExecStart=-/usr/local/bin/ices -c /etc/ices/ices.xml
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

Разрешаем созданный сервис:

systemctl enable ices

Запускаем его и проверяем:

systemctl start ices

systemctl status ices

Автоматическое переключение каналов

Идея заключается в создании общего канала (mount) с переключением на резервный (в случаях, когда общий ничего не вещает). Это применяется для создания канала диджея — когда он подключен, в эфир идет его трансляция, когда отключен — музыка из плейлиста или перенаправленная с другой радиостанции. Также, это можно применять для оповещений или вставки рекламных роликов.

В данном примере разберем создание канала, который будет получать аудиоконтент из ices, а при отключении данной трансляции, будет играть музыка из другого источника.

Читайте также:  Установка и настройка busybox

В конфиг icecast добавляем:

* на самом деле, данный relay мы уже добавляли выше; live — имя основного канала; aplus в секции fallback-mount — имя канала, на который нужно перенаправить слушателя, если основной канал не задействован; секция fallback-override определяет, нужно ли автоматически возвращать слушателей на основной канал, если он опять станет активным.

systemctl restart icecast || systemctl restart icecast2

Можно уже подключаться в эфиру (в нашем примере по адресу http://192.168.160.163:8000/live) — мы должны услышать музыку, которая транслируется на shoutcast.aichyna.com.

Создаем конфигурационный файл для ices (или правим уже созданный):

Источник

Настройка интернет радио icecast2+SAM broadcaster (Страница 1 из 3)

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений с 1 по 25 из 70

1 Тема от Михаил 20-04-2010 00:53:58

  • Михаил
  • Прохожий
  • Неактивен
  • Зарегистрирован: 19-04-2010
  • Сообщений: 5

Тема: Настройка интернет радио icecast2+SAM broadcaster

Здравствуйте! Нашел Ваш форум в интернете, очень заинтересовался. Многие говорят о том, что сервер сделать icecast2+SAM broadcaster это дело 15 минут. Да, возможно, не отрицаю. Но хотелось бы попросить помощи у знающих людей, и желательно услышать ответы на вопросы и поправки в ошибках.
Перейду к делу, я настраиваю icecast и SAM на localhost, т.е. получается что весь эфир не будет пересылаться на какой то сторонний сервер и там перекодироваться, или как то так, я непомню точное определение этого момента, но это тоже не столь важно, а будет как бы с моего компьютера скачиваться на компьютеры других юзеров, грубо говоря.( ну как торрент если уж совсем грубо)) ) Я не могу понять одного, как они смогут прослушивать мой эфир? Я вроде слышал про один способ, когда в плеере вбиваешь ip:8000 как то так, вместо ip вводица ip сервера, проблема в том, что мой ip сервера постоянно меняется со 105 на 106 и обратно, получается слушатели каждый раз должны будут вводить то 105 то 106.
Еще где то я слышал, что можно выложить ссылку, на свой сервер, т.е. по ней переходишь, скачиваешь файл, его запускаешь в винампе и у слушателя играет, допустим, мое радио, но как это сделать? или это по сути тоже самое что с набором ip моего сервера, только в этом случае слушатель не будет его набирать, а будет сразу слушать радио, если предварительно он скачал этот файл. Он его на компьютере запускает и все ок.
Вот такие моменты хотелось бы уяснить, наверняка что то у меня как всегда через *опу, поэтому прошу отнестись ктаким огрехам со смехом)
Жду ответа, заранее скажу спасибо, как аванс

2 Ответ от tarasian666 20-04-2010 00:55:49

  • tarasian666
  • Модератор
  • Неактивен
  • Откуда: Львів
  • Зарегистрирован: 04-09-2009
  • Сообщений: 6,245

Re: Настройка интернет радио icecast2+SAM broadcaster

сначала узнайте у провайдера есть ли у вас внешняя ip
пс IP не может быть 105 (или 106)

Отредактировано tarasian666 (20-04-2010 01:01:24)

3 Ответ от Михаил 20-04-2010 01:08:11

  • Михаил
  • Прохожий
  • Неактивен
  • Зарегистрирован: 19-04-2010
  • Сообщений: 5
Читайте также:  Настройка usb конденсаторного микрофона

Re: Настройка интернет радио icecast2+SAM broadcaster

Я имел в виду что 105 и 106 это последние цифры) извиняюсь за неточность. Да у меня есть внешний ip

4 Ответ от tarasian666 20-04-2010 10:13:22

  • tarasian666
  • Модератор
  • Неактивен
  • Откуда: Львів
  • Зарегистрирован: 04-09-2009
  • Сообщений: 6,245

Re: Настройка интернет радио icecast2+SAM broadcaster

используйте сервис noip.com или dyndns.org для получения «ссылки» вместо ip

5 Ответ от Михаил 20-04-2010 16:21:10

  • Михаил
  • Прохожий
  • Неактивен
  • Зарегистрирован: 19-04-2010
  • Сообщений: 5

Re: Настройка интернет радио icecast2+SAM broadcaster

ок сеня вечерком как время будет попробую, спс за оперативную помощь

6 Ответ от Михаил 20-04-2010 20:45:50

  • Михаил
  • Прохожий
  • Неактивен
  • Зарегистрирован: 19-04-2010
  • Сообщений: 5

Re: Настройка интернет радио icecast2+SAM broadcaster

Понял как нужно делать, сделал на no-ip свой хост, проблем не возникло. Проблема возникла с настройкой SAMa, в Add new Encoder, на второй вкладке Server Details нужно вводить пароль в строке password, если я правильно понял, который в файле icecast.xml в строке

ПАРОЛЬ

ПАРОЛЬ

Проблема в том, что при вводе пароля и старта энкодера, он мне пишет Invalid password. Authentication required (401). Как я понимаю, пароль неверен, но вводил я его точно, и копировал, тоже не помогало, ошибок при вводе нет, я уверен на 100 процентов, применял разные пароли с разным регистром, если он учитывается, ничего не помогло. Еще что интересно, это тот факт, что пароль, который был в файле icecast.xml hackme — работает! Т.е. я его ввожу в строке password в SAMе, даже если в файле icecast у меня стоит совершенно другой пароль, все запускается. Получается в каких то файлах я не заменил этот пароль, но пролазив во всех файлах и ища там hackme я заменил его на свой пароль, видимо что то упустил, или что то неправильно сделал.

Хотелось бы узнать как решить эту, до боли, дурацкую проблему, если, конечно, не сложно

Эмммм. уже неудобно как то спрашивать) но надеюсь на вашу поддержку, уже в который раз возникла очередная проблема, с который я пока что в одиночку справиться не могу.
Смерился на некоторое время с проблемой выше, кот. говорила о пароле hackme, и столкнулся со след. проблемой. Настроено все правильно, сделан хост в no-ip, подключение удачно, он преобразовал мой ip в ту «ссылку», далее подключаю icecast2, сервер работает нормально, далее SAM, там все указываю как надо, пароль все тот же hackme, подключение удалось, появилась строчка со временем, и размером переданной информации, теперь пытаюсь прослушать радио через проигрыватель, винамп, вин. медия, ничего не выходит, идет либо подключение и оно постоянно повторяется, либо пишет ошибку [HTTP: 0.0.4 file not found] и далее пишет мою ссылку. (точных цифр 0.0.4 не помню, но вроде бы стояли они, извиняюсь заранее) ну и само собой ничего не слышно.
Пытался вместо ссылки вставлять ip, но результат такой же, отрицательный. Пока не догадался как же решить эту проблему.

Отредактировано Михаил (20-04-2010 22:03:36)

Источник

Adblock
detector