Сетевое радио ICECAST + FM тюнер
Категория: / DEV Блог
/ Сервер (FreeBSD)
Нашелся ненужный тюнер avermedia 307, решил поднять на локальном сервере радио.
Максимум конечно (который 103,7), жаль ультра сейчас на запредельной частоте - 70,9...
Вообщем к делу!
Вставляем тюнер в свободный слот, соединяем его выход с line-in входом звуковой карты.
До этого мне не нужна была звуковая карта, поэтому надо подключить ее в ядре, заодно с тюнером.
Конфигурация компьютера старенькая - intel ich3, встроенный звук.
Получили новое ядро.
1. нам нужен darkice (захватывает звук с Line-in звуковой платы и отдает icecast'у)
2. нам нужен icecast (будет отдавать поток в сеть)
Можно ставить из портов, так проще, если нет проблем с тырнетом. В случае ручной установки, потребуются дополнительные
библиотеки, например lame..
Правим конфиги. Вот пример darkice.cfg
3. Качаем тулзу fmio (http://jumbo.narod.ru/fmio.ru.html)
с помощью этой утилиты мы можем управлять тюнером из консоли
Дальше самое интересное. диджей жги!
Необходимо выставить правильный девайс для записи (line-in) и подгрузить bktrctl для того чтобы радио завелось.
Далее пускаем icecast в бэкграунде и darkice. Теперь по ссылке http://172.16.13.37:8000/headsup.m3u можно наслаждаться любимым радио!
Система freebsd 5.3
Author: J4ck
Максимум конечно (который 103,7), жаль ультра сейчас на запредельной частоте - 70,9...
Вообщем к делу!
Вставляем тюнер в свободный слот, соединяем его выход с line-in входом звуковой карты.
До этого мне не нужна была звуковая карта, поэтому надо подключить ее в ядре, заодно с тюнером.
# sounds
# device PCM
device sound
device snd_ich
device bktr
device iicbus
device iicbb
device smbus
Конфигурация компьютера старенькая - intel ich3, встроенный звук.
make buildkernel KERNCONF=KERN
make installkernel KERNCONF=KERN
Получили новое ядро.
1. нам нужен darkice (захватывает звук с Line-in звуковой платы и отдает icecast'у)
http://darkice.tyrell.hu/
2. нам нужен icecast (будет отдавать поток в сеть)
http://www.icecast.org/
Можно ставить из портов, так проще, если нет проблем с тырнетом. В случае ручной установки, потребуются дополнительные
библиотеки, например lame..
Правим конфиги. Вот пример darkice.cfg
[general]
duration = 0 # duration of encoding, in seconds. 0 means forever
bufferSecs = 5 # size of internal slip buffer, in seconds
reconnect = yes # reconnect to the server(s) if disconnected
[input]
device = /dev/dsp # OSS DSP soundcard device for the audio input
sampleRate = 22050 # sample rate in Hz. try 11025, 22050 or 44100
bitsPerSample = 16 # bits per sample. try 16
channel = 2 # channels. 1 = mono, 2 = stereo
[icecast2-0]
bitrateMode = abr # average bit rate
format = mp3 # format of the stream: ogg vorbis
bitrate = 96 # bitrate of the stream sent to the server
server = 172.16.13.37
# host name of the server
port = 8000 # port of the IceCast2 server, usually 8000
password = password # source password to the IceCast2 server
mountPoint = headsup # mount point of this stream on the IceCast2 server
name = j4ck roxx
# name of the stream
description = nothing
# description of the stream
url = http://172.16.13.37/
# URL related to the stream
genre = rock # genre of the stream
public = yes # advertise this stream?
3. Качаем тулзу fmio (http://jumbo.narod.ru/fmio.ru.html)
с помощью этой утилиты мы можем управлять тюнером из консоли
Дальше самое интересное. диджей жги!
echo start iceradio
./icecast -c /usr/local/etc/icecast.xml -b
#./ices -c /usr/local/etc/ices.xml -B -C 5 -F /usr/local/etc/playlist.txt
killall bktrctl
bktrctl
fmio -d bktr -f 103.7 -v 100
mixer -s \=rec line
mixer -s rec 75:75
/usr/local/bin/darkice -c /usr/local/etc/darkice.cfg -v 0 &
Необходимо выставить правильный девайс для записи (line-in) и подгрузить bktrctl для того чтобы радио завелось.
Далее пускаем icecast в бэкграунде и darkice. Теперь по ссылке http://172.16.13.37:8000/headsup.m3u можно наслаждаться любимым радио!
Система freebsd 5.3
Author: J4ck