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

Icecast - SAM - Pal (скрипт на рекламу)

 

6
SnakeSpy @SnakeSpy
Всем привет.
Столкнулся с интересной проблемой в Pal скрипте у SAM Broadcaster v. 4.3.6 (+ Icecast)
Дело в том, что раньше юзал скрипт для вещания рекламы и сообщений, используя созданные категории в разделе Playlist в SAM.:
скрип [CAT]
var Song : TSongInfo;
PAL.Loop := True;
PAL.WaitForTime('+00:06:00');
{# Add files to queue script #}
Song := CAT['PravServer'].ChooseSong(smRandom,NoRules);
Queue.Add(song,ipTop);


Работал просто на ура. Но это перестало быть удобным, после появления FTP на сервере.
И поэтому изменил код на Dir :
var Song : TSongInfo;
PAL.Loop := True;
PAL.WaitForTime('+00:06:00');
{# Add files to queue script #}
Song := Dir['D:\Radio\03_PRAVILA_SERVERA\All'].ChooseSong(smRandom, NoRules);
Queue.Add(song,ipTop);

Чтобы была возможность, через FTP, закинуть нужный файл в нужную папку и чтоб он проигрывался, когда придет его время. (smRandom)

И все вроде бы хорошо, скрипт выполняется на ура, файлы добавляются и воспроизводятся, НО! ДО непонятного и неизвестного для меня момента, т.к. далее, файлы добавляются, но не воспроизводятся, а тупо пропускаются SAM и удаляются из Queue.

Искал \ нашел \ исправил :
- Переименовывал. Англ. или русс. название файла. Файлы добавляются при любой раскладке, но все равно не воспроизводятся или воспроизводятся через раз.
- Пути к файлам. Были неверными, после того, как я их переименовывал. Исправил., толку нет.
- Убрал пробелы в названиях, думал может пробелы в названиях нельзя.... пробелы можно...
- Перезапускал SAM. Помогает, но на 1 , 2 раза... далее эти файлы добавляются, но не воспроизводятся... (путь к файлу нормальный)
- Менял инфу в треке на новую "Артист" - "Название песни", на англ. - русс. и т.д.... Помогает, но на 1, 2 раза.... далее эти файлы добавляются, но не воспроизводятся...
- {Магия} Изменял время паузы срабатывания скрипта с 6 минут на 15 сек... Все работает на 110%.. но тогда музыка не успевает играть... Изменял время паузы на 1 минуту.. Музыка играет, реклама играет... Но пока играет музыка, этой рекламы в Queue добавляется ппц сколько, ибо 1 песня играет 3-5 мин.

Ок, поправил ротацию, поставил срабатывание 30 сек и : (smRandom, EnforceRules);
Чтобы он не гадил файлами рекламы в QueueTop, пока играет песня... Но из-за EnforceRules, он со временем перестает добавлять вообще файлы рекламы в Queue... Под видом "это уже есть в списке Queue" - но на самом деле нету...

попробовал так... :
PAL.Loop := True;
PAL.WaitForTime('+00:05:00');
Dir['D:\Radio\03_PRAVILA_SERVERA\All'].QueueTop(smRandom, NoRules);

такая же хня, со временем файлы добавляются, но не воспроизводятся...

вернул старый скрип, все работает на 300%.... но это скрипт CAT, для FTP он не подходит.

Ну вот в чем может быть проблема ?

6
SnakeSpy @SnakeSpy
Разобрался. Все выше перечисленные скрипты рабочие. Просто у меня база MySql засралась левой инфой о треках и поэтому, когда скрипт добавлял нужный файл (а он добавлял), то SAM не понимал файл, т.к. брал старые данные по файлам из MySql, а на новые не заменял почему-то... Кароч чистка базы данных через Navicat, все исправило.

Отредактировано SnakeSpy - 13.06.2015