126

Re: liquidsoap

показываю технически:
как сделать вот так:

music = smart_crossfade(normalize(playlist(reload=600, mode="normal", "/home/radio/radio/music")))
music = mksafe(music)

music=crossfade(start_next=1.,fade_out=7.,fade_in=5.,music)

output.icecast.vorbis(
    mount="High-quality.ogg",quality=8.,
    host="localhost",port=8000,password="pass",genre="xx",
    name="xx", description="xx", url="http://xx.com",
    restart=true,music)#вот так я хочу сделать - музыка без джинглов! канал - для себя

jingles = playlist("/home/radio/radio/jingles")

radio = smooth_add(normal=music,special=switch([
({ 00m0s or 15m0s or 30m0s or 45m0s },
jingles)]))

radio = map_metadata(append_title, radio)

radiolive = fallback(track_sensitive=false,[live,radio])

output.icecast.vorbis(
    mount="High-quality.ogg",quality=8.,
    host="localhost",port=8000,password="pass",genre="xx",
    name="xx", description="xx", url="http://xx.com",
    restart=true,radiolive)
 
output.icecast.vorbis(
    mount="Low-quality.ogg",quality=2.,
    host="localhost",port=8000,password="pass",genre="xx",
    name="xx", description="xx", url="http://xx.com",
    restart=true,radiolive)

теперь понял?

127

Re: liquidsoap

технически оно работать должно, только маунт другой задать

128

Re: liquidsoap

автозапуск liquidsoap 1.0.0 с автоподхватом *.liq из /etc/liquidsoap/
файл без расширения поместить в /etc/init.d/ и назвать liquidsoap

Показать / Cкрыть текст

думаю многим поможет

129

Re: liquidsoap

или в крон добавить команду @reboot /путь_к_скрипту
но не в рутовский крон, если в рутовский то @reboot su -c "/путь_к_скрипту" имя_юзера

130

Re: liquidsoap

а как тоже самое только в 1.0.0?
output.icecast.vorbis(
    mount="High-quality.ogg",quality=8.,
    host="localhost",port=8000,password="pass",genre="xx",
    name="xx", description="xx", url="http://xx.com",
    restart=true,radiolive)

131

Re: liquidsoap

нет, та на подобие output.icecast(%vorbis
кто-то уже писал. Но с каждой версией прилагаеться мануал, не ленитесь и его почитать, они любят что-то поменять

132

Re: liquidsoap

да я то не ленюсь,читаю и делаю одновременно, и просто вот:

Показать / Cкрыть текст

и вот что из этого выходит: has no argument labeled "quality"
а качество надо позарез

Отредактировано Danila (23-03-2011 18:34:18)

133

Re: liquidsoap

ну вот, плохо значит читали )
вот пример как у меня с мп3 output.icecast(%mp3(stereo=true, samplerate=44100, bitrate=256),

134

Re: liquidsoap

icecast2 хочу через RadioBoss прикрутить управление и че то не догоню получается, что liquidsoap и не нужен - его останавливать так чтоль?

135

Re: liquidsoap

что куда прикрутить, какое управление? И причем тут liquidsoap вообще?

136

Re: liquidsoap

помогли бы мне.... эх....

137

Re: liquidsoap

http://savonet.sourceforge.net/doc-svn/clocks.html
обрати внимание на схему

138

Re: liquidsoap

пишет tarasian666:

что куда прикрутить, какое управление? И причем тут liquidsoap вообще?

Я извиняюсь, с утра пока кофе не попил, сморозил))) вопрос закрыт.

139

Re: liquidsoap

где косяк?

Показать / Cкрыть текст

нет маунта Music.ogg в icecaste
теоретически - правильно - практически не работает
ещё может кто подсажет несколько input.harbor как сделать?

Отредактировано Danila (24-03-2011 18:38:37)

140

Re: liquidsoap

где косяк раскажет лог

141

Re: liquidsoap

вот что говорит

Показать / Cкрыть текст

решил проблему так: в icecast.xml подправил строку <sources>2</sources> на нужное количество

Отредактировано Danila (24-03-2011 19:44:57)

142

Re: liquidsoap

а liquidsoap может потовое видео транслировать?
и как сделать несколько input.harbor?

143

Re: liquidsoap

может

по разному назвать плейлисты и маунты

144

Re: liquidsoap

вот конфиг для видео-потока:
#!/usr/bin/liquidsoap -d

# где будут логи
set("log.file.path","/tmp/video.log")

set("frame.video.channels",1)
set("frame.video.width",320)
set("frame.video.height",240)
set("frame.video.fps",25)
video = mksafe(playlist(reload=600, mode="normal","/home/radio/radio/video"))

output.icecast.theora(
    quality=100,vorbis_quality=2.,
    skeleton=true,restart=true,restart_delay=3,
    mount="Video.ogg",name="Video",protocol="http",
    host="localhost",port=8000,password="xxx",
    genre="xx",url="http://xx.x",description="xx",
    video)

в какой формат нужно конвертить исходное видео для потока?
или какие декодеры поставить и как применить?
вот логи:
2011/03/25 12:25:54 [main:3] Liquidsoap 0.9.2
2011/03/25 12:25:54 [lang:3] flac binary not found: flac decoder disabled.
2011/03/25 12:25:54 [lang:3] metaflac binary not found: flac metadata resolver disabled.
2011/03/25 12:25:54 [threads:3] Created thread "non-blocking queue #1".
2011/03/25 12:25:54 [threads:3] Created thread "generic queue #1".
2011/03/25 12:25:54 [threads:3] Created thread "root" (1 total).
2011/03/25 12:25:54 [root:3] Waking up active nodes...
2011/03/25 12:25:54 [video:3] Loading playlist...
2011/03/25 12:25:54 [video:3] Playlist is a directory
2011/03/25 12:25:54 [video:3] Successfully loaded a playlist of 2 tracks.
2011/03/25 12:25:54 [Video(dot)ogg:3] Connecting mount Video.ogg for source@localhost...
2011/03/25 12:25:54 [Video(dot)ogg:3] Connection setup was successful.
2011/03/25 12:25:54 [root:3] Broadcast starts up!
2011/03/25 12:25:54 [format.mp3:2] Mime type for /home/radio/radio/video/Wildlife.avi is not valid: video/x-msvideo
2011/03/25 12:25:54 [decoder:3] Unable to decode "/home/radio/radio/video/Wildlife.avi"!
2011/03/25 12:25:54 [mksafe:3] Switch to safe_blank.

145

Re: liquidsoap

ocaml-gavl
подключен?

146

Re: liquidsoap

2011/03/26 03:59:15 >>> LOG START
2011/03/26 03:59:14 [protocols.external:3] Didn't find "ufetch".
2011/03/26 03:59:14 [protocols.external:3] Found "/usr/bin/wget".
2011/03/26 03:59:15 [main:3] Liquidsoap 1.0.0-beta+svn (trunk/liquidsoap@rev8237)
2011/03/26 03:59:15 [main:3] Using: pcre=5.13.0 dtools=0.2.2 duppy=0.4.0
0.4.0 duppy.syntax=0.4.0
0.4.0 cry=0.1.6 mm=0.1.0 mad=0.4.0 lame=0.2.4 samplerate=0.1.1 taglib=0.1.4 camomile=0.7.1 faad=0.2.0
2011/03/26 03:59:15 [main:2]
2011/03/26 03:59:15 [main:2] DISCLAIMER: This version of Liquidsoap has been
2011/03/26 03:59:15 [main:2] compiled from a snapshot of the development code.
2011/03/26 03:59:15 [main:2] As such, it should not be used in production
2011/03/26 03:59:15 [main:2] unless you know what you are doing!
2011/03/26 03:59:15 [main:2]
2011/03/26 03:59:15 [main:2] We are, however, very interested in any feedback
2011/03/26 03:59:15 [main:2] about our development code and committed to fix
2011/03/26 03:59:15 [main:2] issues as soon as possible.
2011/03/26 03:59:15 [main:2]
2011/03/26 03:59:15 [main:2] If you are interested in collaborating to
2011/03/26 03:59:15 [main:2] the development of Liquidsoap, feel free to
2011/03/26 03:59:15 [main:2] drop us a mail at <savonet-devl@lists.sf.net>
2011/03/26 03:59:15 [main:2] or to join the #savonet IRC channel on Freenode.
2011/03/26 03:59:15 [main:2]
2011/03/26 03:59:15 [main:2] Please send any bug report or feature request
2011/03/26 03:59:15 [main:2] using our trac <http://savonet.rastageeks.org>.
2011/03/26 03:59:15 [main:2]
2011/03/26 03:59:15 [main:2] We hope you enjoy this snapshot build of Liquidsoap!
2011/03/26 03:59:15 [main:2]
2011/03/26 03:59:15 [lang:3] Did not find flac binary: flac decoder disabled.
2011/03/26 03:59:15 [lang:3] Did not find metaflac binary: flac metadata resolver disabled.
2011/03/26 03:59:15 [lang:3] Did not find faad binary: faad decoder disabled.
2011/03/26 03:59:15 [lang:3] Lastfm/audioscrobbler support was not compiled.
2011/03/26 03:59:15 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2011/03/26 03:59:15 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2011/03/26 03:59:15 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2011/03/26 03:59:15 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2011/03/26 03:59:15 [threads:3] Created thread "generic queue #1".
2011/03/26 03:59:15 [threads:3] Created thread "non-blocking queue #1".
2011/03/26 03:59:15 [jingls(dot)txt:3] Loading playlist...
2011/03/26 03:59:15 [request:3] Nonexistent file or ill-formed URI "/var/www/metra52/data/www/onlydc.ru/music/jingls.txt"!
2011/03/26 03:59:15 [jingls(dot)txt:2] Failed when resolving playlist URI "/var/www/metra52/data/www/onlydc.ru/music/jingls.txt"!
2011/03/26 03:59:15 [jingls(dot)txt:3] Got an empty list: keeping the old one.
2011/03/26 03:59:15 [Hard House:3] Loading playlist...
2011/03/26 03:59:15 [Hard House:3] Playlist is a directory.
2011/03/26 03:59:15 [Hard House:3] Successfully loaded a playlist of 88 tracks.
2011/03/26 03:59:15 [House:3] Loading playlist...
2011/03/26 03:59:15 [House:3] Playlist is a directory.
2011/03/26 03:59:15 [House:3] Successfully loaded a playlist of 620 tracks.
2011/03/26 03:59:15 [stderr:3] init: exception encountered during main phase:
2011/03/26 03:59:15 [stderr:3]   Unix.Unix_error(1, "open", "/dev/dsp")
2011/03/26 03:59:15 [stderr:3] exception: Unix.Unix_error(1, "open", "/dev/dsp")
2011/03/26 03:59:15 [main:3] Shutdown started!
2011/03/26 03:59:15 [main:3] Waiting for threads to terminate...
2011/03/26 03:59:15 [main:3] Cleaning downloaded files...
2011/03/26 03:59:15 >>> LOG END

147

Re: liquidsoap

ты что input alsa подключил?

148

Re: liquidsoap

да вроде нет. залезь ко мне погляди

149

Re: liquidsoap

live=rewrite_metadata([("artist","SV Radio"),
    ("title","LIVE Stream"),
    ("comment","http://xx.x")],live)

# к каждому кусочку метаданных прибаляем слово
def append_title(m) =
    # берём настоящее название
    title = m["title"]
    # вставляем новое значение
    [("title","#{title} - (((=xx=)))")]
---------------------------
Dannila
Мета-даннные точно заменяются при работе микрофона?

150

Re: liquidsoap

Сделал на два маунта - mp3 128kbps и aac+ 64kbps. Смущает то что в aac+ битрейт плавает 64-70kbps. В плеере показывает Codec profile : AAC SBR. В mp3 битрейт постоянный. Подскажите, это нормально?
В скрипте так:

    
output.icecast(%mp3, 
        mount="/listen", 
        host="127.0.0.1", port=8000,
        password="passwd",
        genre="Various",
        url="http://www.domain.com",
        description="My radio MP3",
        name="My radio",
        radio
    )

 output.icecast(%aacplus(channels=2, samplerate=44100, bitrate=64),
        mount="/listenAACplus", 
        host="127.0.0.1", port=8000,
        password="passwd",
        genre="Various",
        url="http://www.domain.com",
        description="My radio AAC+",
        name="My radio",
        radio
    )