Различия
Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
— |
wiki:icegenerator [2013/04/06 10:03] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | **Icegenerator** | ||
+ | |||
+ | IceGenerator является генератором потока для Icecast / Shoutcast серверов. Вещание MP3 на Icecast / Shoutcast сервер без перекодирования, экономия ресурсов CPU. Возможность поиска каталогов, в нашем варианте собран без поддержки MySQL / PGSQL, также убрана возможность чтения тегов ID3 из файлов, возможно в следующих сборках будет добавлено, поддерживается M3U/PLS, META динамические данные и Telnet сервис. | ||
+ | |||
+ | |||
+ | Предполагается что вы уже изучили раздел связанный с установкой системы opkg на устройство. Данная статья предполагает что вы устаналиваете данное програмное обеспечение для работы с сервером [[wiki:icecast|]]\\ | ||
+ | В примерах конфигурации предполагается что конфигурационный файл находится:\\ | ||
+ | /media/DISK_A1/system/etc/icegenerator | ||
+ | |||
+ | |||
+ | Установка сводится к: | ||
+ | |||
+ | opkg install icegenerator | ||
+ | |||
+ | |||
+ | После чего в вашу систему должен установиться соотвествующий пакет.\\ | ||
+ | На первоначальном этапе рекомендую также установить screen (скорее всего это уже сделано на этапе установки [[wiki:icecast|]]): | ||
+ | |||
+ | opkg install screen | ||
+ | |||
+ | Откроем для редактирования файл: | ||
+ | |||
+ | /media/DISK_A1/system/etc/icegenerator.conf | ||
+ | |||
+ | |||
+ | В начале файлы можно обнаружить секции конфигурации с "#" в начале, это обозначает комментарии. Обязательно замените их на свои, не стоит оставлять пароли по умолчанию.\\ | ||
+ | |||
+ | Пример файла конфигурации для того чтобы icegenerator вещал локально расположеную музыку на вашем жёстком диске подключенном к устройству:\\ | ||
+ | |||
+ | |||
+ | # IP адрес сервера | ||
+ | IP=127.0.0.1 | ||
+ | # Порт сервера | ||
+ | PORT=8000 | ||
+ | # Тип сервера | ||
+ | # 2 - для Icecast 2.X | ||
+ | SERVER=2 | ||
+ | # Точка монтирования потока на сервере | ||
+ | MOUNT=/mymusic | ||
+ | # Для Icecast всегда source | ||
+ | SOURCE=source | ||
+ | # Пароль на сервер [[wiki:icecast|]] он указан в его конфигурации в разделе relay-password | ||
+ | PASSWORD=password | ||
+ | # Формат файлов которые будут проигрываться | ||
+ | # 0 - Ogg Vorbis | ||
+ | # 1 - MP3 | ||
+ | FORMAT=1 | ||
+ | #Путь к файлам котрые будут проигрываться | ||
+ | MP3PATH=pth:/media/DISK_A1/files/music | ||
+ | #Проигрывать рекурсивно, то есть прочитывать вложенные директории | ||
+ | RECURSIVE=1 | ||
+ | # Тут можно указать файл в который будет записываться поток | ||
+ | DUMPFILE= | ||
+ | # Проигрывать по кругу | ||
+ | LOOP=1 | ||
+ | # Проигрывать случайным образом | ||
+ | SHUFFLE=1 | ||
+ | # Имя радиостанции | ||
+ | NAME=My Local Music Collection | ||
+ | # Жанр станции | ||
+ | GENRE=Other | ||
+ | # Описание станции | ||
+ | DESCRIPTION=All my music | ||
+ | # Адрес станции | ||
+ | URL=http://ip:8000/mymusic.m3u | ||
+ | #Битрейт потока | ||
+ | BITRATE=128 | ||
+ | # Поток публичный | ||
+ | PUBLIC=1 | ||
+ | #Как часто обновлять информацию о потоке | ||
+ | METAUPDATE=0 | ||
+ | # Настройка логирования | ||
+ | # 0 - не вести логи | ||
+ | # 1 - Передавать на syslogd | ||
+ | # 2 - Писать в файл самостоятельно | ||
+ | LOG=2 | ||
+ | # Путь к лог файлу | ||
+ | LOGPATH=/media/DISK_A1/system/var/log/icegenerator.log | ||
+ | #Телнет интерфейс | ||
+ | DATAPORT=8796 | ||
+ | |||
+ | |||
+ | Перед запуском: | ||
+ | |||
+ | Предполагается, что данное ПО запускается совместно с icecast расположенным на томже устройстве.\\ | ||
+ | Если вам хочется чтобы эту радиостанцию также могли прослушивать пользователи из сети интернет, то вам необходимо:\\ | ||
+ | На вашем устройстве должен быть белый и желательно постоянный ip адрес, он приобретается у вашего провайдера интернет.\\ | ||
+ | В папке: | ||
+ | |||
+ | /media/DISK_A1/system/etc/firewall.d | ||
+ | |||
+ | Создаём скрипт firewall.sh с содержимым: | ||
+ | |||
+ | #!/bin/sh | ||
+ | iptables -A INPUT -i lo -j ACCEPT | ||
+ | iptables -A INPUT -p tcp --dport 8000 -j ACCEPT | ||
+ | |||
+ | Делаем его исполняемым спомощью команд: | ||
+ | |||
+ | chmod +x путь_и_имя_скрипта.sh | ||
+ | |||
+ | После этого при перезапуске устройства, эти правила будут автоматически применяться. | ||
+ | Первое правило разрешает общаться между собой нашему генератору потока и соотвественно серверу который будет раздавать этот поток, а второе правило разрешает соединения к серверу отовсюду. | ||
+ | |||
+ | Запуск: | ||
+ | |||
+ | Если запускается в паре с сервером вещания на этомже устройстве, то можно обойтись командами: | ||
+ | screen -rU - присоединение к шеллу с icecast если он был ранее запущен. | ||
+ | ctrl+a+c - создаём ещё одно окно. | ||
+ | icegenerator -f /media/DISK_A1/system/etc/icegenerator/icegenerator.conf | ||
+ | |||
+ | Или если ваш стример расположен где-то в другом месте, можно создать отдельно: | ||
+ | |||
+ | screen -dmS icegenerator -U icegenerator -f /media/DISK_A1/system/etc/icegenerator/icegenerator.xml | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | **Нюансы:** | ||
+ | |||
+ | В текущей сборке не читает теги mp3.\\ | ||
+ | При большом количестве файлов в директории может выдавать Segmentation fault.\\ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||