2017-03-21 16:44 GMT-05:00 Jeff Garvas <[email protected]>:
>
>
> 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.
Let me backtrack here for a second.
Liquidsoap streams have metadata attached to them, potentially at any
position. When a metadata packet is received by output.icecast or
output.shoutcast, it computes the new value for StreamTitle and sends that
to icecast/shoutcast. See here:
https://github.com/savonet/liquidsoap/blob/master/src/outputs/icecast2.ml#L402
In turn, when icecast/shoutcast receives the metadata update call, it
inserts the new metadata into the listeners stream, which is what you refer
to as StreamTitle I think.
So, in the most simple terms, as soon as a metadata of the form:
[("title","Some text here")] is passed, with nothing else, them your
listeners will see StreamTitle updated to "Some text here".
Thus, your problem becomes simply: how to insert a metadata packet with
only title like above.
If, as you said in another message, your original files are .wav files then
all you need to do is, instead of pushing a request of the form:
/path/to/file.wav, push a request of the form:
annotate:title="StreamTitle content":/path/to/file.wav
And this will trickle down the stream path to update StreamTitle in your
listeners stream.
Romain
------------------------------------------------------------------------------
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