Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Вещание интернет радио в локальную сеть  (Прочитано 12366 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sumy-game

  • Автор темы
  • Участник
  • *
  • Сообщений: 125
    • Просмотр профиля
. Введение

В этой статье рассказано о том как наладить ретрансляцию интернет радиостанций из интернета в локальную сеть, поможет нам в этом программа ICECAST2. Не все пользователи знают о онлайн радиостанциях, не всем позволяют тарифные планы прослушивать радио из интернета, но они слушают его если оно играет в локальной сети, не требует подключенного интернета и не занимает канал.

Установка описанная ниже подойдет для Debian и Ubuntu, а так же я думаю и для других дистрибутивов Linux.

2.Установка и настройка

Установим необходимый софт командой:

Код:
aptitude install icecast2

Далее можно приступать к настройке, для этого отредактируем конфигурационнный файл /etc/icecast2/icecast.xml до состояния приведенного ниже

Код:

<icecast>
<limits>
<clients>10000</clients>
<sources>5</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<!-- If enabled, this will provide a burst of data when a client
first connects, thereby significantly reducing the startup
time for listeners that do substantial buffering. However,
it also significantly increases latency between the source
client and listening client. For low-latency setups, you
might want to disable this. -->
<burst-on-connect>1</burst-on-connect>
<!-- same as burst-on-connect, but this allows for being more
specific on how much to burst. Most people won't need to
change from the default 64k. Applies to all mountpoints -->
<burst-size>131070</burst-size>
</limits>

<authentication>
<!– Sources log in with username ’source’ –>
<source-password>1password</source-password>
<!– Relays log in username ‘relay’ –>
<relay-password>password</relay-password>

<!– Admin logs in with the username given below –>
<admin-user>admin</admin-user>
<admin-password>password</admin-password>
</authentication>

<!– Uncomment this if you want directory listings –>
<!–
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
–>

<!– This is the hostname other people will use to connect to your server.
It affects mainly the urls generated by Icecast for playlists and yp
listings. –>
<hostname>192.168.0.1</hostname>
<!– You can use these two if you only want a single listener –>
<!–<port>8000</port> –>
<!–<bind-address>127.0.0.1</bind-address>–>

<!– You may have multiple <listener> elements –>
<listen-socket>
<port>8000</port>
<!– <bind-address>127.0.0.1</bind-address> –>
</listen-socket>
<!–
<listen-socket>
<port>8001</port>
</listen-socket>
–>

<!–<master-server>127.0.0.1</master-server>–>
<!–<master-server-port>8001</master-server-port>–>
<!–<master-update-interval>120</master-update-interval>–>
<!–<master-password>hackme</master-password>–>

<!– setting this makes all relays on-demand unless overridden, this is
useful for master relays which do not have <relay> definitions here.
The default is 0 –>
<!–<relays-on-demand>1</relays-on-demand>–>

<relay>
<server>208.122.59.30</server>
<port>7284</port>
<mount>/</mount>
<local-mount>/playlist1</local-mount>
<on-demand>0</on-demand>

<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>

<relay>
<server>aol.streams.bassdrive.com</server>
<port>8010</port>
<mount>/</mount>
<local-mount>/playlist2</local-mount>
<on-demand>0</on-demand>

<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>

<relay>
<server>75.125.232.36</server>
<port>7009</port>
<mount>/</mount>
<local-mount>/playlist3</local-mount>
<on-demand>0</on-demand>

<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>

<!– Only define a <mount> section if you want to use advanced options,
like alternative usernames or passwords
<mount>
<mount-name>/example-complex.ogg</mount-name>

<username>othersource</username>
<password>hackmemore</password>

<max-listeners>1</max-listeners>
<dump-file>/tmp/dump-example1.ogg</dump-file>
<burst-size>65536</burst-size>
<fallback-mount>/example2.ogg</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<intro>/example_intro.ogg</intro>
<hidden>1</hidden>
<no-yp>1</no-yp>
<authentication type=”htpasswd”>
<option name=”filename” value=”myauth”/>
<option name=”allow_duplicate_users” value=”0″/>
</authentication>
<on-connect>/home/icecast/bin/stream-start</on-connect>
<on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
</mount>

<mount>
<mount-name>/auth_example.ogg</mount-name>
<authentication type=”url”>
<option name=”mount_add” value=”http://myauthserver.net/notify_mount.php”/>
<option name=”mount_remove” value=”http://myauthserver.net/notify_mount.php”/>
<option name=”listener_add” value=”http://myauthserver.net/notify_listener.php”/>
<option name=”listener_remove” value=”http://myauthserver.net/notify_listener.php”/>
</authentication>
</mount>

–>

<fileserve>1</fileserve>

<!– set the mountpoint for a shoutcast source to use, the default if not
specified is /stream but you can change it here if an alternative is
wanted or an extension is required
<shoutcast-mount>/live.nsv</shoutcast-mount>
–>

<paths>
<!– basedir is only used if chroot is enabled –>
<basedir>/usr/share/icecast2</basedir>

<!– Note that if <chroot> is turned on below, these paths must both
be relative to the new root, not the original root –>
<logdir>/var/log/icecast2</logdir>
<webroot>/usr/share/icecast2/web</webroot>
<adminroot>/usr/share/icecast2/admin</adminroot>
<pidfile>/usr/share/icecast2/icecast.pid</pidfile>

<!– Aliases: treat requests for ’source’ path as being for ‘dest’ path
May be made specific to a port or bound address using the “port”
and “bind-address” attributes.
–>
<!–
<alias source=”/foo” dest=”/bar”/>
–>
<!– Aliases: can also be used for simple redirections as well,
this example will redirect all requests for http://server:port/ to
the status page
–>
<alias source=”/” dest=”/status.xsl”/>
</paths>

<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<!– <playlistlog>playlist.log</playlistlog> –>
<loglevel>4</loglevel> <!– 4 Debug, 3 Info, 2 Warn, 1 Error –>
<logsize>10000</logsize> <!– Max size of a logfile –>
<!– If logarchive is enabled (1), then when logsize is reached
the logfile will be moved to [error|access|playlist].log.DATESTAMP,
otherwise it will be moved to [error|access|playlist].log.old.
Default is non-archive mode (i.e. overwrite)
–>
<!– <logarchive>1</logarchive> –>
</logging>

<!– <security> –>
<!– <chroot>0</chroot>

<changeowner>
<user>icecast2</user>
<group>icecast2</group>
</changeowner>

</security> –>
</icecast>

Далее я расскажу о некоторых значениях конфигурационного файла которые вам необходимо сменить под свои нужды.

    * <clients>10000</clients> Максимальное количество слушателей
    * <sources>5</sources> Максимальное количество Каналов проигрываемых у Вас
    * <admin-password>password</admin-password> Пароль Администратора для входа на веб интерфейс сервера Icecast
    * <hostname>192.168.0.1</hostname> IP Адрес интерфеса смотрящего в локальную сеть, для трансляций
    * <port>8000</port> Порт вашего Stream сервера Icecast.
    * <relay>
      <server>208.122.59.30</server>
      <port>7284</port>
      <mount>/</mount>
      <local-mount>/discohouse</local-mount>
      <on-demand>0</on-demand>
      <relay-shoutcast-metadata>1</relay-shoutcast-metadata>
      </relay>
    * Это пример релэя интернет радио, далее разъяснения.
    * <port>7284</port> Порт радио сервера.
    * <mount>/</mount> Точка монтирования потока вещания, на большинстве станций отсутсвует.
    * <local-mount>/playlist1</local-mount> Локальная точка монтирования, то что будут видеть ваши слушатели после адреса вашего сервера и его порта, например http://192.168.0.1:8000/playlist1.m3u (окончание .m3u будет автоматически добавлено сервером.)
    * <on-demand>0</on-demand> Соединение по запросу, тоесть ваш сервер соединяется с онлайн радио только тогда когда пришел запрос от слушателя из вашей локальной сети, когда слушателей нет Icecast не потребляет интернет канал.
    * <relay-shoutcast-metadata>1</relay-shoutcast-metadata> Этот параметр позволяет вам передавать метаданные композиций которые транслирует онлайн радио, названия трэков, и тд.

После проведения всех настроек запустите Icecast командой /etc/init.d/icecast2 start, после чего можете проверить статус сервера зайдя на веб интерфейс программы по адресу вашего сервера, например http://192.168.0.1:8000 .

Оффлайн TanKaDo

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Вещание интернет радио в локальную сеть
« Ответ #1 : 06 Январь 2009, 16:24:01 »
Вот с какой проблемой столкнулся - не могу открыть конфиг айскаста.
В терминале:
tankado@tankado:~$ /etc/icecast2/icecast.xml
bash: /etc/icecast2/icecast.xml: Permission denied
В файл-менеджере:
Цитировать
У вас недостаточно прав для просмотра содержимого элемента «icecast2».
И права, естественно, изменить не дает.
Что делать?

Оффлайн shame

  • Активист
  • *
  • Сообщений: 798
  • Истинный баламут...
    • Просмотр профиля
Re: Вещание интернет радио в локальную сеть
« Ответ #2 : 06 Январь 2009, 16:39:47 »
sudo gedit /etc/icecast2/icecast.xml
Не тисипи мое айпи...

Оффлайн TanKaDo

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Вещание интернет радио в локальную сеть
« Ответ #3 : 06 Январь 2009, 22:57:51 »
sudo gedit /etc/icecast2/icecast.xml
Благодарю

Оффлайн zloy tapok

  • Любитель
  • *
  • Сообщений: 90
    • Просмотр профиля
Нормально, что клиенты отстают на секунд 5-9?
Gentoo 2008.0 | Lenovo Y510 5A

Оффлайн SnaKeSkin

  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
Re: Вещание интернет радио в локальную сеть
« Ответ #5 : 21 Август 2009, 16:29:45 »
Нормально, что клиенты отстают на секунд 5-9?
вполне естественно...и не удивительно, даже если радио слушают в разных комнатах, всё равно у кого-то будет раньше или позже

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: Вещание интернет радио в локальную сеть
« Ответ #6 : 22 Август 2009, 09:21:43 »
а как секция <mount> ... </mount> влияет на ретрансляцию интернет радио?
у меня можно спросить=)

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Вещание интернет радио в локальную сеть
« Ответ #7 : 24 Декабрь 2009, 01:29:10 »
Прошу прощения за поднятую тему.
Я немного не въехал.
Что и куда надо написать, чтобы играло музыку с моего диска, к примеру /media/DATA/My Music/du hast.mp3 ?

Оффлайн jack_solovey

  • Активист
  • *
  • Сообщений: 701
  • Mate, и никаких Unity
    • Просмотр профиля
Re: Вещание интернет радио в локальную сеть
« Ответ #8 : 24 Декабрь 2009, 21:34:44 »
Прошу прощения за поднятую тему.
Я немного не въехал.
Что и куда надо написать, чтобы играло музыку с моего диска, к примеру /media/DATA/My Music/du hast.mp3 ?
http://rus-linux.net/lib.php?name=MyLDP/mm/icecast/icecast.html
На работе Mint18.3+Mate и Win8+ClassicShell в VirtualBOX.
Дома Mint18.3+MATE.

Оффлайн tarabo

  • Активист
  • *
  • Сообщений: 460
    • Просмотр профиля
Влияет ли на работу Icecast то, что сервер, на котором он находиться получает инет через прокси? Может ли Icecast работать через прокси?
Настраиваю по этому ману только ретрансляцию relay, а оно не работает  :). Виноват ли в этом прокси?
P.S. На проксе радио не забанено.
Lenovo ThinkPad E520, Core i5 2,5GHz, 8Gb RAM, AMD Radeon HD6630, Ubuntu 12.04 LTS amd64, OCZ Vertex 3 60GB + Seagate Momentus 750GB 7200rpm 16MB

Оффлайн Aville

  • Новичок
  • *
  • Сообщений: 43
  • Aville
    • Просмотр профиля
    • KNX·TRADE
Re: Вещание интернет радио в локальную сеть
« Ответ #10 : 29 Март 2010, 10:24:16 »
а возможно ли сделать с одно сервера по разным портам разные плейлисты? ну или разные радиостанции?
Пользуюсь 64-bit Ubintu 16.04 LTS

Оффлайн jack_solovey

  • Активист
  • *
  • Сообщений: 701
  • Mate, и никаких Unity
    • Просмотр профиля
Re: Вещание интернет радио в локальную сеть
« Ответ #11 : 29 Март 2010, 20:19:35 »
а возможно ли сделать с одно сервера по разным портам разные плейлисты? ну или разные радиостанции?

При внимательном прочтении темы можно найти ответ на ваш вопрос.
...
<relay>
<server>aol.streams.bassdrive.com</server>
<port>8010</port>
<mount>/</mount>
<local-mount>/playlist2</local-mount>
<on-demand>0</on-demand>

<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>

<relay>
<server>75.125.232.36</server>
<port>7009</port>
<mount>/</mount>
<local-mount>/playlist3</local-mount>
<on-demand>0</on-demand>

<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
...
« Последнее редактирование: 29 Март 2010, 20:23:20 от jack_solovey »
На работе Mint18.3+Mate и Win8+ClassicShell в VirtualBOX.
Дома Mint18.3+MATE.

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: Вещание интернет радио в локальную сеть
« Ответ #12 : 29 Март 2010, 21:16:09 »
а разве в
<port>8010</port>указывается не порт того радио, которого ретранслируем
<server>aol.streams.bassdrive.com</server>
а строчка
<local-mount>/playlist3</local-mount>указыват на локальный адрес радио, т.е. того который будет у нас
у меня можно спросить=)

Оффлайн tarabo

  • Активист
  • *
  • Сообщений: 460
    • Просмотр профиля
Re: Вещание интернет радио в локальную сеть
« Ответ #13 : 29 Март 2010, 21:38:10 »
а разве в
<port>8010</port>указывается не порт того радио, которого ретранслируем
<server>aol.streams.bassdrive.com</server>
а строчка
<local-mount>/playlist3</local-mount>указыват на локальный адрес радио, т.е. того который будет у нас
Все верно. Оно вроде как-то иначе настраивается.
Lenovo ThinkPad E520, Core i5 2,5GHz, 8Gb RAM, AMD Radeon HD6630, Ubuntu 12.04 LTS amd64, OCZ Vertex 3 60GB + Seagate Momentus 750GB 7200rpm 16MB

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: Вещание интернет радио в локальную сеть
« Ответ #14 : 29 Март 2010, 21:39:55 »
а разве в
<port>8010</port>указывается не порт того радио, которого ретранслируем
<server>aol.streams.bassdrive.com</server>
а строчка
<local-mount>/playlist3</local-mount>указыват на локальный адрес радио, т.е. того который будет у нас
Все верно. Оно вроде как-то иначе настраивается.
т.е. всетаки както настраивается? я просто не встречал негде, а хотелось бы
у меня можно спросить=)

 

Страница сгенерирована за 0.062 секунд. Запросов: 25.