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

Потокове радіо на 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 або більше клієнтів можуть перевищити відведену місячну пропускну здатність сервера. Бажано ввімкнути обмеження пропускної здатності на потоковому сервері, щоб уникнути несподіваних фінансових витрат.


Як встановити Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Як встановити Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Використання іншої системи? Tiny Tiny RSS Reader — це безкоштовний зчитувач і агрегатор новин (RSS/Atom) із відкритим вихідним кодом, що розміщується на власному веб-сторінці.

Як встановити Wiki.js на FreeBSD 11

Як встановити Wiki.js на FreeBSD 11

Використання іншої системи? Wiki.js — це безкоштовний сучасний вікі-додаток з відкритим вихідним кодом, побудований на Node.js, MongoDB, Git і Markdown. Вихідний код Wiki.js є публічним

Як встановити CMS Pagekit 1.0 на FreeBSD 11 FAMP VPS

Як встановити CMS Pagekit 1.0 на FreeBSD 11 FAMP VPS

Використання іншої системи? Pagekit 1.0 CMS – це красива, модульна, розширювана та легка, безкоштовна система керування вмістом (CMS) з відкритим вихідним кодом.

Як встановити MODX Revolution на FreeBSD 11 FAMP VPS

Як встановити MODX Revolution на FreeBSD 11 FAMP VPS

Використання іншої системи? MODX Revolution — це швидка, гнучка, масштабована система управління вмістом (CMS) корпоративного рівня з відкритим кодом, написана на PHP. Це я

Налаштування OpenBSD 5.5 64-розрядної

Налаштування OpenBSD 5.5 64-розрядної

У цій статті ви дізнаєтеся, як налаштувати OpenBSD 5.5 (64-розрядна версія) на KVM за допомогою Vultr VPS. Крок 1. Увійдіть в панель керування Vultr. Крок 2. Натисніть РОЗВЕРНУТИ

Як встановити osTicket на FreeBSD 12

Як встановити osTicket на FreeBSD 12

Використання іншої системи? osTicket — це система продажу квитків з відкритим вихідним кодом. Вихідний код osTicket відкрито розміщено на Github. У цьому підручнику

Як встановити Flarum Forum на FreeBSD 12

Як встановити Flarum Forum на FreeBSD 12

Використання іншої системи? Flarum — це безкоштовне програмне забезпечення нового покоління з відкритим вихідним кодом, яке робить онлайн-обговорення веселими. Вихідний код Flarum розміщений o

Як увімкнути TLS 1.3 у Nginx на FreeBSD 12

Як увімкнути TLS 1.3 у Nginx на FreeBSD 12

Використання іншої системи? TLS 1.3 — це версія протоколу безпеки транспортного рівня (TLS), який був опублікований у 2018 році як запропонований стандарт у RFC 8446.

Встановіть WordPress на OpenBSD 6.2

Встановіть WordPress на OpenBSD 6.2

Вступ WordPress є домінуючою системою керування вмістом в Інтернеті. Він забезпечує все, від блогів до складних веб-сайтів із динамічним вмістом

Як встановити Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Як встановити Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Використання іншої системи? Subrion 4.1 CMS — це потужна та гнучка система керування вмістом із відкритим кодом (CMS), яка забезпечує інтуїтивно зрозумілий та зрозумілий вміст

Як налаштувати DJBDNS на FreeBSD

Як налаштувати DJBDNS на FreeBSD

Цей підручник покаже вам, як налаштувати службу DNS, яку легко підтримувати, легко налаштовувати і яка, як правило, є більш безпечною, ніж класичний BIN

Як встановити стек Nginx, MySQL та PHP (FEMP) на FreeBSD 12.0

Як встановити стек Nginx, MySQL та PHP (FEMP) на FreeBSD 12.0

Стек FEMP, який можна порівняти зі стеком LEMP в Linux, являє собою набір програмного забезпечення з відкритим вихідним кодом, яке зазвичай встановлюється разом для забезпечення FreeBS

Встановлення MongoDB на FreeBSD 10

Встановлення MongoDB на FreeBSD 10

MongoDB — це база даних NoSQL світового класу, яка часто використовується в нових веб-додатках. Він забезпечує високопродуктивні запити, шардінг та реплікацію

Як встановити Моніку на FreeBSD 12

Як встановити Моніку на FreeBSD 12

Використання іншої системи? Monica — це відкрита система управління особистими відносинами. Подумайте про це як про CRM (популярний інструмент, який використовується відділами продажів у м

OpenBSD як рішення для електронної комерції з PrestaShop і Apache

OpenBSD як рішення для електронної комерції з PrestaShop і Apache

Вступ У цьому підручнику демонструється OpenBSD як рішення для електронної комерції з використанням PrestaShop і Apache. Apache потрібен, оскільки PrestaShop має складну UR

Встановлення Fork CMS на FreeBSD 12

Встановлення Fork CMS на FreeBSD 12

Використання іншої системи? Fork — це CMS з відкритим кодом, написана на PHP. Вихідний код Forks розміщено на GitHub. Цей посібник покаже вам, як встановити Fork CM

Як встановити Directus 6.4 CMS на FreeBSD 11 FAMP VPS

Як встановити Directus 6.4 CMS на FreeBSD 11 FAMP VPS

Використання іншої системи? Directus 6.4 CMS — це потужна та гнучка, безкоштовна система керування вмістом без голови (CMS) з відкритим вихідним кодом, яка надає розробнику

Підвищення безпеки для FreeBSD за допомогою IPFW і SSHGuard

Підвищення безпеки для FreeBSD за допомогою IPFW і SSHGuard

Сервери VPS часто стають мішенню зловмисників. Поширений тип атаки відображається в системних журналах у вигляді сотень несанкціонованих спроб входу через ssh. Налаштовуючи

Налаштуйте httpd в OpenBSD

Налаштуйте httpd в OpenBSD

Вступ OpenBSD 5.6 представив новий демон під назвою httpd, який підтримує CGI (через FastCGI) і TLS. Для встановлення нового http не потрібно додатково працювати

Налаштуйте iRedMail на FreeBSD 10

Налаштуйте iRedMail на FreeBSD 10

Цей підручник покаже вам, як встановити групове програмне забезпечення iRedMail на нову інсталяцію FreeBSD 10. Ви повинні використовувати сервер з принаймні одним гігабайтом o

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

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

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

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. Прочитайте цю статтю, щоб дізнатися більше