Трансляция аудио с помощью Icecast2
2. Отредактируйте конфигурацию Icecast2
Откройте файл /etc/icecast2/icecast.xml как root в редакторе. По соображениям безопасности вам следует настроить пароли в <authentication> раздел:
<admin-user>admin</admin-user><admin-password>hackme</admin-password>
Если вы изменили <source-password> или <relay-password> вам также необходимо сделать это на стороне источника или ретранслятора. Это означает оставить его по умолчанию или изменить в ices2.xml файл (см. Ниже) также. То же самое нужно будет сделать в файлах конфигурации Ices или Darkice.
Вам также необходимо определить имя хоста, с которого можно получить доступ к вашему потоку:
<hostname>localhost</hostname>
Оставьте это как есть локальный хост (там не нужно указывать разрешенный IP-адрес), когда вы хотите транслировать только в своей локальной сети. Порт по умолчанию для прослушивания - 8000. Меняйте его только при необходимости.
3. Измените значения по умолчанию
Откройте /etc/default/icecast2 файл от имени root в редакторе. Последняя строка должна быть изменена на
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
для потоковой передачи звука OGG Vorbis с локальной звуковой карты
Чтобы настроить pulseaudio для включения записи со звуковой карты, см. Примечание для 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 использует список воспроизведения в Огг Ворбис формат (ices-playlist.xml) или вывод с вашей звуковой карты (ices-alsa.xml) в качестве источника потоковой передачи для Icecast2.
В разделе <input> возможно, вам потребуется заменить устройство, если вы настроили свою звуковую систему на PulseAudio. Для этого отредактируйте соответствующую строку на:
<param name="device">pulse</param>
Имя потока для принимающего клиента определяется в следующем разделе.
<mount>/example1.ogg</mount>
Начать потоковую передачу
Потоки с вашей звуковой карты будут запущены, сначала запустив сервер Icecast2, а затем запустив Ices2 с помощью следующих команд:
/etc/init.d/icecast2 startices2 /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
Льды для трансляции списков воспроизведения mp3
Трансляция списка воспроизведения, содержащего mp3-файлы это невозможно сделать с помощью Ices2. Нам нужно установить Льды, который мы должны установка из исходного кода.
После настройки файла конфигурации с адресом сервера, паролем и свойствами потоковой передачи (хорошо документированный пример будет найден в /usr/share/doc/ices/examples) мы можем передавать аудиофайлы mp3 из списков воспроизведения (например, в формате .m3u) через сервер Icecast2 с помощью:
/etc/init.d/icecast2 startices -c <path_to_config_file> -F <path_to_playlist>
Для получения дополнительных опций ознакомьтесь с документацией на довольно сложной справочной странице из man ices.
Даркис
для прямой трансляции
Мы можем транслировать выходные данные локальной звуковой карты в формате OGG Vorbis или в формате mp3, используя Даркис. Чтобы включить потоковую передачу локальной звуковой карты, нам может потребоваться сначала определить устройство записи для Darkice в pulseaudio. Это можно сделать с помощью pavucontrol
. В Запись вкладка выберите Monitor of <your soundcard> для "Подключаемый модуль ALSA [darkice]".
Конфигурационный файл (хорошо документированный пример, приведенный в /usr/share/doc/darkice/examples) необходимо адаптировать к серверу Icecast и локальной звуковой среде:
[general]duration = 0 # duration in s, 0 foreverbufferSecs = 1 # buffer, in secondsreconnect = yes # reconnect if disconnected[input]device = default # or `pulse' for PulseaudiosampleRate = 44100 # sample rate 11025, 22050 or 44100bitsPerSample = 16 # bitschannel = 2 # 2 = stereo[icecast2-0]bitrateMode = vbr # variable bit rate (`cbr' constant, `abr' average)quality = 1.0 # 1.0 is best qualityformat = mp3 # format. Choose `vorbis' for OGG Vorbisbitrate = 256 # bitrateserver = localhost # or IPport = 8000 # port for IceCast2 accesspassword = hackme # source password to the IceCast2 servermountPoint = mystream.mp3 # mount point on the IceCast2 server .mp3 or .oggname = mystream
После сохранения этой конфигурации (например, в ~/music/darkice.cfg) сначала мы запускаем сервер Icecast, а затем можем передавать вывод pulseaudio с локальной звуковой карты, вызывая:
/etc/init.d/icecast2 startdarkice -c ~/music/darkice.cfg
На приемнике мы настраиваемся на http://<localhost>:8000/mystream.mp3 за то, что выслушал. <localhost> это IP-адрес сервера Icecast.