From: John C. <in...@co...> - 2013-09-24 10:13:04
|
Is this possible? Anybody doing this? |
From: Daniel J. <dan...@so...> - 2013-09-24 10:32:36
|
Hi John, > Is this possible? Anybody doing this? This feature is likely to be part of the show recorder redesign in Airtime 3.0. Currently we're looking at using a separate icecream or streamripper process to capture the output from Liquidsoap and turn it into one file per show. If there is a way to do timed stream recording with Liquidsoap, we would certainly consider that. The main issue is that the recorder cannot be part of the primary Liquidsoap process, because of the recording being stopped when Liquidsoap is restarted. Cheers! Daniel |
From: Akos V. <ve...@ak...> - 2013-09-24 10:55:02
|
I am kinda doing it, but i'm not succeeding. The problem is that for some reason the live source that i'm streaming breaks up at a random interval and so liquidsoap drops the connection then it reconnects after 0.1 0.3 0.5 seconds later but that still makes the recording record to a new file. This way at the end of it all I have multiple files for one session and I need to add them up. Of course many things can or did go wrong on my side so what I'm trying to do is make the liquidsoap script do less, way less, maybe that'll help with it all. Best regards, *Ákos Veres* _____________________________________________ http://akos.me - A little about me. On Tue, Sep 24, 2013 at 11:46 AM, John Chewter <in...@co...>wrote: > Is this possible? Anybody doing this?**** > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > Savonet-users mailing list > Sav...@li... > https://lists.sourceforge.net/lists/listinfo/savonet-users > > |
From: Daniel J. <dan...@so...> - 2013-09-24 11:34:43
|
Hi Akos, > The problem is that for some reason the live source that i'm streaming > breaks up at a random interval and so liquidsoap drops the connection Are you using mksafe on the live source? > then it reconnects after 0.1 0.3 0.5 seconds later but that still makes > the recording record to a new file. Our proposed solution for that is to have a fallback at the Icecast level to cover any service interruptions, for example when the bitrate of the main stream is changed and Liquidsoap is restarted. Are you using your main Liquidsoap script to handle recording, or a separate process? Cheers! Daniel |
From: Romain B. <ro...@li...> - 2013-09-24 23:08:22
|
Hi all, I'm not sure I understand all you guys needs here. You can certainly setup a second liquidsoap process to record a stream at given times, though I can see how other tools may be more handy for this purpose, in particular to avoid re-encoding. R. 2013/9/24 Akos Veres <ve...@ak...>: > I am kinda doing it, but i'm not succeeding. The problem is that for some > reason the live source that i'm streaming breaks up at a random interval and > so liquidsoap drops the connection then it reconnects after 0.1 0.3 0.5 > seconds later but that still makes the recording record to a new file. This > way at the end of it all I have multiple files for one session and I need to > add them up. > > Of course many things can or did go wrong on my side so what I'm trying to > do is make the liquidsoap script do less, way less, maybe that'll help with > it all. > > Best regards, > Ákos Veres > > _____________________________________________ > http://akos.me - A little about me. > > > On Tue, Sep 24, 2013 at 11:46 AM, John Chewter <in...@co...> > wrote: >> >> Is this possible? Anybody doing this? >> >> >> >> ------------------------------------------------------------------------------ >> October Webinars: Code for Performance >> Free Intel webinars can help you accelerate application performance. >> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most >> from >> the latest Intel processors and coprocessors. See abstracts and register > >> >> http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk >> _______________________________________________ >> Savonet-users mailing list >> Sav...@li... >> https://lists.sourceforge.net/lists/listinfo/savonet-users >> > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > Savonet-users mailing list > Sav...@li... > https://lists.sourceforge.net/lists/listinfo/savonet-users > |
From: Daniel J. <dan...@so...> - 2013-09-25 09:22:45
|
Hi Romain, > You can certainly > setup a second liquidsoap process to record a stream at given times, > though I can see how other tools may be more handy for this purpose, > in particular to avoid re-encoding. Right, icecream (a Perl script, already in Debian) simply downloads the stream and chops it into files, which for proof-of-broadcast is just what we need. We have yet to determine if this approach is reliable enough, as we have had some issues with timed recording in icecream failing sometimes. On the playout side we love the flexibility of Liquidsoap, but on the recording side we just need one file per show. Cheers! Daniel |
From: Akos V. <ve...@ak...> - 2013-09-25 08:01:31
|
On Tue, Sep 24, 2013 at 1:34 PM, Daniel James <dan...@so... > wrote: > Hi Akos, > > Hi Daniel, > > The problem is that for some reason the live source that i'm streaming > > breaks up at a random interval and so liquidsoap drops the connection > > Are you using mksafe on the live source? > > No, that would help? I didn't thought of that, I'll test it to see how it goes. > > then it reconnects after 0.1 0.3 0.5 seconds later but that still makes > > the recording record to a new file. > > Our proposed solution for that is to have a fallback at the Icecast > level to cover any service interruptions, for example when the bitrate > of the main stream is changed and Liquidsoap is restarted. > > Are you using your main Liquidsoap script to handle recording, or a > separate process? > > I am using only one Liquidsoap script yes. The input is an input.harbor where live DJs connect and after the switch is done. I'm saving the recording with output.file. The script is loaded with other things too, which I believe are slowing it down (sending the current song to a php file that puts it in a database, sends a notice to twitter, etc.), so i'm trying to make it do less and less. How could I connect two liquidsoap scripts? Like how can I make the second script only trigger when the song changes for example? Wouldn't that leave me in the same position as in having one liquidsoap script? > Cheers! > > Daniel > |
From: Daniel J. <dan...@so...> - 2013-09-25 11:47:07
|
Hi Akos, > > The problem is that for some reason the live source that i'm streaming > > breaks up at a random interval and so liquidsoap drops the connection > > Are you using mksafe on the live source? > > No, that would help? As I understand it, mksafe prevents the source from failing even when you get a disconnection from the streaming client. You still need to make the client reconnect whenever this happens. > How could I connect two liquidsoap scripts? Like how can I make the > second script only trigger when the song changes for example? I'm not sure, but this list is the right place to ask :-) > Wouldn't > that leave me in the same position as in having one liquidsoap script? Maybe mksafe is needed on the recording script too. Cheers! Daniel |
From: Akos V. <ve...@ak...> - 2013-10-02 05:58:14
|
Hi Daniel, Sorry for the late reply, I've tried adding mksafe, but in that case the fallback doesn't work since it always sees the input.harbor as connected thanks to mksafe. Here's my setup, maybe I could do the recording from an external script, but then how could I do the switch? I may have interruptions because the scripts does too many things so it's problem. # Standard settings set("log.file.path","/home/xt/LOG/radio.log") set("log.stdout",false) set("log.file",true) set("server.telnet",true) # Stream Settings backup = playlist(reload=1,reload_mode="rounds",mode="randomize","/MUSIC/BACKUP") # Jingles jingles = playlist(reload=1,reload_mode="rounds",mode="randomize","/MUSIC/JINGLES") jingles = nrj(jingles) jingles = mksafe(jingles) def send_meta(m) = ignore(system("ttytter -status=\"#np: " ^ m["artist"] ^ " - " ^ m["title"] ^ " / Listen @ http://xtradio.org\" > /dev/null 2>&1")) end # Live sources dj = input.harbor("dj",port=8082,password="xxx",id="dj") explicit = input.harbor("explicit",port=8082,password="xxx",id="explicit") vdj = input.harbor("/",icy=true,port=8088,password="xxx",id="vdj") podcast = input.harbor("podcast",port=8082,password="xxx",id="podcast") dj = mksafe(dj) explicit = mksafe(explicit) vdj = mksafe(vdj) radio = backup radio = random(weights = [1, 5], [delay(1.,jingles), radio]) radio = skip_blank(radio) radio = smart_crossfade(radio) radio = strip_blank(radio) radio = nrj(radio) radio = mksafe(radio) radio = amplify(1.,override="replay_gain",radio) radio = register_flow( radio="XTRadio - We Love Music! Do You?!", website="http://xtradio.org/", description="XTRadio", genre="electronic", user="foo", password="bar", streams=[("mp3/192k","http://stream.xtradio.org:8080/live.m3u"), ("mp3/128k","http://stream.xtradio.org:8080/mp3.m3u"), ("aacplus/32k","http://stream.xtradio.org:8080/aac.m3u")], radio) %include "liquidsoap_include.liq" %include "liquidsoap_meta.liq" radio = fallback(track_sensitive=false, [podcast,radio]) radio = fallback(track_sensitive=false, [dj,radio]) radio = fallback(track_sensitive=false, [explicit,radio]) radio = fallback(track_sensitive=false, [vdj,radio]) radio = on_metadata(send_meta, radio) #dj = on_metadata(dj_meta, dj) # Now output the stream to the local icecast server output.icecast(%mp3(bitrate=192), host="localhost",port=8080,password="xxx",mount="live",url="XTRadio.ORG", name="We Love MusiC! Do U?! - 192kbps/MP3/Stereo - http://XTRadio.ORG - Like us on http://fb.com/XTRadio.ORG ",radio) output.icecast(%aacplus(bitrate=32),host="localhost",port=8080,password="xxx",mount="aac",url="XTRadio.ORG", name="We Love MusiC! Do U?! - 32kbps/AAC+/Stereo - http://XTRadio.ORG - Like us on http://fb.com/XTRadio.ORG ",radio) output.icecast(%mp3(bitrate=128), host="localhost",port=8080,password="xxx",mount="mp3",url="XTRadio.ORG", name="We Love MusiC! Do U?! - 128kbps/MP3/Stereo - http://XTRadio.ORG - Like us on http://fb.com/XTRadio.ORG ",radio) # Record the live shows. output.file( %mp3(stereo=true, bitrate=192, samplerate=44100, id3v2=true), "/MUSIC/RECORDINGS/Live_Auto_Recording/vdj/%Y-%m-%d/XTRadio-Live-%Y-%m-%d-%H_%M_%S.mp3", fallible=true, perm=509, vdj ) output.file( %mp3(stereo=true, bitrate=192, samplerate=44100, id3v2=true), "/MUSIC/RECORDINGS/Live_Auto_Recording/explicit/%Y-%m-%d/XTRadio-Live-%Y-%m-%d-%H_%M_%S.mp3", fallible=true, perm=509, explicit ) output.file( %mp3(stereo=true, bitrate=192, samplerate=44100, id3v2=true), "/MUSIC/RECORDINGS/Live_Auto_Recording/dj/%Y-%m-%d/XTRadio-Live-%Y-%m-%d-%H_%M_%S.mp3", fallible=true, perm=509, dj ) Best regards, *Ákos Veres* _____________________________________________ http://akos.me - A little about me. On Wed, Sep 25, 2013 at 1:46 PM, Daniel James <dan...@so... > wrote: > Hi Akos, > > > The problem is that for some reason the live source that i'm > streaming > > > breaks up at a random interval and so liquidsoap drops the > connection > > > > Are you using mksafe on the live source? > > > > No, that would help? > > As I understand it, mksafe prevents the source from failing even when > you get a disconnection from the streaming client. You still need to > make the client reconnect whenever this happens. > > > How could I connect two liquidsoap scripts? Like how can I make the > > second script only trigger when the song changes for example? > > I'm not sure, but this list is the right place to ask :-) > > > Wouldn't > > that leave me in the same position as in having one liquidsoap script? > > Maybe mksafe is needed on the recording script too. > > Cheers! > > Daniel > |
From: Daniel J. <dan...@so...> - 2013-10-03 09:49:17
|
Hi Ákos, > I've tried adding mksafe, but in that case the fallback doesn't work > since it always sees the input.harbor as connected thanks to mksafe. Right, you can only use mksafe on your lowest level of fallback. We figured this out eventually :-) > Here's my setup, maybe I could do the recording from an external script, > but then how could I do the switch? In the case of Airtime, we have a Python script that triggers the recording process when a show (with specific start and end times) is marked in the database as a recording show. Cheers! Daniel |