The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка Shoutcast во FreeBSD (freebsd shoutcast audio icecast)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: freebsd, shoutcast, audio, icecast,  (найти похожие документы)
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-листа. Настройка shoutcast Редактируем файл /usr/local/etc/shoutcast/sc_serv.conf: #Основной настройкой является пароль, остальное по вкусу :) Password=my_pwd И добавляем в /etc/rc.conf строчку: shoutcast_enable="YES" Меняем название запускающего скрипта: # mv /usr/local/etc/rc.d/shoutcast /usr/local/etc/rc.d/000.shoutcast.sh Запускаем: # /usr/local/etc/rc.d/000.shoutcast.sh start Настройка звуковой карты Читаем здесь. В /boot/loader.conf sound_load="YES" # Здесь можно заменить на соответствующий драйвер snd_driver_load="YES" Создаем файл автозагрузки для настройки микшера (Если кто знает способ лучше пишите) # ls -la /usr/local/etc/rc.d/000.mixer.sh -rwxr--r-- 1 root wheel 174 Apr 24 10:08 /usr/local/etc/rc.d/000.mixer.sh #cat /usr/local/etc/rc.d/000.mixer.sh #!/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: DSP:/dev/dsp0.0 DSP:/dev/dsp0.0 Создаем скрипт запуска /usr/local/etc/rc.d/001.sc_trans.sh: #!/bin/sh . /etc/rc.subr name="shoutcast" rcvar=`set_rcvar` start_cmd="sc_trans_startcmd" stop_cmd="sc_trans_stopcmd" sc_trans_startcmd () { /usr/local/sc_trans_040/sc_trans.sh & } sc_trans_stopcmd () { killall sc_trans_freebsd ps waux | /usr/bin/grep sc_trans_ | /usr/bin/awk 'system ("kill "$2)' } load_rc_config $name run_rc_command "$1" Еще один скрипт который поддерживает в работоспособном состоянии транслятор /usr/local/sc_trans_040/sc_trans.sh: #!/bin/sh cd /usr/local/sc_trans_040/ while true do sleep 30 ./sc_trans_freebsd sc_trans.conf done Все запускаем: # /usr/local/etc/rc.d/001.sc_trans.sh start Записываем аудио mp3 поток Устанавливаем: # cd /usr/ports/audio/streamripper && make install clean Пишем скрипт rec.sh вида: #!/bin/sh DATE=`date +%Y-%m-%d_%H-%M` /usr/local/bin/streamripper http://127.0.0.1:8000 -a /home/air/$DATE.mp3 -s \ -z -l 3720 -i --quiet && rm /home/air/$DATE.cue Здесь записывается поток с сервера по адресу http://127.0.0.1:8000 в папку /home/air/ в файл с именем вида 2008-04-25_10-00 (ГОД-МЕСЯЦ-ДЕНЬ_ЧАС-МИНУТА). Записывает в течении 3720 сек, что составляет один час и две минуты (учтите что поток выдается с задержкой примерно 20-30 сек). Все запихиваем скрипт в cron на запуск раз в час и запись готова. Ссылки по теме * IceCast - аналог ShoutCast только открытый. * PeerCast - вещание в p2p сети.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, alpha_Qu4z4r (?), 19:58, 31/01/2010 [ответить]  
  • +/
    А как подружить sc_trans и icecast2?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру