[Vorbis] can I inject metadata on every frame ?
Ralph Giles
giles at xiph.org
Sun Jun 1 14:46:03 PDT 2008
On 1-Jun-08, at 11:31 AM, alex wrote:
> On title, send always actual Frequency of receiver, so if this
> change, clients can view the changes. This updates on metadata must
> be refreshed too much, on every second of stream will be acceptable.
If you're streaming to normal "internet radio" clients, what you're
supposed to do is end the current stream and start a new encoding
every time the metadata changes. It's done this way so the metadata
can be found after a seek if the stream is stored. However, because
the codec setup headers have to resent at the same time, there's a
bitrate penalty, so this doesn't work well if your metadata is
changing more than every 30 seconds or so.
> FAQ tells that there is some way of multiplexing data in the OGG
> container, but I don't know if this multiplexing is done for every
> frame.
So I was speaking above about the built-in vorbis metadata, which is
"per stream segment" not per frame, etc. You can multiplex another,
custom data stream with the vorbis data, with whatever time
resolution you like. This is the best thing to do if it's a custom
application, where you control both the server and the client. The
problem is there's no standard for a separate 'metadata' stream, so
most regular Ogg stream clients will just ignore the updates, and
some hardware players won't play it at all.
FWIW,
-r
More information about the Vorbis
mailing list