[Icecast-dev] MetaData Update for FLAC and OPUS

Roger Hågensen rh_icecast at skuldwyrm.no
Thu Aug 15 17:38:19 UTC 2019

On 2019-08-14 08:35, Bernd wrote:
> Most users do use ICEcast to stream a continuous stream, e.g. they stream a live DJ or radio program.
> I.e. they setup a single encoder on a single audio stream.
> Still this logical stream contains different tracks being played over its time, and as such those users would like to update ICEcast to inform their listeners about the changing tracks within this program. This is a simple demand.

I'm just going by vague memory here (I'm sure Philipp or somebody else 
will correct me if'm I'm wildly wrong), but a Ogg stream can have stream 
resets, basically the stream ends and a new start (but the data is 

I don't think any of the "reference encoders" support this, you may be 
able to do it by encoding the encoding and starting a new one.

Your best best is to use liquidsoap or ffmpeg (note that the "ffmpeg 
Opus" encoder is said to have quality issues) or some other software.

Any software that implements (or uses) libshout should have no issues 
embedding the metadata correctly in a Ogg stream.

I'm not sure if you could use ffmpeg + the reference opus encoder and 
chain them via a pipe in some way (and have ffmpeg wait for a new 
encoder execution to connect).

Maybe a PHP or Python script could be used to handle some of the logistics?

BUTT (Broadcast Using This Tool) is opensource and supports metadata 
reading from a file and embedding this in the Ogg stream (as far as I 
know), if you feel like coding yourself (or having somebody else code 
for you) you could probably adapt that into something that works wit 
your setup.

There are also software like Mixxx and RadioDJ that should have a proper 
Ogg stream encoder that can connect to Icecast servers. I'm unsure about 
the commercial software offerings.

Roger Hågensen

Unless specified otherwise, anything I write publicly is considered 
Public Domain (CC0). My opinions are my own unless specified otherwise.
Roger Hågensen,
Freelancer, Norway.

More information about the Icecast-dev mailing list