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,
-r