ОсновноеRadiotalkПользовательское
Технологии вещания, софт, скрипты
3   •   Посмотреть все темы

Сглаженная смена диджея

 

332
Игорь @JamStyle
Интересует вопрос, существуют ли скрипты или еще какие-нибудь мульки, чтоб при смене диджея, не обрывался поток.А чтобы смена проходила сглаженно...Либо накладками, либо еще как-то...Кто может помочь в этом деле?:)

44
alpha_Qu4z4r @alpha_Qu4z4r
я полагаю, что должен быть некий посредник, который будет непосредственно подключён к транслятору и именно к посреднику будут подключаться ведущие. А в момент потери коннекта от ведущего, на транслятор будет посылаться джингл.

1400
Pheoru @Pheoru
Последняя бета sc_trans.

6
regname @regname
[quote=Nick Pheomotion]Последняя бета sc_trans.[/quote]
а поподробнее можно, что там в этом плане реализовано?

6245
Тарас @tarasian666
плавное кроссфейдное подключение и отключение диджея
при потере или отключении диджея плавно включается автодиджей

Отредактировано tarasian666 - 02.02.2010
6
regname @regname
мм, вкусно, а где детали и тонкости установки почитать можно?

6245
Тарас @tarasian666
к примеру здесь **********
рекомендую также ВНИМАТЕЛЬНО изучить документацию, которая есть в архиве вместе с софтом

Отредактировано tarasian666 - 02.02.2010
94
chedim @chedim
Скрипт PAL:
{ Скрипт вывода диджея в эфир }
{ Автор: Дмитрий Чижевский (chedim@open-radio.ru) }

var cSong : TSongInfo;
var resp : String;
var djsrv : String;
var djch : String;

{ адрес сервера, на который выходят диджеи }
djsrv := 'http://localhost:8000/';
{ адрес служебного потока, на который выходят диджеи: }
djch := 'dj-air';

PAL.Loop := true;

{ На всякий случай - восстанавливаем проигрывание }
if ((DeckA.Status > 0) and (DeckB.Status > 0)) then
begin
DeckA.Eject;
DeckB.Eject;
DeckA.Next;
DeckA.Play;
end;



cSong := ActivePlayer.GetSongInfo();

{ проверяем, есть ли сигнал на служебном потоке и если он ещё не выведен в эфир - выводим }
resp := WebToStr('http://localhost/checkair.php');
if((CompareText(resp, 'true') = 0) and (Pos(djch, cSong['filename']) = 0)) then
begin
{ Выводим только если проигрываемый файл находится в папке с музыкой - чтобы не прерывать джинглы и отбивки }
if (Pos('music', ActivePlayer.GetSongInfo['filename']) > 0) then
begin
Queue.AddFile(djsrv+djch, 0);
ActivePlayer.FadeToNext();
end;
end;


PAL.WaitForTime(T['+00:00:10']);

Скрипт checkair.php (проверяет, нет ли диджея на потоке icecast-сервера):
<?
// Название служебного потока, на который выходят диджеи
$channel = 'dj-air';

// адрес сервера со служебным потоком
$server = 'http://localhost:8000/';

// это вам не нужно, но если хотите контролировать сторонней программой, что сэм не завис, раскомментируйте:
// touch('touch');

$fc = file_get_contents($server);

// Если
if(strstr($fc,$channel)) {
echo 'true';
} else {
echo 'false';
}
?>

Не уверен, что зараюотает "с лёту", т.к. правил прямо в окне отправки сообщения и мог в чём-нибудь ошибиться. Тестируйте :)

Ps. Кстати, Сумы - замечательный город :) у меня там прабабушка жила.

Отредактировано chedim - 02.02.2010
144
Руся @Ruskat
Ну и ....? кто пробовал? как эффект? Достигнут?

243
Владислав @VladokZzz
Ruskat пишет:

Ну и ....? кто пробовал? как эффект? Достигнут?

Подробнее бы... сколько потоков идет, на чем и как... я в коде еще не разобрался

243
Владислав @VladokZzz
Ребята помогайте! нужно организовать выход диджеев в прямой эфир :)

6245
Тарас @tarasian666
поверх автодиджея?

243
Владислав @VladokZzz
tarasian666 пишет:

поверх автодиджея?

ну если это возможно то поверх Queue

6245
Тарас @tarasian666
я так понял что автодиджей у вас sam
если так то пробуем скрипт изложеный chedim
на сколько я понял там надо второй сервер для диджея и пройдет время пока sam поймет что диджей на линии.

5
mirden @mirden
Здравствуйте! Есть проблема .На icecst2 стоит авто дж и когда живой дж идёт в эфир приходится кикать бота (иначе пишет что канал занят)!как сделать так ,что бы дж в любое время мог выйти в эфир без кикания бота ,а при выходи из эфира бот автоматом начинал играть?

6245
Тарас @tarasian666
настроить на 2 маунта и на главном поставить fallback на маунт "бота"