From: Joe H. <jh...@br...> - 2011-07-14 17:10:38
|
On Thu, 14 Jul 2011 17:31:39 +0100 "Josh" <jos...@gm...> wrote: > hi, > i have had so many problems with liquidsoap and want to get a other sorce which can play music input from a live sorce and play using icecast. > i have given up with sgripts with liquidsoap, it keeps saying that a = sine will not pass. > so any idea of a new sorce or why my liquidsoap is not letting me use a = sine? > thanks for any help with this matter. > josh Josh, this might help. I am the tech for Eargazm, an internet radio station that's been live since 1999. (Are Internet years like dog years??) We do a live show bi-weekly, then play from the archives the rest of the time. We have icecast and liquidsoap on the same streaming machine. Listeners connect to icecast on port 8000. This is our main script: ======================================================================= #!/usr/local/bin/liquidsoap # Set our environment set("log.file.path","/tmp/eargazm.log") # Build the input source # /usr/local/etc/playlist is a file that contains the full pathnames of # the archived shows we want to play. radio = playlist("/usr/local/etc/playlist") # This line listens to port 8010 for activity full_live = input.harbor("live", port=8010, password="notreally") # This line says that if there's activity on the full_live port, # broadcast it. If not, fall back to playing from the playlist. input_src = fallback(track_sensitive=false, [full_live, radio]) # This section sends the output to icecast output.icecast( %mp3, host = "localhost", port = 8000, password = "notreally", mount = "hires.mp3", description = "Eargazm in your ear", url = "http://www.eargazm.com", mksafe(input_src) ) ======================================================================= I am currently working to get the on-air studio to send out an icecast- compatible stream on port 8010 from the Mac there, but there have been a couple of issues. First is that there's quite a bit of vinyl that gets played, so we'd have to sent the mixer's output into the Mac and convert it first. We've only managed to update the Mac to a dual-CPU G5 machine in the last month, and I'm looking into ways to make that happen which wouldn't affect the playing of songs from the local iTunes library on that machine. For now, there's an audio line out to the streaming machine, and when we want to go live, we run another liquidsoap script (without killing the main script): ======================================================================= #!/usr/local/bin/liquidsoap # Stream it out to the input.harbor on port 8010 so the main server picks # it up and rebroadcasts it output.icecast( %mp3, host = "localhost", port = 8010, password = "notreally", mount = "live", description = "Eargazm live!", url = "http://www.eargazm.com", mksafe(input.alsa(bufferize=false)) ) # Save live transmission output.file(%mp3, append = true, "/tape/newshow.mp3", mksafe(input.http("http://192.168.1.95:8000/hires.mp3"))) ======================================================================= When we run the second script, it takes the input from the soundcard, converts it to mp3, and pushes it out to port 8010, which the main script then sees as live and uses it over the playlist. When we're done with the live show, we do Ctrl-C in the shell we ran the live script in, and the pre-recorded show picks up right where it left off. As a bonus, the live show is automatically dumped to a file for easy archiving. I hope this helps a bit. -- ====================================================================== Joe Hartley - UNIX/network Consultant - jh...@br... Without deviation from the norm, "progress" is not possible. - FZappa |