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