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

liquidsoap

 

97
aPhone @aPhone
заработало...
возник другой вопрос
как сделать в инпут.харбор нормализацию звука по громкости?

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

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

#!/usr/local/bin/liquidsoap
set("init.daemon",true)
set("init.daemon.pidfile",false)
set("log.file.path","/tmp/liquidsoap.log")
jingles = playlist("/home/and/music")
music = playlist(reload=600, "/home/and/music")
music = mksafe(music)
music = crossfade( fade_out = 7.0, fade_in = 7.0, start_next = 7.0, music )
radio = smooth_add(normal=music,special=switch([({ 00m0s or 30m0s }, jingles)]))

##########################################################
set("server.telnet", true)
#localhost - ??????? - ???????? 192.168.0.1
set("harbor.bind_addr","xxx.xxx.xxx..xxx")
live = input.harbor("live.ogg",port=8000,password="xxx")
live = crossfade(start_next=1.,fade_out=7.,fade_in=5., live)
radio = fallback(track_sensitive=false,[live,music])
output.icecast(%mp3,
mount="/top",
host="xxxx", port=8888,
password="xxxx",
genre="top",
url="http://xxx",
description="xxxx",
name="xx NONSTOP",
radio
)

Отредактировано aPhone - 25.06.2011
18
boogiebomzh @boogiebomzh
aPhone пишет:

заработало...
возник другой вопрос
как сделать в инпут.харбор нормализацию звука по громкости?

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

дело либо в сэме, либо в айскасте. скорее всего - в сэме. спрашивай в соответствующей теме.

97
aPhone @aPhone
нет я понял в чем косяк: вот в этой строчке
live = input.harbor("live.ogg",port=8000,password="xxx")
live = crossfade(start_next=1.,fade_out=7.,fade_in=5., live)

а именно: live = crossfade(start_next=1.,fade_out=7.,fade_in=5., live)

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

18
boogiebomzh @boogiebomzh
aPhone пишет:

нет я понял в чем косяк: вот в этой строчке
live = input.harbor("live.ogg",port=8000,password="xxx")
live = crossfade(start_next=1.,fade_out=7.,fade_in=5., live)

а именно: live = crossfade(start_next=1.,fade_out=7.,fade_in=5., live)

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

попробуй не на live делать кроссфейд, а на radio:

live = input.harbor("live.ogg",port=8000,password="xxx")
radio = fallback(track_sensitive=false,[live,music])
radio = crossfade(start_next=1.,fade_out=7.,fade_in=5., radio)

97
aPhone @aPhone
boogiebomzh пишет:

aPhone пишет:

нет я понял в чем косяк: вот в этой строчке
live = input.harbor("live.ogg",port=8000,password="xxx")
live = crossfade(start_next=1.,fade_out=7.,fade_in=5., live)

а именно: live = crossfade(start_next=1.,fade_out=7.,fade_in=5., live)

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

попробуй не на live делать кроссфейд, а на radio:

live = input.harbor("live.ogg",port=8000,password="xxx")
radio = fallback(track_sensitive=false,[live,music])
radio = crossfade(start_next=1.,fade_out=7.,fade_in=5., radio)

при такой схеме кросфейда не наблюдается при отключении и подключении диджея

97
aPhone @aPhone
Скажите а как мне сделать перезапись при инпут харборе
Stream Title:
Stream Description:
чтобы ликвасуп их менял на те что вещаются из сема
сейчас меняются только Current Song:

97
aPhone @aPhone
aPhone пишет:

Скажите а как мне сделать перезапись при инпут харборе
Stream Title:
Stream Description:
чтобы ликвасуп их менял на те что вещаются из сема
сейчас меняются только Current Song:

или скажите возможно ли сделать страницу как в айскасте, с выводом информации о текущем треке, название станции, дескриптион и прочее
подобие status2.xls
может ли ливкасуп генерить такую страницу?

6245
Тарас @tarasian666
aPhone пишет:

может ли ливкасуп генерить такую страницу

может, но насчет Stream Title: и Stream Description: неуверен

97
aPhone @aPhone
если может то помогите сгенерить эту страницу.
вот что я нашел:

**********
Показать текст


но он отказывается работать, я прописываю s = (radio)
и никакого эффекта, страница не доступна по адресу с вывводом информации

подскажите рабочий код

97
aPhone @aPhone
Или подскажите любой другой вариант чтобы иденфицировать играющего ведущего, мне в голову пришла такая мысль, что если на каждого ведущего делать свой маунт, и если этот маунт активен то перезаписывать metadata
я сделал такой вот код
Показать текст

но толку нету, данные всегда показываются от первого маунта, какой бы маунт не был подключен в данный момент, т.е. эти:
andy = rewrite_metadata([("artist","Radio"),
("title","В эфире andy"),
("comment","http://xx.x")],andy)

у кого есть идеи по этому поводу?

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

Отредактировано aPhone - 28.06.2011
6245
Тарас @tarasian666
пишу не по вопросу а по теме
нашел типо radiocms но на основе liquidsoap **********

223
Игорь @devilben
tarasian666 пишет:

пишу не по вопросу а по теме
нашел типо radiocms но на основе liquidsoap **********

Вообще то сайт проекта **********, а ********** манульчик по установке и настройке на Ubuntu.
На сайте есть демка, можно пощелкать, на вид классная штука, приятный интерфейс.

Отредактировано devilben - 02.07.2011
6245
Тарас @tarasian666
**********

вот по поводу обновления stream title итд

833
metra52 @metra52
по поводу обновление титла распиши поподробнее

6245
Тарас @tarasian666
я пока сам не разбирался, только что нашел..

а ни кто не подключил jack output ?

468
Klef @Klef
к слову говоря о извращениях.
кто пробовал совмещать два "потока"
т.е. есть плейлист, он постоянно крутиться, есть второй плейлист (ну или файл) он тоже постоянно крутиться. второй накладывается на первый с притущенным уровнем звука.
одним местом чувствую, что через fallback крутить надо, но пока не поймаю за хвост.

ну и второй вопрос, не возникало ли проблем, по декодированию "нестандартных" качеств, что то уопрно не хочет цеплять mp3, 96 kb/s, mono, 32Hz

6245
Тарас @tarasian666
эм... не совсем через фолбэк, скорее через smooth_add

ну если не хочет то можно попробовать %external и lame

мистика: у меня бывало что от некоторых форматов падал shoutcast с ошибкой segmentation fault

468
Klef @Klef
smooth_add вызывает тот же самый fallback по сути своей
def smooth_add(~delay=0.5,~p=0.2,~normal,~special)
d = delay
fade.final = fade.final(duration=d*2.)
fade.initial = fade.initial(duration=d*2.)
q = 1. - p
c = amplify
fallback(track_sensitive=false,
[special,normal],
transitions=[
fun(normal,special)->
add(normalize=false,
[c(p,normal),
c(q,fade.final(type="sin",normal)),
sequence([blank(duration=d),c(q,special)])]),
fun(special,normal)->
add(normalize=false,
[c(p,normal),
c(q,fade.initial(type="sin",normal))])
])
end

через него пробовал, но если передать в виде
radio = smooth_add(normal=one,special=two)
без switch, то он постоянно воспроизводит второй поток, без первого.

6245
Тарас @tarasian666
у меня он приглушал один поток и накладывал второй на него
а просто add ?

468
Klef @Klef
tarasian666 пишет:

у меня он приглушал один поток и накладывал второй на него
а просто add ?

add попробую, можеш показать строку свою