Size: 2525
Comment:
|
Size: 3228
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
Versione consigliata liquidsoap-3.6.8-1 | Versione consigliata liquidsoap-3.8.1 |
Line 25: | Line 25: |
{{{ | |
Line 31: | Line 32: |
# this is to reload any playlist every hour and every quarter | # this is to reload any playlists every hour and every quarter |
Line 35: | Line 36: |
# playlist directory, need to make a definition to avoid # the replay of jingles |
# playlists files, also works with /path/to/directory/withaudiofiles/ # but somehow take more memory # reload them any -tot- # there is cronjob that regenerate the playlists based on directories # any 15 minutes |
Line 38: | Line 42: |
listall = say_metadata(playlist("/home/radio/soap/playlists/globale.pls")) | listall = quarter("/home/radio/soap/playlists/globale.pls") |
Line 40: | Line 44: |
# live istance | # live istance to be picked. |
Line 43: | Line 47: |
# one jingle five audio | # every 5 tracks play one jingle |
Line 46: | Line 50: |
server = output.icecast.mp3(restart=true, restart_delay=5, port=8000, user="source", password="revolution", genre="Experimental,Eclectic,Free pirate radio", url="http://radiocybernet.org/", description="Online since 1997", public=true, samplerate=22050, bitrate=24, stereo=false) | # server definition, definition can be nested, in fact the set to the icacasr server uri is afterwards mp3 = output.icecast.mp3(restart=true, restart_delay=5, port=8000, user="source", password="xxx", genre="Experimental,Eclectic,Free pirate radio", url="http://radiocybernet.org/", description="Online since 1997", public=true, samplerate=22050, bitrate=24, stereo=false) |
Line 48: | Line 53: |
ogg = output.icecast.vorbis(restart=true, restart_delay=5, port=8000, user="source", password="revolution", genre="Experimental,Eclectic,Free pirate radio", url="http://radiocybernet.org/", description="Online since 1997", public=true, samplerate=22050, stereo=false) | ogg = output.icecast.vorbis(restart=true, restart_delay=5, port=8000, user="source", password="xxx", genre="Experimental,Eclectic,Free pirate radio", url="http://radiocybernet.org/", description="Online since 1997", public=true, samplerate=22050, stereo=false) |
Line 50: | Line 55: |
dyne="radio.dyne.org" |
# define an event, if event appears relay the live # there is a hack here, older version say_metadata with text2speech worked at end of track # this has never worked # need to be refactored for new say_metadata at beginning of track |
Line 61: | Line 68: |
# crossfade example | |
Line 66: | Line 74: |
broadcast = event(live,say_metadata(radio)) | # use event to start the live watch,relay. Again, if no live is there then run the normal radio schedule broadcast = event(live,radio) |
Line 68: | Line 77: |
outdyne = server(host=dyne, mount="rcyb.mp3", name="rcyb.mp3", broadcast ) | # nesting variables dyne="radio.dyne.org" |
Line 70: | Line 80: |
oggdyne = ogg(host=dyne, mount="rcyb.ogg", name="rcyb.ogg", broadcast ) | # nesting definition, see above mp3dyne = mp3(host=dyne, user="source", password="xxx", mount="rcyb.mp3", name="rcyb.mp3", broadcast ) oggdyne = ogg(host=dyne, user="source", password="xxx", mount="rcyb.ogg", name="rcyb.ogg", broadcast ) }}} |
Usare liquidsoap per stremmare 24/24.
Versione consigliata liquidsoap-3.8.1
Riferimento originale:
http://savonet.sourceforge.net/
Documentazione:
http://savonet.sourceforge.net/doc-0.3.8/documentation.html
Riferimenti API:
http://savonet.sourceforge.net/doc-0.3.8/reference.html
Stralci, esempi e scripts:
http://savonet.sourceforge.net/doc-0.3.8/scripts/index.html
Codice per radio cybernet:
# server socket, telnet socket and logs settings %include "~/soap/scripts/radio_cybernet/server.liq" %include "~/soap/scripts/radio_cybernet/log.liq" # this is to reload any playlists every hour and every quarter hour = playlist(reload=3600) quarter = playlist(reload=900) # playlists files, also works with /path/to/directory/withaudiofiles/ # but somehow take more memory # reload them any -tot- # there is cronjob that regenerate the playlists based on directories # any 15 minutes jingle = mksafe(hour("/home/radio/soap/playlists/jingles.pls")) listall = quarter("/home/radio/soap/playlists/globale.pls") # live istance to be picked. live = "http://radio.dyne.org:8000/rcyb_live.mp3" # every 5 tracks play one jingle radio = random(weights=[1,5],[ jingle, listall ]) # server definition, definition can be nested, in fact the set to the icacasr server uri is afterwards mp3 = output.icecast.mp3(restart=true, restart_delay=5, port=8000, user="source", password="xxx", genre="Experimental,Eclectic,Free pirate radio", url="http://radiocybernet.org/", description="Online since 1997", public=true, samplerate=22050, bitrate=24, stereo=false) ogg = output.icecast.vorbis(restart=true, restart_delay=5, port=8000, user="source", password="xxx", genre="Experimental,Eclectic,Free pirate radio", url="http://radiocybernet.org/", description="Online since 1997", public=true, samplerate=22050, stereo=false) # define an event, if event appears relay the live # there is a hack here, older version say_metadata with text2speech worked at end of track # this has never worked # need to be refactored for new say_metadata at beginning of track def event(c,d) def add_metadata(id,s) p = 'say:$(if $(description),"Radio cybernet online since 19 97 $(description)$(if $(genre),\", $(genre)\").")' s = on_track(fun (m) -> ignore(execute("#{id}.push #{p % m}")), s) smooth_add(delay=5.,normal=s,special=request.queue(id=id)) end fallback(track_sensitive=false,[add_metadata("live",input.http(c)),d]) end # crossfade example def crossfade(a,b) add(normalize=false,[ sequence([ blank(duration=5.),fade.initial(duration=10.,b) ]),fade.final(duration=10.,a) ]) end # use event to start the live watch,relay. Again, if no live is there then run the normal radio schedule broadcast = event(live,radio) # nesting variables dyne="radio.dyne.org" # nesting definition, see above mp3dyne = mp3(host=dyne, user="source", password="xxx", mount="rcyb.mp3", name="rcyb.mp3", broadcast ) oggdyne = ogg(host=dyne, user="source", password="xxx", mount="rcyb.ogg", name="rcyb.ogg", broadcast )