[Icecast-dev] MetaData Update for FLAC and OPUS

bn at radio42.com bn at radio42.com
Thu Aug 15 18:48:39 UTC 2019

Many Thanks for your answer.

Actually quite a few 'ifs', 'maybes' or 'shoulds'... ;-)
I have tried most of them (except liquidsoap).
However, even the mentioned apps like RadioDJ or Mixxx do NOT support meta data changes via the encoder (they all use the admin interface)!

And as you correctly pointed out: none of the reference encoders support this.
Not even the FLAC, OGG and OPUS encoders listed on the common xiph.org site!

Any this is actually my point: Why does a xiph.org tool like ICEcast demand a feature, which is not even supported by the other xiph.org tools?!

As already pointed out in my last mail/post:
It would simply be very user friend to offer a mid-stream meta data update, like it is offered for MP3 or AAC.

This way also all reference encoders and many other tools could simply enable meta data updates in an easy way.
This is all I am asking.

And to be frankly: I have not heard a single good argument why this should not be possible.

Many Thanks,

-----Ursprüngliche Nachricht-----
Von: Icecast-dev <icecast-dev-bounces at xiph.org> Im Auftrag von Roger Hågensen
Gesendet: Donnerstag, 15. August 2019 19:38
An: icecast-dev at xiph.org
Betreff: Re: [Icecast-dev] MetaData Update for FLAC and OPUS

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 continuous).

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.
Icecast-dev mailing list
Icecast-dev at xiph.org

More information about the Icecast-dev mailing list