[x264-devel] Re: x264 and streaming based project creation

Mathieu Monnier manao at melix.net
Tue Oct 18 21:03:42 CEST 2005


Hi,

> The second, is that the application have to be able to receive multiple 
> streams from other distant machines in the same "window" and/or on 
> differents screens.

Then you'll also need libavcodec, in order to decode the streams (x264 
in itself is only an encoder, the decoder part isn't working).

> I have to display a received stream on a 3meters x 2meters screen from a 
> 2Mbps internet line.

2 Mbits per stream, am I understanding correctly ?

> This application will have to manage video quality compared to the 
> network traffic to always have a smooth video play.

Does that mean you can't be sure to have the 2 Mbits ? Have you any 
realtime feedback on what is the real max rate on the line ? If not, 
then you've got to assume that the line is less than 2 Mbps.

As such, x264 librairy has a rate control mechanism that allows to 
encode at a constant bitrate ( CBR ). In your case, if you can ensure 
the 2 Mbps, then that CBR mode is what's interesting you, and it doesn't 
require additionnal work.

If you have a way to know the effective rate on the line, and if that 
rate is varying, then you'll need more work in order to control the 
bitrate of the video accordingly to the allowed rate ( assuming that you 
always want to fully use the available network rate, because if you 
don't, you just have to underestimate it enough and use the CBR mode ).

> 1) Do you see any technical problems to implement this solution?

The decoding side which receives several 2 Mbps streams will need a 
really strong CPU ( 4 720x576 streams @ 2 Mbps will need an X2 4000, i'd 
say ). Moreover, adding a lot of these streams together means a high 
download speed.

> 2) Have you any ideas about the load of the x264 encoder, what kind of 
> machine is needed (RAM, CPU, ...)?

For encoding a single stream, the CPU is what will matter the most. The 
bigger the resolution, the bigger the CPU. The bitrate plays a role too, 
in a more limited way. Anyway, encoding a 720x576 @ 25 fps video will 
need a dual processor ( ~ bi xeon 3 Ghz or more ).

> 3) Is there a max resolution in the x264 encoder?

There is, but it's larger than anything you could encode realtime with 
an existing CPU ( from the top of my head, I'd say 2048x2048 ).

-- 
This is the x264-devel mailing-list
To unsubscribe, go to: http://developers.videolan.org/lists.html



More information about the x264-devel mailing list