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

ices0 Плей лист на PERL

 

35
zyat @zyat
Всем привет у меня такая трабла.

Стоит icecast2 + ices0 всё работает нормально, но когда я прописываю в ices0 <Type>perl</Type> вместо <Type>builtin</Type> в конфиге
и запускаю то появляется ошибка:

/usr/local/etc/rc.d/ices0: WARNING: failed to start ices0
вот статья по которой я всё делал _http://www.hilik.org.ua/perl-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B4%D0%BB%D1%8F-ices/

6245
Тарас @tarasian666
смотрите в лог

35
zyat @zyat
а где хранится логи ices ??

6245
Тарас @tarasian666
там где указали в настройках базовую директорию ices

35
zyat @zyat
Logfile opened
Initialization of playlist handler failed. []
Ices Exiting...

Отредактировано zyat - 25.08.2010
6245
Тарас @tarasian666
неверно значит составлен плейлист

35
zyat @zyat
А как он должен быть составлен?

6245
Тарас @tarasian666
покажите свой скрипт хотяб, попробуем поправить

35
zyat @zyat
#!/usr/bin/perl -w
#Процедура инициализации, обычно тут вызываются все листинги директории с файлами,
#подключения к базам и тд и тп
sub ices_init {
print "Perl subsystem Initializing:\n";
return 1;
}
#Процедура завершения работы ices, тут желательно закрыть все соединения из скрипта
#и тому подобное
sub ices_shutdown {
print "Perl subsystem shutting down:\n";
}
#А вот это и есть процедура получения нового трека для проигрывания
#Мы каждый раз перечитываем всю директорию, на тот случай
#на тот случай если появились новые треки для проигрывания на радио
sub ices_get_next {
print "Perl subsystem quering for new track:\n";
#chomp $music[2];
$num=`/bin/ls /home/zyat/music/*.mp3 | /usr/bin/wc -l`;
@music=`/bin/ls -1 /home/zyat/music/*.mp3`;
$play=int(rand($num));
chomp $music[$play];
return $music[$play];
}

# Процедура получения информации о треке, для вывода в плеере
sub ices_get_metadata {
use MP3::Info;
$tag = get_mp3tag($file) or die "No TAG info";
return "$tag->{TITLE} ";
}

#
sub ices_get_lineno {
return 1;
}

Вот и всё

6245
Тарас @tarasian666
где его расположили и как назвали?
совпадает ли его имя с тем что написано в конфиге?

"Процедуру получения информации о треке, для вывода в плеере"
можно всю "закоментировать"

35
zyat @zyat
Хранится в "/usr/local/etc/modules/" название ices.pm
В конфиге всё верно. "<Module>ices</Module>"

Отредактировано zyat - 26.08.2010
6245
Тарас @tarasian666
ices собран с поддержкой perl?

35
zyat @zyat
я собирал через "pkg_add -r ices0" а можно так настроить? устанавливая не из портов.

6245
Тарас @tarasian666
незнаю, надо искать недостающий пакет если дело в нем
пс "pkg_add -r ices0" не сборка, а установка пакета

Добавлено спустя 3 минуты 22 секунды:
еще может надо не в local пихать а просто в /etc/modules или /usr/etc/modules