On Tue, Mar 21, 2017 at 12:54 AM, Romain Beauxis <[email protected]>
wrote:
> 2017-03-20 14:23 GMT-05:00 Jeff Garvas <[email protected]>:
> >
> > I'm using liquidsoap for an unconventional use case where I predominantly
> > stream silence, and inject very short audio files sourced from a police
> > scanner.
>
> Well, that certainly is an interesting usage!
>
It's working quite well. When the application that generates a .mp3 file
writes the file it runs a script I wrote that connects to the socket and
queues the mp3 file. Liquidsoap is pointed to a mount point at
http://broadcastify.com.
> Here is the challenge I have -- I want to be able to include a
> StreamTitle=
> > in the streaming payload immediately prior to adding a new track to the
> > queue. I ran a packet capture on windows based application that
> supports
> > alpha tagging and in the payload itself of the mp3 stream there is a
> > StreamTitle= immediately prior to the begining of a new mp3 audio source
> > (when transitioning from silence)
>
> By StreamTitle, I assume that you mean to set the track's metadata, like
> artist or title as they are later sent via output.icecast etc.
>
Yes - but I literally mean StreamTitle. I did a packet capture of another
application that does this called RadioFeed, where you use an audio cable
to feed a sound card and a serial cable to get the "alpha tag" of the
channel from the scanner itself. If you look at the packet capture the
alpha tag of the channel (say, "PD Dispatch") is in the payload like this:
StreamTitle=PD%20Dispatch (i think the %20 was in there, not 100% sure).
So its a format that uses the phrase StreamTitle. I don't know if this is
a old meta tag methodology, shoutcast specific, or icecast? It is not
sending http updates to the server, its in the stream itself.
> Have you tried the annotate: protocol? You can wrap your request into a
> annotate: uri, allowing you to pass extra metadata.
>
> For instance, instead of:
> <source>.push http://.. (or /path/to/file etc.)
> You can do:
> <source>.push annotate:title="My Custom Title",artist="My custom
> artist":http://..
>
I've messed with a number of approaches where maybe I'd inject the title
via the socket immediately prior to queuing and while I got that working it
was making a separate http:// call to my icecast test server, and the
problem is these titles can change very frequently.
My preference would be to inject the title into the .mp3 and have some sort
of rewrite logic take the content of that metatag and somehow put it into
SongTitle= or an equivalent but I can't find any comprehensive
documentation on how to do that :/
And the annotated metadata will be added, possibly overriding any metadata
> with the same field name in your original request.
>
> By default, fallback() and switch() replay the last metadata from a child
> source when switching back to it.
>
Is there a way to override it with something or blank it out?
By the way, do you need a finite silence in your script? It feel like, with
> track_sensitive=false, your fallback would switch to the request source
> immediately when it becomes available..
>
I basically need it to not stream any audio at all when there isn't
something in the queue. If you want to hear it yourself you can go here,
click on the play icon, and play the audio. It may be silent for a minute
or two until someone speaks :)
http://www.broadcastify.com/listen/feed/24877
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users