[xiph-rtp] Theora RTP payload format

Ralph Giles giles at xiph.org
Mon Apr 18 09:28:45 PDT 2005

On Mon, Apr 18, 2005 at 11:30:26AM -0400, Steve Kann wrote:

>    I've also read the archives of this list, about some of the proposed 
> changes.   I'd like to describe here what I'm planning on doing, and see 
> how this might fit into your design.

Yay feedback! :-)

>    *Note:  I also suspect, but I haven't researched, that if all the 
> clients are using the same version of the theora encoder, and the same 
> settings, that their setup headers would likely be the same;  If this is 
> the case, then their CRC32's would be the same, and they could start 
> decoding at any keyframe..

This is correct. Future encoders may well adapt to their input, so your 
conference engine should just check if the headers are the same. Note 
that you can also do things like reencode the stream up to the next 
keyframe if you want to switch someone outside a keyframe boundary, but 
that reduces quality and uses a lot more resources than packet 

> With the latest idea I've read, though, it makes this process much more 
> inconvenient, because _each_ client would have their own 16bit "chain 
> ID", and these chain ID's would be duplicated in the streams sent by 
> each client, and therefore the server would need to deeply understand 
> and parse each of the streams in order to put them together, etc.

Aaron addressed this, but to clarify: the idea with the chain id is that 
its a simple mark on each packet telling the client what decoder setup 
to use to decode it. Making the mapping between the chain id and the 
decoder is an out-of-band process. If you're not using SDP, it's your 
protocol's responsiblity to set the mapping you want.

> It would be most convenient, if there were a "fixed setup" mode for 
> theora, where you could ask the theora-encoder to use fixed setup header 
> set, and have it act like other codecs in this respect.  I understand 
> the flexibility that the setup headers give you in encoder design, but 
> it would be nice if there were a way to configure it otherwise..

Well, if we did this officially, it would limit future encoder 
improvements. Better, we think, to leave such profiles up to 
particular applications.

That said, the fixed config used by the VP3 codec theora is based on
is one reasonable baseline.


More information about the xiph-rtp mailing list