[Theora-dev] Re: PC-based video server

Andrey Filippov theora at elphel.com
Wed Jan 26 12:20:26 PST 2005

> Well, I've seen pretty good quality theora format video at less than 1
What was the resolution/frame/rate/type of the movie.
As I understand, in videosecurity in many cases most of the frame is
background that is perfectly stable, that will give significant advantage.
And this is why they usually use "motion detectors" - I don't think it is
needed in the case of Theora - whith proper adjustments there should be
very few data sent out ifnothing changes

> You are using high resolution sensors in your network cameras, so to
pick an
easy number to work with, I'm figuring 1 Mbps per network camera.
I have no experience so let's use this number

>  It's great that the network cameras can output video in theora format.
When I decided I'm ready to implement videocompression I was planning to
use MPEG-2. What stopped me from that - I could not stand that Elphel name
will appear in the list http://www.mpegla.com/m2/m2-licensees.cfm :-)

> If you have ten network cameras attached to the PC-based video server,
instead of
> trying to save the output from all of the cameras at the same time, the
stream from
> camera(n+1) could be saved 1 minute after the stream from camera(n). 
With ten
> cameras, you would be saving a total of 750 MB each ten minutes, or
about 108 GB
> every 24 hours.

What you mean by "after" - buffering the streams in memory? I thought OS
can handle it on it's own.
> A PC with two 400 GB drives could give you about a week's worth of storage.
I believe usually it's enough.
> I'm not sure what you would do when you run out of storage.
Usually they just start over again and overwrite older records.
> I'm also not sure how much traffic there would be accessing the
stored video, and how the server would keep up with the job of delivering
stored video.

Initially that server should do 2 (or 3) parallel jobs:
1 - uninterruptedly store all the high-res video on disks (DVR);
2 - serve lower resolution video from live data in parallel with recording
with minimal delay.

Actually it will be possible to use 2 different servers for these 2 tasks
if neeedd - anyway there will be multicast stream.

and only the

3-d job will be to serve the stored video.

> If people wanted to watch the live video, they would just go to the address
> of that network camera, right?  So, the PC-based video server
> would not be required to do much, if any, streaming video.  People who want
> to watch the stored video could just download the desired files, right?

Not exactly - and here is the main point.

At the first stage all this high-performance GNU/Linux + Theora stuff is
confined to server+cameras. External interface of the system as a whole
will be MJPEG (other standard software codecs possible), "server push"
that majority of the video management software used in videosecuruity
business - the software they are currently using and don't want to get rid
of immediately. So the proposed server can be plugged in their system and
behave as a set of regular network cameras, not as a server+cameras.

That, from one side, will not scare off customers who got used to some
system immediately and will significanbtly simplify our job - security
systems have much more than cameras alone (i.e. other sensors) and many
companies work for a long time in this area and I don't think it is
possible to design something similar in short time and using limited

So I consider such server as intermediate step to get Theora into this
application area. It will be then next step to get rid of intermediate

More information about the Theora-dev mailing list