- Ваша собственная веб-радиостанция на основе Icecast2 и Ices2
- Использование Icecast или настройка сервера для радиовещания
- Установка
- Windows
- Linux CentOS 7
- Linux Ubuntu
- Принцип настройки
- Тестовый запуск
- Настройка брандмауэра
- Первичная настройка
- Selinux
- Запуск
- Настройка редиректа радиостанции
- Свои плейлисты (Ices)
- Установка клиента
- Настройка Icecast
- Настройка Ices и запуск плейлиста
- Автозапуск ices
- Автоматическое переключение каналов
- Siava.Su
- черновик сисадмина
- Установка и настройка потокового Icecast2 + ices0 сервера в Debian
- Устанавливаем Icecast2:
- Установка ices0
- Финальные штрихи
- 59 комментариев
Ваша собственная веб-радиостанция на основе Icecast2 и Ices2
Оригинал: Run Your Own Webradio Station With Icecast2 And Ices2
Автор: Falko Timme
Дата: 15 февраля 2007 г.
Перевод: Андрей Синицын aka boombick
Дата перевода: 9 февраля 2008
При копировании материала обязательны указание автора, переводчика и ссылки на оригинал статьи и настоящую страницу как первоисточник перевода!
Это руководство описывает установку и настройку сервера потокового вещания при помощи Icecast2. Для передачи аудиоданных серверу используется Ices2. Ices2 — это программа, которая передает аудиоданные с вашего локального диска потоковому серверу для последующей трансляции клиентам. Ices2 может читать сохраненные аудио файлы (в формате Ogg Vorbis) или использовать прямой поток с вашей звуковой карты. В этой заметке мы будем рассматривать случай, когда Ices2 читает файлы в формате .ogg с локального диска.
Как уже говорилось выше, Ices2 может использовать различные источники аудиоданных и передавать их потоковому серверу. В этом руководстве мы сконфигурируем Ices2 для чтения файлов с локального диска (режим плей-листа) и установим Icecast2 и Ices2 на одну и ту же систему.
Ices2 поддерживает только формат Ogg, так что если вы хотите использовать mp3-файлы, вам сначала необходимо сконвертировать их в нужный формат. (В ранних версиях Ices2 поддерживал mp3, но поддержка была убрана из-за патентных ограничений. Ogg Vorbis — абсолютно свободный и независимый от патентов формат).
Я использую Debian Etch (для пользователей Ubuntu процедура установки и настройки выглядит точно так же) и моя машина имеет IP-адрес 192.168.0.100
Использование Icecast или настройка сервера для радиовещания
В двух словах, программное обеспечение Icecast позволяет создать сервер радио и видео вещания. В данной статье мы разберем процесс установки и настройки данного ПО на системах Linux. Установку и принцип настройки также рассмотрим для Windows.
Установка
Рассмотрим установку под системы Windows, Ubuntu/Debian, CentOS/Red Hat.
Windows
Переходим на страницу загрузки Icecast и скачиваем программу для Windows:
Запускаем скачанный файл — принимаем лицензионное соглашение — кликаем несколько раз Next и Install. Когда завершится установка, кликаем по Close.
Linux CentOS 7
Устанавливаем расширенный репозиторий epel:
Linux Ubuntu
Установка выполняется из базового репозитория:
Принцип настройки
Все настройки вносятся в конфигурационный файл формата 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 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. Для начала, выполним его установку.
Установка клиента
Установка выполняется путем сборки пакета из исходника. Для начала скачиваем его — для этого переходим на страницу icecast.org/ices и копируем ссылку на Ices0 (ices2 не умеет работать с mp3, что требует их конвертацию и это не очень удобно):
Используя ссылку, скачиваем исходник:
* если получим ошибку «wget: команда не найдена», ставим wget командой yum install wget.
Распаковываем архив и заходим в каталог:
Устанавливаем пакеты, нужные для сборки:
yum install gcc libxml2-devel libshout-devel gcc-c++
Запускаем конфигурирование, сборку и установку:
Установка в убунте выполняется одной командой:
Настройка 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 должен включать перечень всех аудиофайлов с полным путем до них. Каждый файл с новой строчки.
* где /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
Разрешаем созданный сервис:
Запускаем его и проверяем:
Автоматическое переключение каналов
Идея заключается в создании общего канала (mount) с переключением на резервный (в случаях, когда общий ничего не вещает). Это применяется для создания канала диджея — когда он подключен, в эфир идет его трансляция, когда отключен — музыка из плейлиста или перенаправленная с другой радиостанции. Также, это можно применять для оповещений или вставки рекламных роликов.
В данном примере разберем создание канала, который будет получать аудиоконтент из ices, а при отключении данной трансляции, будет играть музыка из другого источника.
В конфиг 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 (или правим уже созданный):
Siava.Su
черновик сисадмина
Установка и настройка потокового Icecast2 + ices0 сервера в Debian
Был великий и ужасный Slackware. И работал на нём Icecast сервер, настроенный следующим образом. И всё было хорошо. Но пришло время ставить Debian..
Итак, на тот момент под руками оказался Debian Lenny. Кстати, Squeeze был уже на подходе, но переходить до выхода релиза не хотелось. Но это не важно, так как всё что описано ниже должно запуститься и под Debian Squeeze.
Устанавливаем Icecast2:
В список репозиториев /etc/apt/sources.list добавьте мультимедиа репозиторий Debian, если у вас его нет, так как некоторые пакеты будут устанавливаться оттуда:
для squeeze:
deb http://mirror.yandex.ru/debian-multimedia/ squeeze main
для lenny:
deb http://mirror.yandex.ru/debian-multimedia/ lenny main
Автоматически будет созданы учётная запись, файл конфигурации и прочее. Для того, чтобы icecast запустился, необходимо в /etc/default/icecast2 установить значение:
Отредактируем файл конфигурации /etc/icecast2/icecast.xml
Если выкинуть всю воду и лишние комментарии, то получилось следующее:
(текст конфига желательно должен иметь кодировку utf8)
Теперь можно запустить Icecast2 командой:
Давайте разберёмся как направить на Icecast2 аудиопоток.
Установка ices0
Я не сторонник перехвата чужих потоков, а хочу воспроизводить собственную коллекцию mp3 файлов. Поэтому, для таких целей понадобится ices. Но не тот, что имеется в репозитории Debian (ices2), а ices0. Так как ices2 воспроизводит только ogg-файлы (насколько я понял), а мне надо mp3.
К сожалению, ices0 отсутствует в репозитории, поэтому будем его собирать вручную. Однако, для сборки вручную надо подготовиться. Для этого установим следующее:
Также, нам потребуются библиотеки libshout3 и libxml2:
И ещё, для поддержки mp3 файлов потребуются библиотеки libmp3lame0. У меня не получилось их установить прямо из репозитория, поэтому ставил самостоятельно:
Всё готово для сборки ices0.
и переходим в директорию с исходниками ices0:
Готово! ices0 установлен. Теперь выполним его конфигурацию. Кстати, а надо ли? 🙂 Я не уверен, но на всякий случай состряпал следующий конфиг. /usr/local/etc/ices.conf:
(текст конфига желательно должен иметь кодировку utf8)
Финальные штрихи
Составим плейлист для ices0:
Вот и всё 🙂
Перепечатка только с указанием ссылки на источник. (c) Siava.Ru
59 комментариев
Я с вами начал переписываться на форуме, но у вас очень строгие правила и у меня удалили 2 аккаунта: vizavi и zpalmal. Продолжаю здесь:
У Вас в инструкции написано, что для поддержки mp3 файлов потребуются библиотеки libmp3lame0 и что надо выбрать какая ситема 32х или 64хбитная. У меня на хостинге написано: Шаблон: Ubuntu-10.10-64 bits. Это значит, что лучше загружать файлы для 64хбитной?
Это значит, что в интерфейсе PuTTY нужно просто поочередно выполнить эти строки? Я именно так и сделал, всё нормально, кроме последней строки. В результате её выполнения я вижу такое сообщение:
# dpkg -i libmp3lame0_3.98.4-0.0_i386.deb
dpkg: error processing libmp3lame0_3.98.4-0.0_i386.deb (—install):
cannot access archive: No such file or directory
Errors were encountered while processing:
libmp3lame0_3.98.4-0.0_i386.deb
root@25391-1:
# dpkg -i libmp3lame-dev_3.98.4-0.0_i386.deb
dpkg: error processing libmp3lame-dev_3.98.4-0.0_i386.deb (—install):
cannot access archive: No such file or directory
Errors were encountered while processing:
libmp3lame-dev_3.98.4-0.0_i386.deb
Почему не выполнилась последняя строка?
Виталий, команды dpkg -i имя_пакета.deb надо выполнять в той же директории, куда загружены эти пактеы.
А как их загрузить? В какую директорию? Что значит выполнять в той же директории? 5-й день бьюсь, как рыба об лед, на вашем форуме 2 раза забанили непонятно за что, на хостинге никто не хочет помогать, просто игнорируют… Неужели нельзя как-то попонятней объяснить?
Виталий, установка любых сервисов на ваш сервер требует наличия хотя бы элементарных знаний в этой области. Никто не будет расписывать руководства настолько подробно. Почитайте книжки, наберитесь опыта, а уж потом приступайте к ковырянию 🙂
Да я даже не знаю какие книжки надо читать, скажите хотя бы …. Пакеты куда надо загрузить? Или без разницы, в корень можно?
спасибо.
статья очень помогла
————————
Запускаю /etc/init.d/icecast2 start
мне выдает
Starting icecast2: Starting icecast2
Detaching from the console
«/O warning : failed to load external entity «/etc/icecast2/icecast.xml
)ATAL: error parsing config file (/etc/icecast2/icecast.xml
XML config parsing error
icecast2.
в папке вефаулт вернул все как было в начале теперь ошибка
/etc/init.d/icecast2 start
: command not foundt2: line 4:
: command not foundt2: line 8:
: command not foundt2: line 11:
: command not foundt2: line 15:
‘ not foundecast2: start-stop-daemon: group `icecast
(Success)
спасибо за статью. помогла))
2 Виталий не нужно тупо копипастить команды. будьте чуть внимательнее и все у вас получится)
Спасибо за статью.
Вместо ices0 можно использовать уже готовые пакеты ices-cc ( http://www.centova.com/pages/icescc ) или ezstream (есть в репозитарии).
DarkSoul, не знал, спасибо за ссылку!
у меня вот такая проблема…
набираю /etc/init.d/icecast2 start и у меня вылетает:
Starting icecast2: Starting icecast2
Detaching from the console
Server startup failed. Exiting
icecast2.
читал…
переустанавливал заного, делал по другим манам, все одно и тоже. всегда при запуске вылетает эта ошибка
что делать не знаю 🙁 подскажите, в чём может быть проблема…
Проблему решил. Просто изменил порт на 8080 вместо 8000
Но снова… При запуске Icecast вылетает:
Starting icecast2
Detaching from the console
Changed root successfully to «/usr/local/icecast».
Changed groupid to 126.
Changed userid to 1001.
FATAL: could not open error logging (/etc/icecast/logs/error.log): No such file or directory
FATAL: could not open access logging (/etc/icecast/logs/access.log): No such file or directory
FATAL: Could not start logging
Пробывал создавать файлы error.log и access.log — не помогает.
Помоги пожалуйста…
Попробуйте удалить логи из /etc/icecast/logs/
затем, установить владельца для этой директории именами пользователя и группы, от которых будет запускаться icecast2: chown icecast2:icecast /etc/icecast/logs/
и запустить снова.
И ещё, логи лучше хранить в /var/log/
невидит файлов вот логи
access.log
ip — — [07/Aug/2011:23:44:25 +0000] «GET /style.css HTTP/1.1» 200 5059$
ip — — [07/Aug/2011:23:44:25 +0000] «GET /corner_bottomleft.jpg HTTP/1$
ip — — [07/Aug/2011:23:44:26 +0000] «GET /corner_topleft.jpg HTTP/1.1″$
ip — — [07/Aug/2011:23:44:26 +0000] «GET /icecast.png HTTP/1.1» 200 51$
ip — — [07/Aug/2011:23:44:26 +0000] «GET /corner_topright.jpg HTTP/1.1$
ip — — [07/Aug/2011:23:44:26 +0000] «GET /corner_bottomright.jpg HTTP/$
ip — — [07/Aug/2011:23:44:34 +0000] «GET /icq.m3u HTTP/1.1» 200 81 «-«$
ip — — [07/Aug/2011:23:44:39 +0000] «GET /icq HTTP/1.1» 404 106 «-» «B$
ip — — [07/Aug/2011:23:44:40 +0000] «GET /icq HTTP/1.1» 404 106 «-» «N$
ip — — [07/Aug/2011:23:45:09 +0000] «GET /radio HTTP/1.0» 404 106 «-«$
ip — — [07/Aug/2011:23:45:14 +0000] «GET /radio HTTP/1.0» 404 106 «-«$
ip — — [07/Aug/2011:23:45:19 +0000] «GET /radio HTTP/1.0» 404 106 «-«$
ip — — [07/Aug/2011:23:45:20 +0000] «GET /radio HTTP/1.0» 404 106 «-«$
[2011-08-07 23:45:19] DBUG fserve/fserve_add_client Adding client to file serv$
[2011-08-07 23:45:19] DBUG stats/modify_node_event update node clients (1)
[2011-08-07 23:45:19] DBUG stats/modify_node_event update node connections (47)
[2011-08-07 23:45:19] DBUG stats/modify_node_event update node client_connecti$
[2011-08-07 23:45:19] DBUG stats/modify_node_event update node clients (0)
[2011-08-07 23:45:20] DBUG stats/modify_node_event update node clients (1)
[2011-08-07 23:45:20] DBUG stats/modify_node_event update node connections (48)
[2011-08-07 23:45:20] INFO fserve/fserve_client_create checking for file /radi$
[2011-08-07 23:45:20] WARN fserve/fserve_client_create req for file «/usr/shar$
[2011-08-07 23:45:20] DBUG fserve/fserve_add_client Adding client to file serv$
[2011-08-07 23:45:20] DBUG stats/modify_node_event update node client_connecti$
[2011-08-07 23:45:20] DBUG stats/modify_node_event update node clients (0)
[2011-08-07 23:46:24] DBUG slave/_slave_thread checking master stream list
[2011-08-07 23:48:25] DBUG slave/_slave_thread checking master stream list
[2011-08-07 23:50:25] DBUG slave/_slave_thread checking master stream list
Большое спасибо за статью.
Как раз возникла идея поднять автодиджея на сервере вместо ретрансляции радио, хоть буду знать, с чего начинать копать по настройке ices.
Еще раз доброе.
Подскажите, ка реализовать проигрывание музыки из определенного каталога без пересоздания плэйлиста.
Вычитал, что нужен скрипт, который будет выдавать на выход имя файла из каталога, но проблема его написать.
Заранее спасибо!
Артем, я с помощью cron раз в сутки обновляю плейлист, так как директория с треками постоянно обновляется пользователями.
И что главное, ices не надо каждый раз перезапускать, он сам подхватывает обновлённый файл плейлиста 🙂
Спасибо за ответ, но нашел еще один вариант:
Еще при конфигурировании сборки ices указать строку:
./configure —with-perl —with-lame
Тогда в файле ices.conf
можно указать следующе6:
А в /usr/local/etc/modules/ положить файл ices.pm, в котором уже и писать скрипт выборки файлов из нужной папки.
Но все равно спасибо, т.к. начинал всё с Вашего сайта.
Следующий вопрос: как на этот же поток, где вещает ices получить возможность иногда подключаться ведущему станции?
Что-то у меня с этими настройками не выходит. И возможно ли такое вообще?
Подскажите выполняю команду apt-get update в конце выдает:
W: GPG error: http://mirror.yandex.ru lenny Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 07DC563D1F41B907
W: GPG error: http://ftp.uk.debian.org lenny Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY AED4B06F473041FA
W: GPG error: http://ftp.us.debian.org lenny Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY AED4B06F473041FA
W: Вы можете запустить ‘apt-get update’ для исправления этих ошибок
Повторяю apt-get update толка нет, что сделать?
Александр, а причём тут Icecast? Обновите цифровые подписи:
Q. Why apt-get doesn’t find this public key : NO_PUBKEY 07DC563D1F41B907 ?
A. Install the debian-multimedia-keyring package with «dpkg -i debian-multimedia-keyring_2008.10.16_all.deb» (click on the link above to download the package).
And then do an ‘apt-get update’.
Starting icecast2: Starting icecast2
Detaching from the console
[2011-12-18 19:25:27] WARN cfgfile/parse_xml_tags unknown element «threadpool» parsing «limits» at line 5
[2011-12-18 19:25:27] WARN cfgfile/parse_xml_tags unknown element «burst-on-connect» parsing «limits» at line 10
WARNING: Can’t change user id unless you are root.
icecast2.
При запуске пишет вот что (как исправить?)
Никита, написано же, не запускать под root.
pw groupadd icecast
pw useradd icecast -g icecast
в icecast.xml
теги убрало по правте
секция секюрети
Подскажите. Все установил и запустил, но при запуске через плеер ругается.
Code: 2 (00000002)
Message: Can’t open the file
————————-
HTTP/1.0 404 Not Available
Content-Type: text/html
Скажите, как поставить ices в автозапуск?
Пропишите в /etc/rc.local строчку запуска.
Приветствую
Сделал всё по указанному тексту, но все равно что-то не так.
Вот вопросы:
1) Добавляю плейлист в винамп и получаю 404. В логе:
[2012-05-18 13:46:58] INFO fserve/fserve_client_create checking for file /radio (/usr/share/icecast2/web/radio)
[2012-05-18 13:46:58] WARN fserve/fserve_client_create req for file «/usr/share/icecast2/web/radio» No such file or directory
Ну да, этой директории там нет. А почему он к ней обращается и что там должно быть?
2) Как понять, запущено у меня на сервере радио или нет? icecast стартует норм, а вот запуск ices проходит молча и я без понятия, заработало ли оно вообще.
3) Что означают все параметры командной строки у ices? Где это можно посмотреть/узнать? Нужны ли они все?
Отвечаю =)
1. Физической директории там такой конечно не будет, но когда запущен ices, то icecast обращается к ices через эти точки монтирования (mount points).
2. Проверить наличие запущенного процесса можно командой в консоли:
ps ax | grep ices
3. командой
ices —help
ps ax показывает
16007 pts/0 S+ 0:00 grep ices
Но при этом ices –help
-bash: ices: command not found
Пересобрал снова ices, теперь помощь показывает.
Но всё равно не запускается. В логах та же ошибка.
Кому должны принадлежать все папки?
У меня сделано так, чтобы человек мог по фтп загружать файлы и обновлять плейлист(он там же лежит). Но фтп принадлежит другому пользователю. Я его добавил в группу icecast. Права поставил 777 и 666 на всякий случай. Что я мог здесь упустить?
Надеюсь, что вы запускаете icecast и ices не под root?
В идеале, надо завести отдельного пользователя под которым и запускать эти сервисы. Соответственно назначить владельцем директорий с логами и прочим.
Здравствуйте, спасибо вам большое за статью. Возникло пару вопросов, как реализовать радиовещание с помощью секции mount ? Идея такая, я через sam broadcaster подключаюсь к icecast а слушатели могут прослушивать через плеер. Основная проблема состоит в том, что мне нужна возможность динамического создания нескольких точек монтирования, а для этого мне придется все время перезапускать icecast сервер, что не желательно ? Что можете посоветовать ? Нужен ли ices или можно без него обойтись
не подскажите через какое время ices подхватывает обновленный playlist.
Увы, как выяснилось позже, он его автоматом не подхватывает 🙁
Для этого, как минимум, необходимо перезапускать процесс ices.
Мне на днях пришла в голову мысль попробовать запустить у нас в городе по локальной сети своё онлайн радио.
Есть icecast-2.3.3, но в папке нету ни какого ярлыка для запуска….
Можно описать пошагово и по подробнее его запуск?
Вы пишете что надо запускать командой…
Как и куда эту команду вводить не понятно….
И большая часть написанного в вашей статье предназначена для людей, соображающих в этом.
Сделайте мануал для чайников.
Простым и доступным языком, без всяких заумных словечек, пожалуйста. =)
Вместо(е) libmp3lame0 используйте libmp3lame0-dev
спсибо за инструкцию, всё завелось с первого раза на debian sid
Во первых хочу поблагодарить автора за такую хорошую статью
Во вторых хочу снести ices0 и воткнуть ezstream… как сделать снос наиболее грамотно?
Спасибо 🙂
Сносить ices0 в обратном порядке его установке. Если остался каталог, откуда устанавливался ices0, то можно выполнить в нём:
make uninstall
либо вручную поудалять
/usr/local/bin/ices
/usr/local/doc/ices/
/usr/local/etc/ices.*
/usr/local/etc/modules/ices.*
/usr/local/share/man/man1/ices.1
ага, крутяк потер с make uninstall я чтот продутил да… на самом деле…
ezstream чет не хочет пока у меня работать…
да и статью я бы обновил для wheezy
вот от меня небольшие правки что я бы упростил:
deb http://mirror.yandex.ru/debian-multimedia/ wheezy main
deb http://www.deb-multimedia.org wheezy main non-free
(не знаю какой адекватнее, я добавил оба)
apt-get install deb-multimedia-keyring
apt-get update
apt-get install icecast2 ezstream lame libmp3lame0 libmp3lame-dev
Потрясно, сделал c ezstream он у меня ещё и кодит в нужный битерейт на лету и в репках он есть!
фундаментальный косяк вашего icecast2 конфига это то что не прописана точка монтирования аудио потока… поэтому в зависимости от версии если повезёт то icecast пытается делать стандартную точку /ices… а как по вашему конфигу её ices0 находит эту точку я вообще не понял…
карочи я сделал себе музыкальную коробку… щас только cron напишу на find мптришек при добавлении… только я пока так и не понял ezstream перепрочитывает при добавлении треков плейлист или он делает это один раз во время загрузки…
В моём случае, точку монтирования задаёт не icecast, а ices0 (запуск ices0 с параметрами). Всё один в один как написано в исходной статье работает тут: http://siava.ru:8000/
Благодарю… и вам ещё раз спасибо за хороший тутор
Можно ещё вопрос… вы скручивали icecast с каким либо веб-плеером… если да то с каким и из чего выбирали?
Поток отлично воспроизводится тем же uppod и многими flash-mp3 плеерами.
неее от конструкторского кода никакого профита… есть дикая мысль прикрутить webgl плеер… но пока исчу… в общем если есть идеи по скрутке на js+html5 если ещё и с дикой анимацией то вообще крутата
Спасибо за статью!
У меня лишь один вопрос.
Имеет ли значение какой внешний IP-адрес у интернет провайдера. Например я знаю что у нас в городе один и тот же внешний IP-адрес на всех пользователей города. Будет ли вещание работать за пределами локальной сети в этом случае ??
Есть провайдеры у которых внешние IP-адреса для каждого пользователя присваиваются индивидуально и на одного пользователя отдельно. Но это не мой случай.
В вашем случае пользователи сети выходят в интернет через шлюз провайдера под одним IP адресом (используют NAT). В таком случае, доступа снаружи к вашему серверу не будет (только внутри сети провайдера). Необходим выделенный IP адрес.
Добрый день! Подскажите, пожалуйста. Все установил, icecast2 отдельно стартует, веб страницу вижу, а вот при выполнении:
icecast2 -c «ices -c ‘/usr/local/etc/ices.conf’ \
-D ‘/var/log/icecast2/’ -F ‘/playlist.txt’ \
-m ‘radio’ -u ‘http://host:8000/radio.m3u’ -d ‘Music’ \
-n ‘Music’ -g ‘All’ -b 128 -B -r»
пишет: XML config parsing error. Может знаете, что может быть? И Active Mountpoints пустой список. Как я понял здесь должен отображаться список радио потоков.
Приветствую!
Проверьте конфиг-файл icecast2, возможно где-то синтаксическая ошибка. Ну там незакрытая скобка или ещё что-нибудь закралось при редактировании.