Оцените

Icecast 2.3.2 + SAM Streaming Encoders 3.0

Icecast — свободное ПО для организации потокового цифрового аудиовещания. Его поддержкой занимается Xiph.org Foundation.
Icecast является серверной программой, которая может осуществлять раздачу цифровых потоков различных форматов, таких как Ogg Vorbis, MP3, Theora, AAC, AACplus и NSV.

Введение
--------

Чтоже такое IceCast? Это сервер потокового вещания (в миру - сетевое
радио), поддерживающий mp3 и ogg форматы. Что нам понадобится:
* Собственно сам IceCast (в статье рассмотрена версия 2.0.1)
* Утилита для посылки аудиопотока на IceCast сервер (в статье
рассмотрен Ices 0.3)

Наверняка эти утилиты входят в ваш дистрибутив.


Настройка IceCast
-----------------

Для начала создадим пользователя и группы от имени которых будет
работать IceCast:

# groupadd icecast
# useradd -G icecast -d /var/icecast -c "IceCast Server" -m -s /sbin/nologin icecast

(синтаксис утилит groupadd и useradd может несколько отличаться в
вашей системе). Создадим некоторые каталоги:

# mkdir /var/icecast/admin
# mkdir /var/icecast/logs
# chown icecast:icecast /var/icecast/logs
# mkdir /var/icecast/web

Скопируем в /var/icecast/admin следующий файлы из дистрибутива
сервера:

# cp /usr/local/share/examples/icecast/admin/listclients.xsl /var/icecast/admin
# cp /usr/local/share/examples/icecast/admin/listmounts.xsl /var/icecast/admin
# cp /usr/local/share/examples/icecast/admin/moveclients.xsl /var/icecast/admin
# cp /usr/local/share/examples/icecast/admin/response.xsl /var/icecast/admin
# cp /usr/local/share/examples/icecast/admin/stats.xsl /var/icecast/admin

И следующие в директорию /var/icecast/web

# cp /usr/local/share/examples/icecast/web/status.xsl /var/icecast/web
# cp /usr/local/share/examples/icecast/web/status2.xsl /var/icecast/web

Создадим директорию /etc/icecast:

# mkdir /etc/icecast

а в ней файл icecast.xml следующего содержания:

<icecast>
<limits>
<-- Лимиты -->
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>102400</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
</limits>
<authentication>
<-- Аутентификация - обязательно измените приведённые здесь пароли -->
<source-password>hackme</source-password>
<relay-password>hackme</relay-password>
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
</authentication>
<hostname>localhost</hostname>
<listen-socket>
<-- Порт на котором ожидать соединений -->
<port>8000</port>
</listen-socket>
<fileserve>0</fileserve>
<paths>
<-- Пути -->
<basedir>/var/icecast</basedir>
<logdir>/logs</logdir>
<webroot>/web</webroot>
<adminroot>/admin</adminroot>
<pidfile>/logs/icecast.pid</pidfile>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error ->
</logging>
<security>
<-- Безопасность -->
<chroot>1</chroot>
<changeowner>
<user>icecast</user>
<group>icecast</group>
</changeowner>
</security>
</icecast>

Ограничим доступ к конфигу IceCast (тк он содержит пароли):

# chown root:wheel /etc/icecast/icecast.xml
# chmod 640 /etc/icecast/icecast.xml

Запустим icecast сервер:

# icecast -b -c /etc/icecast/icecast.xml

Теперь можно зайти на веб-интерфейс по адресам
http://localhost:8000/status.xsl (статус сервера), и
http://localhost:8000/admin/ (интерфейс администратора).


Настройка ices
--------------

Создадим файл конфигурации ices - /etc/ices.xml:

<?xml version="1.0"?>
<ices:Configuration xmlns:ices="http://www.icecast.org/projects/ices">
<Playlist>
<Randomize>1</Randomize>
<File>playlist.txt</File>
<Type>builtin</Type>
<Module>ices</Module>
</Playlist>
<Execution>
<Background>1</Background>
<Verbose>0</Verbose>
<BaseDirectory>/tmp</BaseDirectory>
</Execution>
<Stream>
<Server>
<Hostname>127.0.0.1</Hostname>
<Port>8000</Port>
<-- См. примечание о паролях в icecast.xml -->
<Password>hackme</Password>
<Protocol>http</Protocol>
</Server>
<Mountpoint>/ices</Mountpoint>
<Dumpfile>ices.dump</Dumpfile>
<Name>Default stream</Name>
<Genre>Default genre</Genre>
<Description>Default description</Description>
<URL>http://localhost/<;/URL>
<Public>0</Public>
<Bitrate>128</Bitrate>
<Reencode>0</Reencode>
<Samplerate>44100</Samplerate>
<Channels>2</Channels>
</Stream>
</ices:Configuration>


Ограничим доступ к /etc/ices.conf:

# chmod 640 /etc/ices.conf

Пусть у нас есть директория /media/music с несколькими mp3 файлами.
Создадим playlist для этой директории:

# cd /media/music
# ls > playlist.txt

Запустим ices:

# ices -c /etc/ices.conf

Тестируем

$ mplayer http://127.0.0.1:8000/ices/

Если всё сделано правильно - должны услыщать музыку =)

Template not found: /templates/softlenta2/splitnewsnavigation.tpl
Добавить комментарий
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent