Custom metadata with Icecast

I need to add additional metadata to the Icecast stream (outside the artist name and song). I tried several ideas, but nobody gives anything. The situation is complicated by the fact that metadata also passes through Wowza, which retransmits the Icecast stream. Is there a canonical list of metadata fields supported by Icecast, and does anyone have experience transferring custom metadata as part of the Icecast stream to Wowza?

+6
source share
2 answers

My node-icy module is able to read in an arbitrary Icecast stream and intercept and / or add metadata events to the output stream, you essentially proxy the stream. A good (albeit a bit complicated) example could be here: proxy.js

Please note that the “metadata” format is a string of key-value pairs with semicolons, but Icecast clients only respond to StreamTitle , so just enter all the necessary information:

 StreamTitle='Pink Floyd - Welcome to the Machine'; 

I did things like sending a metadata event every second to keep track of the track’s position counter (although this might have been a bit heavy for the network):

 StreamTitle='Pink Floyd - Welcome to the Machine (0:12/4:02)'; 

Good luck

+6
source

Although this is a bit complicated, the Savonet / Liquidsoap scripting language has the ability to change / set the flow metadata. There are a couple of examples on the Liquidsoap wiki at https://wiki.sourcefabric.org/display/LS/UserScripts

+1
source

Source: https://habr.com/ru/post/908361/


All Articles