[Icecast-dev] MetaData Update for FLAC and OPUS

bn at radio42.com bn at radio42.com
Wed Aug 14 06:35:06 UTC 2019


Hi Philipp,

While you might logically/theoretically be right with what you say, it is not really practical and unfortunately not user friendly.
Let me try to explain my standpoint:
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.

Now to the theory (as I am pretty aware of how Ogg/Vorbis is organized):
Metadata changes are implemented by chaining bitstreams, ie. each change requires a new bitstream with its own metadata.
This means, that if you want to implement individual song title updates within your single program, you would have to create individual bitstreams.
This is practically almost impossible resp. extremely unlikely to be handled with a continuous single real-time live stream.

As such I assume, that the developer who once implemented the admin interface update handling for Ogg/Vorbis streams was indeed very clever and user friendly!
Because he implemented a feature which was extremely helpful for all ICEcast users and made life much easier for a lot of broadcasters.

And isn’t this something we should aim for: Making the life of the users of our software easier?

I am pretty sure, that you will notice, that most of your users who are streaming in the Ogg/Vorbis format will currently use the still existing admin interface for meta data updates!
It also exists for MP3 and AAC as you noted, so how can such an interface be a security issue for FLAC or OPUS?
It is the contrary:
I assume you explicitly disabled it for FLAC and OPUS, instead of enabled it for them as well as it still exists for OGG.

I don't argue, that in theory it might be correct to take the meta data changes from the encoder (i.e. the different bitstreams)
I just argue, that the reality is different and most users do not or cannot use multiple bitstreams.

And as such I would wish, that ICEcast is flexible enough to help their users and make their life easier by supporting the admin meta data update interface also for FLAC and OPUS, ie. for all OGG-based container formats.

Just my 2 cent.

Many Greets,
Bernd


-----Ursprüngliche Nachricht-----
Von: Philipp Schafft <phschafft at de.loewenfelsen.net> 
Gesendet: Dienstag, 13. August 2019 14:37
An: bn at radio42.com
Cc: icecast-dev at xiph.org
Betreff: Re: [Icecast-dev] MetaData Update for FLAC and OPUS

Good afternoon,


On Tue, 2019-08-13 at 14:26 +0200, bn at radio42.com wrote:
> I am using the standard Xiph.org FLAC encoder, but I couldn't find any option to update the meta-data mid-stream.
> Also the FLAC spec says, that it defines VORBIS_COMMENT as the only way to transmit meta-data information.
> This is the only officially supported tagging mechanism in FLAC. There may be only one VORBIS_COMMENT block in a stream.

> As such, when you state, that meta data is the domain of the encoder; this seems to ignore this fact, that there is no FLAC encoder support for mid-stream title updates.
> This is pretty much the same as for OGG and OPUS!
> As such, please point me to the encoder option you are referring to - as you seem to have implemented mid-stream meta-data updates from a FLAC stream, which doesn't exist in the FLAC specs?!


It's all the in specs. In the Ogg specs. See e.g. the overview page
here:
https://xiph.org/ogg/doc/oggstream.html

For Matroska based see:
https://www.matroska.org/technical/specs/index.html
and
https://www.matroska.org/technical/streaming/index.html



> However, for OGG you (ICEcast) implemented meta-data updates via the admin interface.

If you mean "Ogg" by "OGG" and "Icecast" by "ICEcast": No.
If you mean "Ogg/Vorbis" by "OGG": Long ago someone made a mistake and actually implemented it. It is broken, it us unhelpful, and it even is a security problem. And most importantly: it is against the specs. Just don't use it. It's a bug based on a design flaw by Nullsoft to workaround a design flaw of MP3.


> So why isn't this supported for OPUS and FLAC - as all three formats do use VORBIS_COMMENT and none of the encoders seems to support mid-stream meta-data updates.

Because we WILL NOT re-implement 30 year old bugs on new code.


> I am sorry, but I found the answers provided not really suited to my questions.
> 
> So any further help is appreciated.
> However, I will also ask the same question to the FLAC and OPUS mailing list.

See the link above.


> Thanks,
> Bernd
> 
> -----Ursprüngliche Nachricht-----
> Von: Philipp Schafft <phschafft at de.loewenfelsen.net>
> Gesendet: Dienstag, 13. August 2019 14:09
> An: bn at radio42.com
> Cc: icecast-dev at xiph.org
> Betreff: Re: [Icecast-dev] MetaData Update for FLAC and OPUS
> 
> Good afternoon,
> 
> 
> 
> On Tue, 2019-08-13 at 13:36 +0200, bn at radio42.com wrote:
> > It seems, that with FLAC and OPUS streams (not individual files) the song title (meta data) updates do not work.
> > 
> > Also the ICEcast admin web interface isn’t working for FLAC and OPUS; while it is working for MP3, AAC as well as OGG streams.
> > 
> >  
> > 
> > I.e. when sending a continuous FLAC or OPUS stream to an ICEcast server, it seems impossible to update the meta data mid-stream (like it works for MP3, AAC or OGG).
> > 
> > I also couldn’t find any way to tell the original FLAC or OPUS encoder to perform the meta data update mid-stream.
> 
> Then that is a limitation of the encoder. You should contact the vendor of your encoder and ask them about it.
> 
> 
> 
> > Any suggestions?
> 
> See my reply here:
> http://lists.xiph.org/pipermail/icecast/2019-August/014767.html
> 
> 
> > Or are mid-stream meta-data updates simply not supported?
> 
> They are. And support is complete beside that they do not show up on the status page for FLAC based streams. But they are passed to the listener correctly.
> 
> 
> > If they support, I would be glad about any info on how to implement them.
> 
> You must tell your encoder to update the metadata. It's the encoder's job to send them.
> 
> 
> > If they are not supported, are there any plans to implement the admin meta data update interface also for FLAC and OPUS?
> 
> No. As metadata updates are already supported according to all relevant standards. Anything else would be outside the standards and would likely be more harm than good.


--
Philipp Schafft (CEO/Geschäftsführer)
Telephon: +49.3535 490 17 92

Löwenfelsen UG (haftungsbeschränkt)     Registration number:
Bickinger Straße 21                     HRB 12308 CB
04916 Herzberg (Elster)                 VATIN/USt-ID:
Germany                                 DE305133015



More information about the Icecast-dev mailing list