Hello Jeff,

I was able to locate the Broadcastify documentation for Alternative
Broadcasting Software and Clients at
https://broadcastify.zendesk.com/hc/en-us/articles/204740015-Alternative-Broadcasting-Software-and-Clients
and
the liquidsoap integration instructions at
http://wiki.radioreference.com/index.php/Liquidsoap.

>From the above, it looks like broadcastify.com supports an Icecast server.
The example on the Liquidsoap page is this:

#!/usr/bin/liquidsoap -v
radio = input.alsa(device="<device>")
output.icecast(%mp3(stereo=false, bitrate=16, samplerate=22050),
 host="audio3.radioreference.com",
 port=80, password="xxxxxxxxx", genre="Scanner",
 description="Scanner audio", mount="/xxxxxxxx",
 name="Baltimore Maryland Police/Fire/EMS", user="source",
 url="http://www.scanbaltimore.com";, radio)

which is simply relaying from a sound card directly to the web stream.

What I have used to rewrite a stream title to broadcast to Airtime is this:

source = rewrite_metadata([("title", "#{artist} - #{title}")], source)

Where title and artist are defined however you require and they are
separated by <space><hyphen><space>. Broadcastify may or may not use the
same convention so YMMV.

Hope this helps,
-Bill

On Tue, Mar 21, 2017 at 5:44 PM Jeff Garvas <[email protected]> wrote:

> 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

Reply via email to