[theora] Live Stream Encoding

Mario Doerr mailinglist at xyphur.de
Sun Jun 20 06:05:53 PDT 2010


Hi Conrad,

> So this is a streaming application that you are writing? Is it
> streaming out as HTTP? Are the pictures from files or live?

I have written a simple HTTP server which streams a "virtual" file. The 
file doesn't exist in real, my pictures grabbed directly from the frame 
buffer (OpenGL), encoded via Theora and sent with the windows socket 
functions to the client (Firefox 3.6.3). For response i am using this header

HTTP/1.1 206 Partial Content
Accept-Ranges: bytes
Content-Type: video/ogg
Connection: keep-alive

and attached the output from Theora directly after this header.

> To show the duration in VLC, I think the streaming application needs
> to support byte-range requests, which allow seeking over HTTP. You
> will also of course need to output a Content-Length HTTP response
> header.

Additionally for debugging i can write the Theora output to a file. This 
file can be played correctly in VLC but without the correct duration. In 
Firefox it doesn't play the first two seconds.


> For Firefox, byte-range requests are also useful, as are a
> Content-Duration HTTP response header or an OggIndex in the generated
> stream.

The stream is "infinite". What do you mean with "OggIndex"?

Regards Mario


More information about the theora mailing list