**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.\\