ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

Подскажите как организовать вещание с приоритетом потоков

 

24
MaximM @MaximM
Подскажите пожалуйста - с помощью какого софта организовать такую систему:
У меня на компьютере стоит сервер "А" , который банально играет треки с жёсктого диска и вещает их в сеть. Это легко и просто, но
Как сделать, чтобы например определённый круг лиц мог подключаться к этому серверу "А" (например по вечерам, используя аутентификацию) и играть свои треки как Диджеи... То есть когда этот диджей присоединяется к этому серверу "А", то воспроизведение треков с жёсткого диска останавливается и начинается трансляция того, что диджей играет, то есть трансляция того потока, который диджей послыает от себя на сервер...
Диджей скорее всего будет отправлять свой поток с помощью Traktor или другого софта, который имеет поток MP3 или OGG
По сути нужна примитивная функция, если на более главном канале появляется звук, то второстепенный должен отключаться от эфира временно.
Можно ли это сделать с помощью IceCast ? или SAM Broadcaster ? Bbk ShoutCast ?

Да кстати..система Win32

Отредактировано MaximM - 28.04.2007
2605
Александр @AlexIT
MaximM, добро пожаловать на форум!

Это можно легко реализовать с помощью Icecast 2.x
В качестве софта для вещания на сервер рекомендую SAM Broadcaster.

Если появятся вопросы - буду рад помочь.

24
MaximM @MaximM
Вот я примерно схему нарисовал вещания



То есть например обычно севрер IceCast будет играть музыку из папки на жёстком диске..Но когда подключиться кто-нибудь из ДЖ, то АйсКаст сразу же перестанет автоматически играть музыку с HDD и начнёт передавать поток от ДЖ к слушателям.
А можно сделать, если например ДЖ1 и ДЖ2 одновременнго присоединятся к серверу IceCAst - то поток их обоих будут впосроизводиться слушателям одновременно смешиванием ?
Лучше конечно чтобы мог в одно время играть только один ДЖ, то есть поток бы только от одного него принимался.

Подскажите пожалуйста как организовать такую систему с помощью IceCast.
То есть как описать схему с помощью скрипта ?

Отредактировано MaximM - 28.04.2007
2605
Александр @AlexIT
Icecast 2.3.1 + ices0.4 + SAM Broadcaster + **********

У меня все так и устроено.
ЗЫ Доки на оф. сайте айса рулят нипадецки.. :)

24
MaximM @MaximM
Доки то рулят, только там слишком технический так сказать язык, чуть одно слово неправильно понял и всё ппц.

а ices0.4 разве есть под Win32 ???

2605
Александр @AlexIT
MaximM **********

What platforms are supported ?
Currently the following Unix platforms are supported:
- Linux (Most flavors including Redhat and Debian)
- FreeBSD
- OpenBSD
- Solaris

24
MaximM @MaximM
мде, с Win32 походу облом

2605
Александр @AlexIT
MaximM ставь SAM еще один и все, только нужно чтоб ПК всегда включен был.. какие пробелмы..

24
MaximM @MaximM
Sam надо ставить на сервер где стоит IceCast ?
ПК включён постоянно

А подскажите пожалуйста как насроить SAM (вместо Ices4.0) в качестве сервера для управления потоками

Отредактировано MaximM - 28.04.2007
2605
Александр @AlexIT
MaximM SAM ставить на тот ПК где у вас на картиночке "Музыка на HDD", а вещать с ним можно уже и на другой сервер Icecast и на сервер на этом же ПК.

24
MaximM @MaximM
То есть все ДЖ будут коннектиться сначала к SAM Broadcast который стоит на сервере вместе с музыкой ..и этот Sam Broadcaster "A " сам будет осуществлять переключение потоков этих ? или осуществлять переключение потоков будет ICeCast ???

2605
Александр @AlexIT
Icecast умеет делать все, смотрите функцию **********, коротко:
делаете два маунта в айсе /live и /nonstop на нонстоп садите сэм А с постоянной музыкой, на /live прописываете fallback-mount /nonstop диджеи конектяца на /live играют свою музыку, уходят - включается /nonstop на лайве (это можно прописать в функции fallback-mount).

Ээ.. помоему я вас еще больше запутал, примерный кусок конфига для айса:
<mount>
<mount-name>/live</mount-name>

<username>source</username>
<password>пароль_для_диджеев</password>

<fallback-mount>/nonstop</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
</mount>

<mount>
<mount-name>/nonstop</mount-name>

<username>source</username>
<password>пароль_для_сэма_А</password>

<fallback-mount>/live</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
</mount>

24
MaximM @MaximM
Нет, вы меня не запутали, как раз всё очень понятно, большое спасибо.
Я просто из-за слабого знания SAM broadcast думал, что он будет выступать в качестве переключателя потоков, а нет, оказывается переключателем потоков будет выступать сам IceCast
А для чего тогда нужен был Ices4.0 ? Чтобы прсото проигрывать "Музыку с HDD" ?

2605
Александр @AlexIT
Ices мог бы заменить ваш SAM "А" на сервере под *nix осями.. очень удобно кстати - я его юзаю.. :)

24
MaximM @MaximM
В общем вот окончательная правилная схема для тех кто не понял

Отредактировано MaximM - 28.04.2007
2605
Александр @AlexIT
Красивая схема, сами нарисовали? :D

24
MaximM @MaximM
ну а ктож ещё

2605
Александр @AlexIT
MaximM последняя не очень, а вот первая - красиво вышло.. :)
Если у Вас есть немного свободного времени, не могли бы вы нарисовать логотип для нашего форума, совмещающий символику SHOUTcast и Icecast, я был бы очень признателен, если что отпишитесь в личку.. :)

24
MaximM @MaximM
А вот если например я захочу сделать не один для всех Диджеев доступ, а для каждого диджея свой доступ?
Как мне fallback-mount'ы прописать в конфиге ?

И ещё вопросик, можно ли как-нибудь сделать плавное затухание мелодии (fade out) одного источника при переходе на другой ?
А то как то резко обрывается звук с источника при переходе на другой.

2605
Александр @AlexIT
MaximM пишет:

А вот если например я захочу сделать не один для всех Диджеев доступ, а для каждого диджея свой доступ?
Как мне fallback-mount'ы прописать в конфиге ?

Смысл?

MaximM пишет:

И ещё вопросик, можно ли как-нибудь сделать плавное затухание мелодии (fade out) одного источника при переходе на другой ?
А то как то резко обрывается звук с источника при переходе на другой.

Решение этой проблемы я пока не нашел.. но думал, если чего придумаю - расскажу.. :)