[Theora] encoding to many clients

Ralph Giles giles at xiph.org
Mon Aug 29 13:28:03 PDT 2005

On Mon, Aug 29, 2005 at 10:19:57PM +0200, Karol Bryd wrote:

> I am new to video encoding and streaming so this question may sound silly.
> However I want to create a simple application which would get video frames from
> video device (video4linux) encode them using theora and then send to
> clients. 

Glad you're interesting in Theora. :)

> The question is: do I have to encode the stream for each client
> seperately? It would be ideally to have one encoded stream and send it
> to as many clients as it is needed. I wanted to do so, but I have seperate
> Ogg streams for each client and when I send packet encoded for one
> Ogg stream to another then the decoder has problems with encoding it...

You only have to do separate encodes if you want to offer clients 
multiple bitrate/quality options. Usually people do two or three at
the most.

To send the same stream to many clients you need some software to
split the stream, sending a copy to each connected client over
the network.

Fortunately, such software already exists. Both icecast2 (icecast.org)
and the flumotion server (flumotion.net) can do this. If you're already
using a commandline encoder, there are examples of how to use one with
icecast on http://v2v.cc/~j/ffmpeg2theora/examples.html. Flumotion is
self contained.

Hope that helps,

More information about the Theora mailing list