Як налаштувати сервер Icecast для передачі аудіо в моїй мережі?


63

Трансляція виходу звукової карти як інтернет-радіопотік є надійним способом передачі аудіо в мережу. Це чудово можна використовувати, наприклад, для передачі аудіо в бездротовій локальній мережі на інший комп'ютер або будь-який інший пристрій, здатний відтворювати інтернет-радіо потоки.

Однак я не знайшов легкого покрокового керівництва про те, як це налаштувати.

Відповіді:


75

Трансляція аудіо за допомогою Icecast2


1. Встановіть Icecast2 Встановити Icecast2


2. Відредагуйте конфігурацію Icecast2

Відкрийте файл /etc/icecast2/icecast.xmlяк корінь у редакторі. З міркувань безпеки слід встановити паролі в <authentication>розділі:

<admin-user>admin</admin-user>
<admin-password>hackme</admin-password> 

Якщо ви змінили <source-password>або <relay-password>вам потрібно зробити це на стороні джерела чи ретрансляції. Це означає, що залиште його за замовчуванням або також змініть його у файлі ices2.xml (див. Нижче). Те саме потрібно буде зробити у файлах конфігурації Ices або Darkice.

Вам також потрібно визначити ім'я хоста, куди можна дістатися ваш потік:

<hostname>localhost</hostname>

Залиште це як localhost (не потрібно вказувати вирішений IP-адресу), коли вам потрібно лише передати потоки в локальну мережу. Порт за промовчанням для прослуховування - 8000. Змініть його лише за потреби.


3. Редагуйте параметри за замовчуванням

Відкрийте /etc/default/icecast2файл як корінь у редакторі. Останній рядок потрібно змінити на

ENABLE=true

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

4. Старт / стоп Icecast

Сервер запускається і зупиняється за допомогою наступних команд:

/etc/init.d/icecast2 start
/etc/init.d/icecast2 stop

Під час роботи сервера Icecast можна адмініструвати з будь-якого веб-переглядача http://localhost:8000/admin/після введення облікових даних адміністратора, визначених на кроці 1. Додаткову документацію можна отримати на Icecast.org .

Stream2ip - це графічний інтерфейс для швидкого запуску та зупинки потоків, де вже зроблено основне налаштування для Ices2, Ices або Darkice.


Ices2 Встановіть ices2 для передачі аудіо OGG Vorbis з локальної звукової карти

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

Створіть каталоги для Ices2

mkdir /var/log/ices   # in case you need logfiles.  
mkdir /etc/ices2      # for putting ices stuff in.  

Відредагуйте конфігурацію Ices2 .xml

Ices2 запуститься, використовуючи .xml файл для налаштувань. Вербальні приклади конфігурацій можна знайти в /usr/share/doc/ices2/examples/. Ці файли потрібно редагувати, щоб відповідати вашим потребам, і їх можна скопіювати будь-де, найкраще у домашній каталог. Залежно від конфігураційного файлу Ices2 використовує список відтворення у форматі Ogg Vorbis ( ices-playlist.xml) або вихід з вашої звукової карти ( ices-alsa.xml) як джерело потоку для Icecast2.

У розділі <input>може знадобитися замінити пристрій, якщо ви налаштували вашу звукову систему на PulseAudio. Для цього відредагуйте відповідний рядок у:

<param name="device">pulse</param>

Назва потоку для приймаючого клієнта визначена в наступному розділі.

<mount>/example1.ogg</mount>

Почніть трансляцію

Потоки з вашої звукової картки розпочнуться спочатку запуском сервера Icecast2, а потім запуском Ices2 за допомогою наступних команд:

/etc/init.d/icecast2 start
ices2 /home/user/somewhere/ices-pulse.xml # or any other name from .xml file

Налаштування приймача

На стороні приймача ваша радіостанція вмикається : <serverIP>:8000/example1.oggде <serverIP>знаходиться IP вашого потокового сервера, а потім порт, визначений у файлі icecast.xml (за замовчуванням 8000).

Припинити трансляцію

Потоки припиняються вбивством Ices2 та / або припиненням роботи сервера Icecast2:

killall ices2
/etc/init.d/icecast2 stop

Ices для трансляції відтворення mp3

Трансляція списку відтворення, що містить mp3-файли, не може здійснюватися за допомогою Ices2. Нам потрібно встановити IceS , який ми маємо встановити з джерела .

Після налаштування файлу конфігурації з адресою сервера, паролем та властивостями потокової передачі (добре задокументований приклад знайдеться в /usr/share/doc/ices/examples) ми можемо передавати аудіофайли mp3 з списків відтворення (наприклад, у форматі .m3u) через сервер Icecast2:

/etc/init.d/icecast2 start
ices -c <path_to_config_file> -F <path_to_playlist>

Для подальших варіантів ознайомтесь із документацією на досить досконалій довідковій сторінці man ices.


Darkice Встановіть darkice для прямої трансляції

Ми можемо передавати вихід локальної звукової карти як OGG Vorbis або як mp3-потік за допомогою Darkice . Для ввімкнення потокової передачі локальної звукової карти нам може знадобитися спочатку визначити пристрій запису Darkice в pulseaudio. Це можна зробити за допомогою павуконтролю Встановіть pavucontrol . На вкладці Запис виберіть Monitor of <your soundcard>для "плагін ALSA [darkice]" .

Файл конфігурації (добре задокументований приклад, наведений в /usr/share/doc/darkice/examples) потрібно адаптувати до сервера Icecast та локального звукового середовища:

[general]
duration        = 0      # duration in s, 0 forever
bufferSecs      = 1      # buffer, in seconds
reconnect       = yes    # reconnect if disconnected

[input]
device          = default # or `pulse' for Pulseaudio
sampleRate      = 44100   # sample rate 11025, 22050 or 44100
bitsPerSample   = 16      # bits
channel         = 2       # 2 = stereo

[icecast2-0]
bitrateMode     = vbr       # variable bit rate (`cbr' constant, `abr' average)
quality         = 1.0       # 1.0 is best quality
format          = mp3       # format. Choose `vorbis' for OGG Vorbis
bitrate         = 256       # bitrate
server          = localhost # or IP
port            = 8000      # port for IceCast2 access
password        = hackme    # source password to the IceCast2 server
mountPoint      = mystream.mp3  # mount point on the IceCast2 server .mp3 or .ogg
name            = mystream

Після збереження цієї конфігурації (наприклад, в ~/music/darkice.cfg) ми спочатку запускаємо сервер Icecast, а потім зможемо передавати імпульсний вихід з локальної звукової картки шляхом виклику:

/etc/init.d/icecast2 start
darkice -c ~/music/darkice.cfg

На приймачі ми налаштовуємось на http://<localhost>:8000/mystream.mp3прослуховування. <localhost>- IP сервера Icecast.


3
Що стосується частини "Залиште це як localhost, коли ви хочете лише передавати потоки в локальну мережу", чи не потрібно це IP-доступ або мережевий доступ до Інтернету, щоб інші користувачі могли підключитися?
Олі

чи пов’язані адміністратор-користувач та адміністратор-пароль із користувачем / паролем машини?
Чарбель

1
@Charbel: ні, вони не пов'язані. Виберіть будь-який пароль, який вам подобається. Наприклад, вони потрібні для доступу до веб-інтерфейсу адміністратора Icecast ( localhost: 8000 / admin ).
Таккат

Це чудова відповідь, дякую. У багатьох навчальних посібниках я бачу, як згадуються разом Icecast та mpd, які працюють разом. Я не розумію зв'язку між Icecast та mpd - чи змогли б ви уточнити? Яку роль виконує кожен?
CoolUserName

1
Зауважте, що паролі Icecast2 зберігаються (і використовуються в Darkice) як чіткі тексти. Не використовуйте тут свої дуже секретні паролі.
еломаж
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.