Hi Todd, Sorry for the late response...
2012/4/26 Todd Fisher Wallin <[email protected]>: > Let me first say, THANK YOU for such a great project. I am with WDRT, a > community radio station in the US. We proudly have an entirely opensource > station. We use liquidsoap to stream our audio from the studios to the > transmitter and the public icecast server. We also use it for getting remote > broadcasts back to the studio. Thanks, we're always delighted to see happy users of liquidsoap! > We are currently creating in house archives by creating hourly files. This > happens on the system that encodes the stream to leave the studios. I need to > start creating these files based on the time slots of the shows that we > produce, and skip the syndicated content. I also want to add tags to the > created files, and have them named appropriately with the show title. It would > be great if these parameters, and the time schedule, could be read in from a > csv text file or something similar, so that our program director could make > changes when needed. I could even write a shell script to produce a set of > liquidsoap scripts from the text file if needed. > > I have tried using the 'exec_at' and 'at' commands with no luck. When using > 'exec_at' I could not get the file to stop writing. When using 'at' I could > not > get past typing issues, I would guess since I was trying to use it for output. > > All of the audio comes in through a single audio card, and we use input.alsa > to > read from it. > > Is this possible within Liquidsoap? Do I need to use the telnet interface and > external scripts to send commands to accomplish this? There are many things that you should be able to do to fix your issue. Let's try to break this down into small items. "I also want to add tags to the created files, and have them named appropriately with the show title" This should go easy. You can add id3v2 tags to mp3 encoded files since 1.0.0 and ogg/vorbis always had tags support. For mp3 encoding, an example if adding id3v2 tags is: output.file( %mp3(id3v2=true), (... other parameters..) ) This will write into your file whatever metadata are available when starting the encoding as id3v2 tags. This should work fine. I discovered a minor bug recently with id3v2 and mp3 encoding though. So if that turns out to not be working, you may want to give a try to our latest mercurial code (which is as stable as 1.0.0). You can also name the resulting files according to tags: output.file( %mp3(id3v2=true), reopen_of_metadata=true, (.. other parameters ..), "/path/to/directory/$(title) - $(artist).mp3", source) This will create a new file each time new metadata are seen and use title and artist metadata to name that file. It is also possible to use time markers for the title, for instance: output.file( %mp3(id3v2=true), reopen_of_metadata=true, (.. other parameters ..), "/path/to/directory/$(title) - $(artist) - %m-%d-%Y, %H:%M:%S.mp3", source) As for scheduling archiving. there are many, many solutions but I'd like to ask a very simple question before diving into more complex one: Since archiving is done on the server that outputs content from the studio, could you just use output.file on this source? Something like: live = (.. live source definition ..) # Save stream, splitting into files according to metadata: output.file( %mp3(id3v2=true), reopen_of_metadata=true, faillible=true, (.. other parameters ..), "/path/to/directory/$(title) - $(artist) - %m-%d-%Y, %H:%M:%S.mp3", live) (... Do something else with live.. ) This way, output.file would stop when the live source stops and start when it starts. It would also reopen a new archive file when new metadata are passed and use those metadata and the current time to name the file. Thus, if there are new metadata passed only at the beginning of each show, for instance "My awesome show on Radio Cool" followed by "The sunday news show on Radio Cool" then it would create an archive for each show.. Does that make sense? Romain ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Savonet-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/savonet-users
