Потокове радіо на FreeBSD 10 з IceCast і Ices

У наступному підручнику пояснюється, як налаштувати потоковий сервер радіомовлення IceCast і відтворювати аудіофайли (музику або подкасти) на платформі FreeBSD. У цьому посібнику передбачається, що ви використовуєте FreeBSD 10.0 або новішої версії і що ви ввійшли як користувач root. Також передбачається, що у вас є текстовий редактор для редагування файлів конфігурації.

Перш ніж почати, важливо зрозуміти три частини сервера потокового аудіо. По-перше, у нас є саме серверне програмне забезпечення IceCast. IceCast діє як центральний центр, куди надходять і відправляються аудіопотоки. Сервіс IceCast приймає аудіопотоки від вихідних клієнтів. Клієнти джерела – це програми, які зчитують аудіофайли або інші джерела аудіо, наприклад мікрофони. У нашому прикладі вихідним клієнтом є Ices, і він постачає аудіопотік на сервер IceCast. Третій компонент — клієнт, який слухає. Аудіопотоки надходять від сервера IceCast до слухачів, які потім чують аудіо. Зазвичай клієнтом для прослуховування є настільна програма, така як веб-браузер, мультимедійний плеєр VLC або WinAMP. Візуально аранжування виглядає так:

 Source client (Ices) --> IceCast server --> Listening client (browser)

Щоб налаштувати потоковий сервер IceCast на FreeBSD, ми спочатку встановлюємо саме серверне програмне забезпечення. Це можна зробити, виконавши наступну команду.

 pkg install icecast2

Потім ми відкриваємо /etc/rc.confфайл і вмикаємо фонову службу IceCast. Це робиться шляхом додавання наступного тексту в нижню частину /etc/rc.confфайлу.

 icecast_enable="YES"

Наш наступний крок — налаштувати службу IceCast. Пакет IceCast постачається разом із зразком файлу конфігурації, який ми можемо змінити. Цей зразок файлу знаходиться в /usr/local/etcкаталозі. Ми зробимо копію цього зразка файлу перед його редагуванням.

 cd /usr/local/etc
 cp icecast.xml.sample icecast.xml

Тепер ми хочемо відредагувати кілька ключових полів icecast.xmlфайлу. Більшу частину файлу можна залишити з налаштуваннями за замовчуванням, але нам слід змінити інформацію для входу. Ми можемо зробити це, відвідавши аутентифікації розділ (близько лінії 30) і змінити вихідний пароль і релейно-пароль для що - то підходяще. Ці паролі дозволять нам передавати дані на сервер IceCast з вихідного клієнта. Нам також слід змінити змінні admin-user і admin-password на щось унікальне для нашої системи. Ці два облікові дані охороняють веб-інтерфейс сервера IceCast. Потім, приблизно в рядку 150, ми повинні змінити змінні mount-name , username , іпароль . Ці три змінні захищають точку монтування сервера IceCast. Нарешті, у нижній частині icecast.xmlфайлу ми повинні побачити розділ безпеки , який було прокоментовано. Нам слід видалити символи відкриття <-- і закриття --> з усього абзацу безпеки . Після зміни icecast.xmlфайлу збережіть файл.

Після редагування файлу конфігурації ми хочемо ввімкнути ведення журналу. Для цього виконайте наступні команди.

 mkdir /var/log/icecast
 chown nobody:nogroup /var/log/icecast

Нарешті, ми запускаємо сервер IceCast. Це змушує сервер слухати вхідні та вхідні клієнтські підключення.

 service icecast2 start

Сервер IceCast запущено, тому тепер нам потрібно надати йому щось для гри. Наш наступний крок — установка клієнта джерела Ices. FreeBSD наразі не пропонує бінарний пакет для Ices, тому нам потрібно створити його з портів. Це можна зробити, виконавши наступні команди.

 portsnap fetch
 portsnap extract
 cd /usr/ports/audio/ices
 make install
 make clean

Клієнту джерела Ices знадобиться обліковий запис користувача та журнал. Щоб створити користувача для програмного забезпечення Ices і встановити пароль для облікового запису, виконайте ці команди.

 pw groupadd ice
 pw useradd ices -g ice -m
 passwd ices

Після створення користувача ми можемо ввімкнути ведення журналу для Ices.

 mkdir /var/log/ices
 chown ices:ice /var/log/ices

З цього моменту нам більше не потрібен доступ користувача root і ми можемо працювати як користувач ices . Далі нам потрібно створити два каталоги. Один каталог, music, міститиме аудіофайли, які ми збираємося транслювати. Другий каталог, conf, буде містити наші файли конфігурації.

 su ices
 cd /home/ices
 mkdir music conf
 cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml

Тепер у нас є зразок файлу конфігурації. Настав час відредагувати conf/configuration.xmlфайл відповідно до нашого середовища. Єдині частини файлу, які нам потрібно змінити, знаходяться в рядку 60. Тут нам потрібно вказати пароль і місце монтування, яке ми встановили у icecast.xmlфайлі. Наприклад, якщо ми встановимо наше ім’я монтування у icecast.xmlфайлі як /radio.ogg, тоді ми повинні змінити параметр монтування нашого configuration.xmlфайлу на також . Наше поле пароля має відповідати паролю джерела, який ми створили у файлі. Коли наш файл буде відредаговано, нам потрібно буде зберегти зміни./radio.oggconfiguration.xmlicecast.xmlconfiguration.xml

Після створення файлу конфігурації наступним кроком має бути копіювання аудіофайлів, які ми хочемо передати в musicкаталог. Усі аудіофайли мають бути у .oggформаті, оскільки IceCast не оброблятиме .mp3файли зі своїми налаштуваннями за замовчуванням. Після того, як усі аудіофайли, які ми хочемо транслювати, будуть у musicкаталозі, нам потрібно створити список відтворення. Список відтворення — це звичайний текстовий файл зі списком музики, яку ми хочемо транслювати. Ми можемо легко створити список відтворення за допомогою наступних команд.

 cd /home/ices/conf
 ls -d ../music/*.ogg > playlist.txt

Аудіофайли відтворюватимуться в тому порядку, в якому вони відображаються у playlist.txtфайлі. Файл можна редагувати в будь-якому текстовому редакторі, щоб налаштувати порядок потокового аудіо.

Все, що нам потрібно зробити, щоб почати трансляцію наших аудіофайлів, це запустити цю команду.

 ices configuration.xml

Примітка: часто нам може знадобитися запустити вихідний клієнт Ices, а потім вийти з системи та зайнятися чимось іншим. У такому випадку мені подобається запускати Ices з екранного сеансу. Ось приклад того, як запустити айс з екраном.

 screen
 cd /home/ices/conf
 ices configuration.xml

Потім натисніть Ctrl + A і натисніть D ключ. Це відокремить сеанс екрана та дозволить нам вийти, поки Ices відтворює аудіо у фоновому режимі. Пізніше ми можемо зупинити Ices, увійшовши в систему та запустивши:

 screen -r
 killall ices
 exit

Тепер ми можемо підключитися до нашого сервера через порт 8000 у веб-браузері, щоб прослухати наш аудіопотік. URL-адреса матиме вигляд http://myservername:8000. Цю адресу можна зробити загальнодоступною, якщо ви хочете дозволити іншим слухати потік.

Раніше я згадував, що IceCast відтворює .oggфайли, а не .mp3. Це досить легко подолати у FreeBSD. Як користувач root, ми можемо встановити інструмент перетворення, який називається sox , який конвертуватиме наші .mp3файли у .oggфайли. Припускаючи, що всі наші .mp3файли знаходяться в /home/ices/musicкаталозі, ми можемо встановити sox і виконати перетворення наступним чином:

 pkg install sox
 cd /home/ices/music
 for i in *.mp3; do sox ./"$i" ./"$i".ogg; done

Потім ми можемо оновити наш список відтворення, використовуючи:

 cd ../conf
 ls -d ../music/*.ogg > playlist.txt

Майте на увазі, що потокове аудіо може бути інтенсивним. Один-два клієнти, які слухають нашу радіостанцію, не потребують великої пропускної здатності, але 50 або більше клієнтів можуть перевищити відведену місячну пропускну здатність сервера. Бажано ввімкнути обмеження пропускної здатності на потоковому сервері, щоб уникнути несподіваних фінансових витрат.

Залишити коментар

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

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

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

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

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

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

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше