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

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

 

34
Артём @Artyom_Glazunov
Всем привет!

В общем суть проблемы такова.
Был сервер на убунту, было настроено радио 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
68
Алексей @features
Попробуйте воспользоваться модулем Encode.pm (**********) чтобы сменить кодировку тегов на utf8.

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

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