Робимо своє інтернет радіо

Робимо своє інтернет радіо.

У цій статті я розповім як зробити своє інтернет радіо з нонтопом, красивою статистикою, перекиданням слухачів з пустого каналу і правильним кодуванням.

Всі маніпуляції я буду проробляти на Debian 6.0, але даний how-to підійде для будь-якого debian-based дистрибутива (ubuntu, linux mint etc).
Що будемо ставити:

  • Icecast2
  • Ices0.4 (для мовлення mp3, для OGG потрібно ставити Ices2)
  • MRTG (для побудови графіків)
  • Бібліотеки (libshout-2.2.2, libmp3lame-3.97, LibXML2)

В Ubuntu server 9.04 і вище все бібліотеки є в репозиторіях, тому ставимо:

В Debian 6.0 так само є в репозиторії, тільки його потрібно додати:

І вниз списку додаємо:

Зберігаємо результат (control + X y) і встановлюємо ключ сховища:

Після чого оновлюємо список пакетів:

І встановлюємо наші бібліотеки:

До счатью, Icecast server є в репозиторіях, тому ставимо його командою:

При цьому, під час установки, Icecast створить користувача і групу Icecast.

Відкриваємо для редагування конфіг Icecast2:

І бачимо наш конфиг (нижче приведу його повністю з позначками):

З усього конфіга, нам цікаві тільки кілька секцій, це ліміти, паролі і тонка настройка горгон (точок монтування). З першими двома секціями, зазвичай, питань не виникає, а от з налаштуваннях горгон ми зараз поговоримо докладніше.

Налаштування fallback mount. (Резервна точка монтування)

Для початку поясню що таке fallback точка монтування на простому прикладі. Припустимо у вас є дві точки монтування: / live і / nonstop. на / live у вас відповідно час від часу ведуть діджеї, а на / nonstop постійно грає музика. Без fallback всі слухачі які були на точці / live. при відключенні діджея сбрасиваютcz, і якщо захочуть послухати / nonstop їм потрібно перепідключитися самим. За допомогою fallback ми зробимо це автоматично, додаємо в конфіг наступні рядки:

Де / live це вихідна точка (та з якою перекидаємо). а / nonstop точка призначення. На цьому вся настройка fallback-mount закінчена. Тепер прийшов час для кодування.

Налаштування кодування IceCast.

Дуже часто буває, що відтворена пісня відображається не правильно, або не відображається зовсім, як на картинці нижче:

Що б виправити це прикру помилку, можна примусово виставити кодування для точки монтування, наприклад для / live це буде виглядати так:

Де utf-8кодіровка тегів нашої музики. (Зазвичай або cp1251 або unf-8)
Так само в розділі mount можна встановити інший пароль на певну точку, назва каналу, музики, радіо:

Ices0.4 буде виконувати у нас функцію нонстопом ефіру. На жаль, ices немає в репозиторіях, тому нам доведеться його зібрати.

Для складання ices виконуємо команди:

Після того як ми зібрали наш ices, будемо його налаштовувати.

Знову ж переходимо до конфігу ices, приклад якого повинен бути в /usr/local/etc/ices.conf.dist. копіюємо його:

І відкриваємо для редагування:

Знову ж наведу конфиг цілком з позначками з важливих місцях:

На цьому настройка ices майже закінчилося, перейдемо до плей листам.

Створення плей листів Ices0.4

Для створення плей листа можна використовувати два методи, складний ручний і автоматичний. Ми вибираємо природно автоматичний. Але для початку небагато поясню що і де.

Припустимо що музика у вас лежить в папці / mnt / music / nonstop, переходимо в папку і створюємо наш плейліста:

Після виконання команди, у нас з'явиться файл playlist.txt, в якому буде список всього вмісту папки / mnt / music / nonstop.

Для запуску Icecast2, спочатку треба дозволити йому запуск. для цього відкриваємо:

І правимо параметр # Change this to true when done to enable the init.d script
ENABLE = true. повинно вийти ось так:

І запускаємо icecast командою:

Якщо ices буде у Вас віщати тільки один канал, то його можна запустити командою:

Але якщо у Вас кілька каналів, і відповідно кілька конфігов, то запускається ices командою:

Де /usr/local/etc/ices.conf нехай до вашого конфіга.

На цьому настройка завершена. Переходимо до статистики.

Практично з самого першого запуску сервера радіо, я ламав голову, як зробити облік і підрахунок статистики слухачів. На допомогу прийшов MRTG, програма, спочатку створена для підрахунку трафіку і читання логів.

Установка MRTG.
Встановити MRTG в debian і ubuntu можна командою:

На цьому власне і вся установка, так що переходимо до налаштування.
настроках MRTG
Після установки файл конфігурації MRTG повинен знаходить в /etc/mrtg.cfg, відредагуємо його:

ВАЖЛИВО!
Якщо збираєтеся використовувати MRTG тільки для зняття статистики IceCast2, то можете сміливо видаляти все содіржімое конфіга, і вставити наступні рядки:

Тут не багато поясню, що до чого.

Час оновлення графіків в хвилинах.

Стартувати MRTG як демон.

Папка куди будуть складатися файли. (Можна створити наприклад піддомен ice.pipradio.com)

Розмір графіків.
Тепер створюємо скрипт, який буде збирати статистику радіо з усіх потоків:

І втсавляем наступні:

Якщо ж ви хочете знімати статистику з якогось одного потоку, то скрипт буде виглядати так:

Де? Mount = / nonstop '; назва потоку (точки монтування icecast)
Тепер даємо права на виконання скрипта:

І додаємо наш скрипт в конфіг MRTG:

ВАЖЛИВО!
Якщо хочете бачити статистику по потокам, зверніть увагу на [all] це індіфікатор графіка, він повинен бути різним для кожного потоку
Спробуємо запустити MRTG

Якщо помилок виду Target [all] [_ IN_] '$ target -> [1]
немає, значить все добре, якщо є, перевірте ваш сервер, і у випадку зняття статистики з окремого потоку, перевірте чи є він.
Тепер нам потрібно створити файл index.html, для цього використовуємо команду:

Схожі статті