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

liquidsoap

 

67
nivs @nivs
Через FTP не получится. Если среди машин есть винда - то да, лучше SMB. Если нету - лучше NFS. Если не в локальной сети - гонять это под openVPN.

7094
Dim @Render
Умеет ли это мыло брать имя артиста и название трека из файла и обновлять по эти данным метадату для потоков, к примеру каждые 10сек?

6245
Тарас @tarasian666
Брать из файла умеет, но обновлять по времени - незнаю как

7094
Dim @Render
tarasian666 пишет:

Брать из файла умеет, но обновлять по времени - незнаю как

Интересно было бы узнать на примере "как" умеет :)

6245
Тарас @tarasian666
**********
Custom metadata

5
dimetrius @dimetrius
Ребята, использую в данный момент liquidsoap для перекодирования потока mp3 в aac+ и ogg.
Всё нормально, но у OGG есть такая особенность, если его воспроизводить в популярных браузерах и некоторых клиентах, то при смене тэга, клиент считает что поток прервался и не переподключается. Исходя из логов liquidsoap поток действительно обрывается и начинается заново.

Вопрос: Как принудительно отключить вывод тэгов у OGG потока?

Вот что имеем на данный момент:

Конфиг

#!/usr/bin/liquidsoap
# Log dir
set("log.file.path","/var/log/liquidsoap/basic.log")
set("log.stdout",true)
set("log.level",4)
url=mksafe(input.http("ht.tp://xxx:8000/mp3"))

#AAC+
output.icecast(%aacplus(channels=2, samplerate=44100, bitrate=64),
mount = "aac",
host = "localhost", port = 8000, password = "hackme",
genre="Rock",
description="Rock, Ukrainian Rock",
name="xxx Rock",
url="xxx",
url)

#OGG
output.icecast(%vorbis (channels=2, samplerate=44100, quality=0.4),
icy_metadata="false",
mount = "liqogg",
host = "localhost", port = 8000, password = "hackme",
genre = "Rock",
description = "Ogg 128kb\s",
name = "Ogg 128kb\s",
url = "xxx",
url)



Лог, который собственно и говорит нам о том что поток действительно обрывается

2012/12/30 17:48:47 [ht.tp_4618:4] End of track.
2012/12/30 17:48:47 [ogg.muxer:4] liqogg: Setting end of track 309b8ec1.
2012/12/30 17:48:47 [ogg.muxer:4] liqogg: Every ogg logical tracks have ended: setting end of stream.
2012/12/30 17:48:47 [ogg.muxer:4] liqogg: Starting new sequentialized ogg stream.
2012/12/30 17:48:47 [ogg.muxer:4] liqogg: Starting all streams
2012/12/30 17:51:43 [ht.tp_4618:3] New metadata chunk: ? -- Nemo - Р~Sлубина.
2012/12/30 17:51:47 [ht.tp_4618:4] End of track.
2012/12/30 17:51:47 [ogg.muxer:4] liqogg: Setting end of track 1982f4c8.
2012/12/30 17:51:47 [ogg.muxer:4] liqogg: Every ogg logical tracks have ended: setting end of stream.
2012/12/30 17:51:47 [ogg.muxer:4] liqogg: Starting new sequentialized ogg stream.
2012/12/30 17:51:47 [ogg.muxer:4] liqogg: Starting all streams
2012/12/30 17:55:27 [ht.tp_4618:3] New metadata chunk: ? -- JAM ROLL - Р~WдравсС~BРІСѓР№, Р~RРѕС~B Рё СЏ.
2012/12/30 17:55:31 [ht.tp_4618:4] End of track.
2012/12/30 17:55:31 [ogg.muxer:4] liqogg: Setting end of track 32b87d6e.
2012/12/30 17:55:31 [ogg.muxer:4] liqogg: Every ogg logical tracks have ended: setting end of stream.
2012/12/30 17:55:31 [ogg.muxer:4] liqogg: Starting new sequentialized ogg stream.
2012/12/30 17:55:31 [ogg.muxer:4] liqogg: Starting all streams


Из документации понял что достаточно строки
icy_metadata="false"
в вещателе, но увы, в конфиге есть, но изменений нет.

6245
Тарас @tarasian666
drop_metadata

5
dimetrius @dimetrius
tarasian666, куда прописать?

6245
Тарас @tarasian666
в конфиг )

**********

5
dimetrius @dimetrius
Таким образом я отрежу тэги и на aac+ потоке, а мне это не к чему.
Тем более по вашей же ссылке, на сколько я понял, тэги обрезаются только когда воспроизводятся файлы, у меня же input http

Отредактировано dimetrius - 30.12.2012
6245
Тарас @tarasian666
если правильно вставить то нет

5
dimetrius @dimetrius
Так сложно на примере моего конфига показать куда именно прописать?

602
Женя @zhekaosincev
А можно сделать несколько плейлистов, чтобы они выполнялись строго по условию:
Плейлист 1 - воспроизводит музыку из папки "2222", через каждые 2 трека джинглы
Плейлист - 2 рекламный,

1. Запуск Плейлиста 2 в ХХ:30 - проигрывание всех треков из папки "1111" -
2. Запуск основного плейлиста 1.

?????

Отредактировано zhekaosincev - 30.12.2012
6245
Тарас @tarasian666
dimetrius пишет:

Так сложно на примере моего конфига показать куда именно прописать?

так сложно почитать разок документацию?

output.icecast(%vorbis (channels=2, samplerate=44100, quality=0.4),
icy_metadata="false",
mount = "liqogg",
host = "localhost", port = 8000, password = "hackme",
genre = "Rock",
description = "Ogg 128kb\s",
name = "Ogg 128kb\s",
url = "xxx",
drop__metadata(url))

Апекс можно

5
dimetrius @dimetrius
tarasian666, спасибо, но...
прописал в параметры вывода OGG, а по факту обрезались тэги на обоих потоках.

UPD. Заметил что на AAC+ потоке тэги иногда есть, но не всегда. Хотя в потоке, который перекодируется, тэги есть.

Вот что в конфиге на данный момент
#!/usr/bin/liquidsoap

# Log dir
set("log.file.path","/var/log/liquidsoap/basic.log")
set("log.stdout",true)
set("log.level",4)

# Input HT.TP
url=mksafe(input.ht.tp("ht.tp://ua.xxx.net:8000/mp3"))

#AAC+
output.icecast(%aacplus(channels=2, samplerate=44100, bitrate=64),
mount = "aac",
host = "localhost", port = 8000, password = "hackme",
genre="Rock",
description="xxx",
name="xxx",
url="ht.tp://xxx.net",
url)

#OGG
output.icecast(%vorbis (channels=2, samplerate=44100, quality=0.4),
mount = "ogg",
host = "localhost", port = 8000, password = "hackme",
genre = "Rock",
description = "xxx",
name = "xxx",
url = "ht.tp://xxx.net",
drop_metadata(url))

Отредактировано dimetrius - 30.12.2012
602
Женя @zhekaosincev
tarasian666 пишет:


Апекс можно


Если не сложно, подскажите как :-)

6245
Тарас @tarasian666
Подобные вещи уже тут выкладывали и на оф. сайте полно примеров

6245
Тарас @tarasian666
Недавно прочитал что есть возможность на лету добавлять "энкодеры", пробовал, но получилось только добавлять одного типа - один сервер, один формат, перебирать все это через if от заданой команды telnet - как-то костыльно. Кто нибуть еще пробовал подобное?

888
Falcon @Falcon
tarasian666, подскажите, как можно liqudisoap`y скармливать файлы из SQL?
Т.е. есть база, где хранится плейлист, хочется, чтобы он черпал оттуда треки.
Либо, что даже еще приоритетнее, чтобы liqudsoap дергал скрипт, который бы ему банально выдавал файл, который надо проиграть.
Возможно ли это вообще?
Спасибо.

Отредактировано Falcon - 18.01.2013
6245
Тарас @tarasian666
напрямую - нет, только через скрипт-посредник
Можно или доставать самим liquidsoap который нужный скрипт дергает или скармливать ему по telnet