From: rrv <observer_w@mail.ru.>
Newsgroups: email
Date: Mon, 9 Nov 2008 17:02:14 +0000 (UTC)
Subject: Настройка Shoutcast во FreeBSD
Оригинал: rrv.nsk.ru
В статье подробно описано как установить сервер Shoutcast на FreeBSD 7.0
для трансляции радиопрограмм в сеть (локальную или internet), а так же
осуществить их запись часовыми файлами. Подача радиопрограммы
осуществляется на звуковую карту например с радио приемника, для
истинных диджеев с пульта :)
Shoutcast - многоплатформенное бесплатное серверное ПО компании
Nullsoft. Предназначено для организации потокового вещания цифрового
аудио/видео сигнала в сеть в формате MP3, AAC, AACplus, NSV, как в
локальную, так и интернет. Прост в установке, настройке и управлении.
Минимальный набор для организации вещания состоит из собственно сервера
Shoutcast (или демона, от слова daemon), и источника, в простейшем
случае реализуемого программой Winamp или аналогичного программного
плеера с соответсвующим плагином, кодирующим аудиосигнал с требуемым
качеством, и передающего его в потоковом режиме серверу Shoutcast, для
последующей передачи оного подключившимся к серверу клиентам, в
качестве которых выступает любой программный плеер с поддержкой
потокового вещания.
В настоящее время существует большое число интернет-радиостанций,
вещающих с использованием данного ПО.
Имеется удобная панель управления на основе WWW-интерфейса. Имеется
возможность на одном компьютере установить одновременно несколько служб
сервера Shoutcast.
Русский форум по данной теме
Установить SHOUTcast server можно либо из портов, либо скачать с сайта
производителя - http://www.shoutcast.com/
Клиент, программа, которая будет выдавать поток серверу, можно взять
только с сервера http://www.shoutcast.com/
После установки надо насроить конфигурационные файлы сервера и клиента.
При запуске клиент может выдать ошибки о том, что не найдены некоторые
библиотеки, это решается созданием симлинков на нужные файлы. После,
при запуске может быть выдана ошибка, вида /usr/libexec/ld-elf.so.1:
/lib/libm.so.2: Undefined symbol "__stderrp". Её можно устранить
следующим образом:
В /etc/make.conf добавьте
COMPAT3X=YES
COMPAT4X=YES
cd /usr/src/lib/compat
make && make install
Всё должно запуститься :)
Установка shoutcast
Установим сервер shoutcast:
cd /usr/ports/audio/shoutcast && make install clean
Установка sc_trans
Установка транслятора подготавливающего поток для сервера.
Для этого переходим на сайт производителя http://shoutcast.com и
скачиваем файл sc_trans_posix_040.tgz. Затем распаковываем его в
/usr/local/ и получаем уже откомпилированный файл sc_trans_freebsd и
примеры конфигурационного файла и play-листа.
#!/bin/sh
su root -c '/usr/sbin/mixer rec 75 1>/dev/null 2>&1'
su root -c '/usr/sbin/mixer igain 75 1>/dev/null 2>&1'
su root -c '/usr/sbin/mixer =rec line 1>/dev/null 2>&1'
# если нужен еще одно устройство записи то добавляем строчку:
cat /usr/local/etc/rc.d/000.mixer.s > /dev/dsp0.1
# и так далее, почему то sysctl hw.snd.pcm0.vchans=4 не работает, видимо в 7 фряхе
# как то по другому, если знаете поправьте
Настройка sc_trans
Правим основые настройки в файле sc_trans.conf:
#Путь к play-листу
PlaylistFile=example.lst
#Если shoutcast сервер стоит на этом же компьютере то укажем ip-адрес 127.0.0.1 иначе необходимый
ServerIP=127.0.0.1
#Тоже с портом shoutcast сервера
ServerPort=8000
#И паролем к shoutcast серверу
Password=my_pwd
Если мы используем звук со входа со звуковой карты то правим файл
example.lst:
Здесь записывается поток с сервера по адресу http://127.0.0.1:8000
в папку /home/air/ в файл с именем вида 2008-04-25_10-00
(ГОД-МЕСЯЦ-ДЕНЬ_ЧАС-МИНУТА). Записывает в течении 3720 сек, что
составляет один час и две минуты (учтите что поток выдается с задержкой
примерно 20-30 сек).
Все запихиваем скрипт в cron на запуск раз в час и запись готова.
Ссылки по теме
* IceCast - аналог ShoutCast только открытый.
* PeerCast - вещание в p2p сети.