Log in

View Full Version : Sugestions for tool i'm making -> How to estimate resolution Vs Bitrate


OvejaNegra
4th January 2010, 20:44
As the title says. I'm making a batch tool for x264. I know there are not absolute values for any source, but sometimes you can have (maybe) an estimated resolution VS bitrate value, so you can estimate how much bitrate you need for a certain resolution.

Yes, i know there are not absolute value for this.
żBut how autoGK does that?
I was reading this:
http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-resolution-bitrate-compute

but it was not too clear for me.

Is there any "general use" method to estimate the bitrate for a given resolution? (or to chose a resolution based on available bitrate)?

I know some people make a compressibility test, to estimate the optimal bitrate for some sources ( i think it's done with constant quantizer) but i don't know how.

Any suggesions
thanks

nurbs
4th January 2010, 21:01
The stuff described in your link is pretty worthless. See here why:
http://forum.doom9.org/showthread.php?p=841511#post841511
http://forum.doom9.org/showthread.php?p=1311212#post1311212


I'm not 100% sure what the going method on compressibility tests is, but you could:

1) Find a CRF value for which you like the quality
As a start look at the range of 20 - 24. Higher number is lower quality.

2) Encode x% of your movie with that CRF value
You can use the avisynth function SelectRangeEvery(2000, 100) for instance to encode 5% of the movie (100 out of every 2000 frames).

3) Look at the resulting bitrate and reduce resolution accordingly, if the bitrate a lot different from your desired bitrate.
As described in the second link I posted there are some problems with that, so it's not as easy as just reducing the number of pixels by the same percentage as the bitrate you want to save, but at least it's a start.

ronnylov
2nd February 2010, 17:22
But also remember that a lower resolution may need a lower CRF value to make it look equally good. This is because when a lower resolution is upscaled to fullscreen on the viewing display then the encoding artifacts will be more visible.
So you may need to redo step 1) "Find a CRF value for which you like the quality" for each lower resolution you test.

OvejaNegra
3rd February 2010, 22:09
Yes, i just realized about that, thanks.