1

Тема: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

Приветствую!

Итак, анамнез пациента:

в конфиге liquidsoap
set("tag.encodings",["UTF-8"])

в конфиге icecast2

    <mount>
        <mount-name>/live</mount-name>
        <password>pppppp</password>
        <max-listeners>300</max-listeners>
        <charset>utf8</charset>
        <public>0</public>
        <stream-name>regress78.com</stream-name>
        <stream-description>24/7 non-stop rock music</stream-description>
        <stream-url>regress78.com</stream-url>
        <genre>Rock</genre>.
        <bitrate>192</bitrate>
        <type>ogg</type>
        <subtype>vorbis</subtype>.
        <hidden>0</hidden>
    </mount>

т.е. UTF8 везде сконфигурирован...

далее, в консоли:

# liquidsoap -r '7. Molitva.flac'
Request resolved.
comment="Free 14-day trial - http://www.audio-transcoder.com"
genre="progressive heavy metal"
rid="0"
status="ready"
initial_uri="7. Molitva.flac"
tracknumber="7"
temporary="false"
filename="7. Molitva.flac"
title="Молитва"
decoder="FLAC"
artist="DvärG"
kind="{audio=0+;video=0+;midi=0+}"
date="2012"
album="Скала (The Rock)"
composer="DvärG"
Computing duration: 175.51 sec.

Как видим, с кодировкой все ок, вроде...

Но далее, столкнулся с такой вот проблемой:

parseMusic({"/live":{"server_name":"Regress Radio","description":"internet-radio","title":"DvärG - Молитва"
и
http://img.leprosorium.com/2512811

Надоумьте меня, неразумного, в какую сторону копать! Вроде бы все нормально настроил же... ((
С меня нештяки.

P.S. Да, забыл сказать, если рестартануть liquidsoap и icecast, то некоторое время всё работает нормально. В логах никаких ошибок нет.

Отредактировано solariz (08-04-2016 12:24:38)

2

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

Попробуйте в liquidsoap

set("tag.encodings",["UTF-8","ISO-8859-1"])

(ISO для совместимости с западноевропейскими) ну и в icecast поправьте

<charset>UTF-8</charset>

- это правильный вариант.

3

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

пишет gyurgin_1:

ну и в icecast поправьте

<charset>UTF-8</charset>

- это правильный вариант.

Так! Похоже, что все дело было в моей невнимательности... а я уже собрался в исходники айскаста лезть... =/

Выношу искреннюю благодарность!

За ништяками - добро пожаловать в личные сообщения...

4

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

А, нет ( Как любил говорить мой бывший учитель физкультуры - "ребята, рано сосать друг-другу члены!"...
Проблема осталась - некоторое время работало нормально видно из-за рестарта айскаста (

5

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

В output.icecast добавьте encoding="UTF-8", вот как то так

output.icecast(%mp3(bitrate=192), icy_metadata="true", encoding="UTF-8", format="audio/mpeg"...

6

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

так... пока работает. Возьмем небольшой тайм-аут...

7

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

Еще такое решение есть, можно переписать на php при желании, правда будет слегка громоздко и понадобятся проблемные файлы для тестов. Проще как мне кажется пофиксить теги в файлах, это виндовская кодировка вылазит...

8

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

да
output.icecast(%mp3(bitrate=192), icy_metadata="true", encoding="UTF-8",
решает вопрос - второй день работает нормально! Спасибо!
Самое странное, что я уже пробовал этот способ, но ставил этот параметр самым первым в output.icecast - не думал, что очередность имеет значение...
Metadata fixer, кстати, тоже весьма забавное решение...

Ну, теперь-то точно пора за ништяками! wink

9

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

В ЛС отписал.

10

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

все равно сломалось всё... завтра буду смотреть на Metadata fixer....

11

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

В def fix_meta сразу рекомендую логирование добавить чтобы хоть видно было что там происходит, так например:

log (label="metadata",level=1, quote (m["artist"] ^" - "^ m["title"]))

.

12

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

Metadata fixer тоже не помог. Корректно отработало все лишь несколько часов. Тут какая-то хитрая засада... (

13

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

Да все решаемо, надо только проблему воспроизвести. Смотрим ЛС.

14

Re: icecast2+liquidsoap = странная проблема с id3-tag в кодировке UTF8

В итоге проблему utf-8 решил следующим образом. Получение данных о текущем треке внутри плеера:


function getCurrent(){
        var url = 'http://regress78.com:8000/j.xsl';
        var ic = new iconv.Iconv('utf-8', 'utf-8');
        var options = {
                        url: url,
                        encoding: null
                                 };
        request(options, function (error, response, body) {
          if (!error && response.statusCode == 200) {
                    body = ic.convert(body).toString('utf-8');
                    var resp = JSON.parse(body.replace('parseMusic(','').replace(');',''));
                    for (var item in resp){
                        if(resp[item].title){
                                if(resp[item].title != currentSong){
                                                currentSong = resp[item].title.toUpperCase();
                                                io.emit('songs', {current: currentSong, list: null});
                                        }
                        }
                    }
          }
        })
}