From: Rajil S. <ra...@gm...> - 2011-08-20 16:11:33
|
Hi all, I am relaying a remote ogg stream with icecast, feeding it to liquidsoap for transcoding to mp3, and then sending it out using icecast again. I built liquidsoap (mercurial) from source few days ago. The problem i am facing is that if there is some disruption in the remote stream, liquidsoap starts relaying silence as expected, however it doesnt go back to playing the remote stream once it is has come back. My stream is like this: >cat stream.liq set("log.file.path","/var/log/liquidsoap/radiomirchi.log") set("log.file.append",false) set("log.level",4) set("log.stdout",false) # Input the stream, url = "http://user:pass@172.16.1.132:8000/high.ogg" input = mksafe(input.http(url)) output.icecast(%mp3(stereo=true, samplerate=44100, bitrate=128), mount="/live.mp3", host="localhost", port=8000, password="pass", input) A sample log when the stream failed is: 2011/08/20 08:49:50 >>> LOG START 2011/08/20 08:49:50 [protocols.external:3] Didn't find "ufetch". 2011/08/20 08:49:50 [protocols.external:3] Found "/usr/bin/wget". 2011/08/20 08:49:50 [main:3] Liquidsoap 1.0.0-beta3+svn (default@a8953c44c82c:20110814:192053) 2011/08/20 08:49:50 [main:3] Using: graphics=[distributed with Ocaml] pcre=6.2.0 dtools=0.2.2 duppy=0.4.1 duppy.syntax=0.4.1 cry=0.2.1 mm=0.1.0 ogg=0.4.2 vorbis=0.6.0 mad=0.4.2 dynlink=[distributed with Ocaml] lame=0.3.0 alsa=0.2.1 samplerate=0.1.1 taglib=0.1.4 2011/08/20 08:49:50 [main:2] 2011/08/20 08:49:50 [main:2] DISCLAIMER: This version of Liquidsoap has been 2011/08/20 08:49:50 [main:2] compiled from a snapshot of the development code. 2011/08/20 08:49:50 [main:2] As such, it should not be used in production 2011/08/20 08:49:50 [main:2] unless you know what you are doing! 2011/08/20 08:49:50 [main:2] 2011/08/20 08:49:50 [main:2] We are, however, very interested in any feedback 2011/08/20 08:49:50 [main:2] about our development code and committed to fix 2011/08/20 08:49:50 [main:2] issues as soon as possible. 2011/08/20 08:49:50 [main:2] 2011/08/20 08:49:50 [main:2] If you are interested in collaborating to 2011/08/20 08:49:50 [main:2] the development of Liquidsoap, feel free to 2011/08/20 08:49:50 [main:2] drop us a mail at <sav...@li...> 2011/08/20 08:49:50 [main:2] or to join the #savonet IRC channel on Freenode. 2011/08/20 08:49:50 [main:2] 2011/08/20 08:49:50 [main:2] Please send any bug report or feature request 2011/08/20 08:49:50 [main:2] at <http://dev.sourcefabric.org/browse/LS>. 2011/08/20 08:49:50 [main:2] 2011/08/20 08:49:50 [main:2] We hope you enjoy this snapshot build of Liquidsoap! 2011/08/20 08:49:50 [main:2] 2011/08/20 08:49:50 [lang:3] Lastfm/audioscrobbler support was not compiled. 2011/08/20 08:49:50 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master. 2011/08/20 08:49:50 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples. 2011/08/20 08:49:50 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks. 2011/08/20 08:49:50 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks. 2011/08/20 08:49:50 [video.converter:4] Couldn't find preferred video converter: gavl. 2011/08/20 08:49:50 [audio.converter:4] Using preferred samplerate converter: libsamplerate. 2011/08/20 08:49:50 [threads:3] Created thread "generic queue #1". 2011/08/20 08:49:50 [clock:4] Currently 1 clocks allocated. 2011/08/20 08:49:50 [clock.wallclock_main:4] Starting 1 sources... 2011/08/20 08:49:50 [source:4] Source output.icecast_4584 gets up. 2011/08/20 08:49:50 [source:4] Source mksafe gets up. 2011/08/20 08:49:50 [source:4] Source src_4580 gets up. 2011/08/20 08:49:50 [threads:3] Created thread "http polling" (1 total). 2011/08/20 08:49:50 [src_4580:4] Connecting to <http://172.16.1.132:8000/high.ogg>... 2011/08/20 08:49:50 [src_4580:4] Activations changed: static=[], dynamic=[mksafe:/live(dot)mp3:/live(dot)mp3]. 2011/08/20 08:49:50 [source:4] Source safe_blank gets up. 2011/08/20 08:49:50 [safe_blank:4] Content kind is {audio=2;video=0;midi=0}. 2011/08/20 08:49:50 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:/live(dot)mp3:/live(dot)mp3]. 2011/08/20 08:49:50 [mksafe:4] Activations changed: static=[/live(dot)mp3:/live(dot)mp3], dynamic=[]. 2011/08/20 08:49:50 [/live(dot)mp3:4] Activations changed: static=[/live(dot)mp3], dynamic=[]. 2011/08/20 08:49:50 [/live(dot)mp3:4] Enabling caching mode: active source. 2011/08/20 08:49:50 [/live(dot)mp3:3] Connecting mount /live.mp3 for source@localhost... 2011/08/20 08:49:50 [/live(dot)mp3:3] Connection setup was successful. 2011/08/20 08:49:50 [threads:3] Created thread "wallclock_main" (2 total). 2011/08/20 08:49:50 [clock.wallclock_main:3] Streaming loop starts, synchronized with wallclock. 2011/08/20 08:49:50 [clock:4] Main phase starts. 2011/08/20 08:49:50 [mksafe:3] Switch to safe_blank. 2011/08/20 08:49:50 [safe_blank:4] Activations changed: static=[mksafe:/live(dot)mp3:/live(dot)mp3], dynamic=[mksafe:/live(dot)mp3:/live(dot)mp3]. 2011/08/20 08:49:50 [src_4580:4] Trying playlist parser for mime application/ogg 2011/08/20 08:49:50 [src_4580:4] Content-type "application/ogg". 2011/08/20 08:49:50 [decoder:4] Trying method "WAV" for "application/ogg"... 2011/08/20 08:49:50 [decoder:4] Trying method "PCM/BASIC" for "application/ogg"... 2011/08/20 08:49:50 [decoder:4] Trying method "OGG" for "application/ogg"... 2011/08/20 08:49:50 [decoder:3] Method "OGG" accepted "application/ogg". 2011/08/20 08:49:50 [src_4580:3] Decoding... 2011/08/20 08:49:51 [mksafe:3] Switch to src_4580 with transition. 2011/08/20 08:49:51 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:/live(dot)mp3:/live(dot)mp3]. 2011/08/20 08:49:51 [src_4580:4] Activations changed: static=[mksafe:/live(dot)mp3:/live(dot)mp3], dynamic=[mksafe:/live(dot)mp3:/live(dot)mp3]. 2011/08/20 08:51:28 [src_4580:4] No network activity for 1.00 second(s). 2011/08/20 08:51:28 [src_4580:4] No network activity for 1.00 second(s). 2011/08/20 08:53:43 [src_4580:4] No network activity for 1.00 second(s). 2011/08/20 08:54:47 [src_4580:4] No network activity for 1.00 second(s). 2011/08/20 08:59:48 [src_4580:4] No network activity for 1.00 second(s). 2011/08/20 09:00:05 [src_4580:4] No network activity for 1.00 second(s). 2011/08/20 09:10:58 [src_4580:4] No network activity for 1.00 second(s). -------------------snip------------------------- 011/08/20 16:51:09 [src_4580:4] No network activity for 1.00 second(s). 2011/08/20 16:51:17 [src_4580:4] No network activity for 1.00 second(s). 2011/08/20 16:52:03 [src_4580:4] No network activity for 1.00 second(s). 2011/08/20 16:53:41 [src_4580:4] No network activity for 1.00 second(s). 2011/08/20 16:54:51 [src_4580:4] No network activity for 1.00 second(s). 2011/08/20 16:55:32 [src_4580:4] End of track. 2011/08/20 16:55:32 [src_4580:4] Buffer emptied, buffering needed. 2011/08/20 16:55:32 [mksafe:3] Switch to safe_blank with forgetful transition. 2011/08/20 16:55:32 [src_4580:4] Activations changed: static=[], dynamic=[mksafe:/live(dot)mp3:/live(dot)mp3]. 2011/08/20 16:55:32 [safe_blank:4] Activations changed: static=[mksafe:/live(dot)mp3:/live(dot)mp3], dynamic=[mksafe:/live(dot)mp3:/live(dot)mp3]. Cheers Rajil |