Повстання машин: застосування ШІ в реальному світі
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
У наступному підручнику пояснюється, як налаштувати потоковий сервер радіомовлення 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-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.
Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.
Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.
Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…
Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.
Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.
Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.
У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.
Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше