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

Связка ices и perl

 

34
Артём @Artyom_Glazunov
Столкнулся с некой проблемой.

Когда в конфиге ices пишу
  1. <Type>perl</Type>
  2. <Module>hit90</Module>


Ставлю скрипт perl c именем hit90.pm
  1.  
  2. #!/usr/bin/perl -w
  3. #Процедура инициализации, обычно тут вызываются все листинги директории с файлами,
  4. #подключения к базам и тд и тп
  5. sub ices_init {
  6. print "Perl subsystem Initializing:\n";
  7. return 1;
  8. }
  9. #Процедура завершения работы ices, тут желательно закрыть все соединения из скрипта
  10. #и тому подобное
  11. sub ices_shutdown {
  12. print "Perl subsystem shutting down:\n";
  13. }
  14. #А вот это и есть процедура получения нового трека для проигрывания
  15. #Мы каждый раз перечитываем всю директорию, на тот случай
  16. #на тот случай если появились новые треки для проигрывания на радио
  17. sub ices_get_next {
  18. print "Perl subsystem quering for new track:\n";
  19. #chomp $music[2];
  20. $num=`/bin/ls /home/hit90/*.mp3 | /usr/bin/wc -l`;
  21. @music=`/bin/ls -1 /hit90/test/*.mp3`;
  22. $play=int(rand($num));
  23. chomp $music[$play];
  24. return $music[$play];
  25. }
  26. # Процедура получения информации о треке, для вывода в плеере
  27. sub ices_get_metadata {
  28. use MP3::Info;
  29. $tag = get_mp3tag($file) or die "No TAG info";
  30. return "$tag->{TITLE} ";
  31. }
  32. #
  33. sub ices_get_lineno {
  34. return 1;
  35. }


То при запуске этого конфига выбивает ошибку

root@185:~# ices -c /etc/icecast/music_90.conf
Logfile opened
Could not find a valid playlist file.
Ices Exiting...



Что делать?

0
6245
Тарас @tarasian666
Куда положилы скрипт?

0
34
Артём @Artyom_Glazunov
папка конфигов ices/modules

0
6245
Тарас @tarasian666
тогда покажите что в логе пишет

0
34
Артём @Artyom_Glazunov
Логи ices или icecast?

в var/log/ есть только icecast

ices папки там нет

0
888
Falcon @Falcon
Такое бывает:
1)Ошибка в скрипте, т.е. он не компилируется или работает неправильно (не выдает путь к файлу).
2)У скрипта не хватает прав (чтение, запуск). Файл скрипта, вроде бы, должен быть исполняемым (chmod +x)

0
34
Артём @Artyom_Glazunov
Falcon пишет:

Такое бывает:
1)Ошибка в скрипте, т.е. он не компилируется или работает неправильно (не выдает путь к файлу).
2)У скрипта не хватает прав (чтение, запуск). Файл скрипта, вроде бы, должен быть исполняемым (chmod +x)


Поставил права на паку modules и все ее файлы 777, ices запустился
  1.  
  2. Into the land of the dreaded daemons we go... (pid: 24512)


Но маунт в icecast2 не появился

0
6245
Тарас @tarasian666
путь к логу ices указывается в его конфиге

0
34
Артём @Artyom_Glazunov
Вот нужна строчка в ices

Logfile opened
Initialization of playlist handler failed. [This binary has no support for embedded perl]
Ices Exiting...


Perl не поддерживается?

Хотя я устанавливал его "apt-get install perl"

Отредактировано Artyom_Glazunov - 24.07.2014
0
6245
Тарас @tarasian666
perl сам по себе тут не при чем, ices должен быть собран с поддержкой perl

0
34
Артём @Artyom_Glazunov
Ну я когда perl установил выполнил команды:

wget **********
tar -zxvf ices-cc-0.4.2.tar.gz
cd ices-cc-0.4.2
./configure
make
make install


P.S. на сервере ОС ubuntu 12.04

0
6245
Тарас @tarasian666
Вот к чему приводит слепое выполнение команд.
После configure пишет какие модули будут собраны.
Я уже не знаю в какой раз пишу одно и то же..

0
34
Артём @Artyom_Glazunov
Features:
XML : yes
Python : no
Perl : no
LAME : yes
Vorbis : yes
MP4 : no
FLAC : no

Что делать?

Отредактировано Artyom_Glazunov - 24.07.2014
0
6245
Тарас @tarasian666
установить perl-dev и пересобрать

0
34
Артём @Artyom_Glazunov
tarasian666 пишет:

установить perl-dev и пересобрать



Можете подсказать как?

Я гугл перерыл perl-dev не нашел

Ос ubuntu

0
68
Алексей @features
Ну как минимум в стандартной репе:
aptitude search perl-dev
p libperl-dev - Perl library: development files
p libperl-dev:i386 - Perl library: development files

Отредактировано features - 25.07.2014
0
34
Артём @Artyom_Glazunov
features пишет:

Ну как минимум в стандартной репе:
aptitude search perl-dev
p libperl-dev - Perl library: development files
p libperl-dev:i386 - Perl library: development files



Спасибо! Помогло, в модулях ices Perl поддерживается теперь.

Заработал поток

0
34
Артём @Artyom_Glazunov
Сейчас назрел такой вопрос, я поставил скрипт perl с джинглами. При проверке оказалось, что: игарет трек, после него включается джинг, а после джингла снова тот же самый трек включается.

Я видел на форуме подобный вопрос, но так толком никто не ответил ничего.

Кто подскажет как убрать такую проблему?! Или может треки включать не рандомно, а по списку, как и стандартно в ices?!

0
68
Алексей @features
Надо знать по какому алгоритму выбирает треки скрипт + определиться как ты хочешь чтобы они выбирались. Ну а потом просто сделать :)

У меня крутится скрпт, который формирует сетку вещания. А скрипт на вещателе просто берёт новую позицию из списка и играет.

Отредактировано features - 25.07.2014
0
34
Артём @Artyom_Glazunov
Ну вот мой скрипт:

  1. sub ices_shutdown {
  2. print "Perl subsystem shutting down:\n";
  3. }
  4. sub ices_get_next {
  5. print "Perl subsystem quering for new track:\n";
  6. if($jingle < 5){
  7. $jingle ++;
  8. @music=`/bin/ls -1 /mnt/music_90/*.mp3`;
  9. }else{
  10. $jingle = 0;
  11. @music=`/bin/ls -1 /mnt/jingles/*.mp3`;
  12. }
  13. $num = scalar (@music);
  14. $play=int(rand($num));
  15. chomp $music[$play];
  16. return $music[$play];
  17. }
  18. sub ices_get_metadata {
  19. $tag = get_mp3tag($file) or die "No TAG info";
  20. return "$tag->{TITLE} ";
  21. }
  22. return 1;



Можете помочь? У нас чаще всего nonstop, эфир через радиоБосс редко, нужны джинглы, а тут с ними такая беда

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.