Тема: Проблема perl и ices0

Всем привет!

В чем может быть беда?

ices не создает маунт в icecas2, если работает с perl. Оговорюсь сразу, ices сконфигурирован с perl. ./configure показывает, что связан perl и ices. Ошибок при запуске никаких нет.

ices -c /usr/local/etc/ra-ex.conf
Into the land of the dreaded daemons we go... (pid: 19843)

Если ставить в <Type> не перл, а плейлист, то маунт создается без проблем, но как всегда русский не поддерживает, хоть и теги в UTF-8.
В <Module> пробовал и прямую ссылку писать на скрипт perl, и просто название файла скрипта, и название скрипта с окончанием .pm, все равно не работает.

скрипт перл лежит в папке modules.

Сам скрипт думал не рабочий, пробовал разные, результат один и тот же.


Скрипт perl

#!/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 /ex-radio/ra-ex/*.mp3 | /usr/bin/wc -l`;
        @music=`/bin/ls -1 /ex-radio/ra-ex/*.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;
}

конфиг ices0:

<?xml version="1.0"?>
<ices:Configuration xmlns:ices="http://www.icecast.org/projects/ices">
  <Playlist>
    <!-- Эта опция теперь не нужна -->
    <File>/ex-radio/ra-ex/playlist.txt</File>
    <Randomize>1</Randomize>
    <!-- Для перлового скрипта указываем perl -->
    <Type>perl</Type>
    <!-- Имя файла который будет обрабатываться перловым интерпретатором
    файл обязательно должен иметь расширение pm -->
    <Module>/usr/local/etc/modules/ra-ex.pm</Module>
    <Crossfade>5</Crossfade>
  </Playlist>
  <Execution>
    <Background>1</Background>
    <Verbose>0</Verbose>
    <BaseDirectory>/tmp</BaseDirectory>
  </Execution>
<Stream>
  <Server>
      <!-- Сервер на который мы будем отправлять поток -->
      <Hostname>radio.tehmir.com.ua</Hostname>
      <Port>8000</Port>
      <Password>26072013tehmir</Password>
      <Protocol>http</Protocol>
    </Server>
    <!-- Точка монтирования на сервере и описание нашего потока -->
    <Mountpoint>/ra-ex</Mountpoint>
    <Name>Radio EXCLUSIVE</Name>
    <Genre>Dance</Genre>
    <Description>Only best music</Description>
    <URL>http://radio.tehmir.com.ua:8000/ra-ex.m3u</URL>
    <Public>0</Public>
    <!-- Настройка передаваемого потока -->
    <Bitrate>192</Bitrate>
    <Reencode>1</Reencode>
    <Samplerate>44100</Samplerate>
    <Channels>2</Channels>
  </Stream>
</ices:Configuration>

2

Re: Проблема perl и ices0

Поставьте в конфиге ices
<Verbose>1</Verbose>
Это запишет вам детальный лог файл и там посмотрите, в чем именно ошибка.

http://radioheart.ru/banners/radioheart_400x40_banner.jpg
RadioHeart.ru: Функциональный радио хостинг с автодиджеем и нонстопом, а так же быстрый виртуальный хостинг. Возможность создать радио за 5 минут, подключить автодиджей и нонстоп.
Отзывы о хостинге

Re: Проблема perl и ices0

Поставил, а где файл логов искать теперь?

Re: Проблема perl и ices0

Нашел, вот логи:

Logfile opened
DEBUG: Sending following information to libshout:
DEBUG: Stream: 0
DEBUG: Host: radio.tehmir.com.ua:8000 (protocol: http)
DEBUG: Mount: /ra-ex, Password: 26072013tehmir
DEBUG: Name: Radio EXCLUSIVE    URL: http://radio.tehmir.com.ua:8000/ra-ex.m3u
DEBUG: Genre: Dance    Desc: Only best music
DEBUG: Bitrate: 192    Public: 0
DEBUG: Dump file: (null)
DEBUG: Initializing playlist handler...
DEBUG: Importing perl module: ra-ex
DEBUG: perl_parse() error: parse problem
Initialization of playlist handler failed. []
DEBUG: Crossfader shutting down
Ices Exiting...

5

Re: Проблема perl и ices0

DEBUG: perl_parse() error: parse problem

Синтаксические ошибки в скрипте перловом.

На вскидку на скажу где проблема, в листинге ничего бросающегося в глаза не увидел
Попробуйте по-очереди закомментировать тела функций, чтобы выявить где ошибка возникает.
Еще, возможно, не установлено какое-нибудь расширение perl, например

use MP3::Info;

релакс радио Graal Radio,The True City Heart Sounds