Тема: Модульный плейлист PERL в ices 0.4

Всем привет!

В общем суть проблемы такова.
Был сервер на убунту, было настроено радио icecast2 + ices с модульным плейлистом perl. памяти вскоре перестало хватать, решено было другой серв найти, т.к. на нашем хостере взвинтили цены. Сказано - сделано!

На новом сервере поставили Debian по совету знакомого. Но не задача, я совсем забыл скопировать конфиги icecast2 и ices вместе с ices.pm. БЕДА!

Ладно, начал все с начала. Поставил ices с поддержкой perl, установил perl-lib-mp3info и perl-lib-mp3tag(кажется так назывались пакеты), ices завелся, icecast тоже, работает стабильно, но русские теги выводятся кракозябрами.  "Дима Билан - Болен тобой"
Проверил кодировку в Декодере Лебедева и вот, что он мне выдал: "ISO-8859-1 → UTF-8     �”има �‘илан - �‘олен �‚обой" 

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

в icecast.xml пытался ставить и cp1251 - тоже самое. несколько раз серв перезапускал, думал может поможет

icecast.xml mount

<mount>
<mount-name>/live</mount-name>
<fallback-mount>/tech_r</fallback-mount>
<charset>UTF-8</charset>
<fallback-override>1</fallback-override>
</mount>

ices конфиг

<?xml version="1.0"?>
<ices:Configuration xmlns:ices="http://www.icecast.org/projects/ices">
  <Playlist>
    <File>/radio-music/tech_r/playlist.txt</File>
    <Randomize>1</Randomize>
    <Type>perl</Type>
    <Module>ices</Module>
    <Crossfade>3</Crossfade>
  </Playlist>

  <Execution>
    <Background>1</Background> <!-- 1-запуск как демон -->
    <Verbose>0</Verbose>
    <BaseDirectory>/tmp</BaseDirectory>
  </Execution>

  <Stream>
    <Server>
      <Hostname>****</Hostname>
      <Port>8000</Port>
      <Password>****</Password>
      <Protocol>http</Protocol>


    </Server>

<Mountpoint>/tech_r</Mountpoint>
    <Name>TECH Radio</Name>
    <Genre>Dance</Genre>
    <Description>TECH Radio - Dance radio</Description>
    <URL>****</URL>
    <Public>0</Public>

    <Bitrate>192</Bitrate>
    <Reencode>1</Reencode>
    <Samplerate>44100</Samplerate>
    <Channels>2</Channels>
  </Stream>
</ices:Configuration>

плейлист perl - ices.pm

sub ices_init {
        print "Perl subsystem Initializing:\n";
        $jingle = 0;
        return 1;
}

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

return 1;

Парни, прошу помощи, уже заколебался я...

Отредактировано Artyom.Glazunov (04-11-2014 22:47:14)

2

Re: Модульный плейлист PERL в ices 0.4

Попробуйте воспользоваться модулем Encode.pm (https://metacpan.org/pod/Encode) чтобы сменить кодировку тегов на utf8.

Re: Модульный плейлист PERL в ices 0.4

А можете помочь? Я в этом особо не силен, что куда делать, не знаю. В основном все по мануалам делал.

Можете в скайпе помочь? artem.glazunov