Документация по ОС FreeBSD Пятница, 31.01.2025, 02:09
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Net

Настройка Shoutcast во FreeBSD [2008]
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 сети.


Источник: http://www.opennet.ru/base/net/shoutcast_freebsd.txt.html
Категория: Net | Добавил: oleg (12.11.2008) | Автор: rrv
Просмотров: 750 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2025