Bitrate and Resolution Guide

First: THERE'S NO IDEAL BITRATE AND OR RESOLUTION!!!!! These settings depend on what you're driving for - high resolution - good image quality, size, etc. 

To make everything crystal clear for you: DivX high motion is crap. It'll look good for action scenes but really crappy in slow scenes - which make out the largest part of any movie - no matter what bitrate you set, so don't you use it. DivX low-motion is supposed to be fixed bitrate, therefore it should be possible to calculate the bitrate you can set. Mind the conditional clauses! DivX is really hard to understand. Here are the facts:

DivX scales despite all logics: That means that DivX depends on the resolution you set!!!!!! Furthermore the final size of your movie depends heavily on the movie you're encoding. There are 2 hour movies spread among only 4 vob files - they will usually be smaller than a 2 hour movie spread over 6 or 7 vob files. But not always. Here's an example: Die Hard Trilogy, about the same length and the same number of vob files - filesize about the same in total. The first 2 had roughly the same size, the 3rd one was considerably larger despite all logics. Also.. the aspect ratio can make a difference but again not necessarily - despite all logics, didn't I tell you? There's even more to it: The amount of action scenes, and the overall luminosity also greatly contribute to the output size. For instance "The Matrix" compresses really well because it is a rather dark movie. So whatever you do don't get on peoples nerves asking about bitrates and resolutions... because nobody can really help you. Why do you think there's no comprehensive working-for-all instructions anywhere to be found on the web? It's because it's simply impossible! To avoid frustration: Forget concerns about filesizes. Just accept that your movie might span over more CDs than you intended - just worry about bitrates and that way you'll get large movies but in kick-ass quality. Quite a good trade-off in my opinion. Other sites might tell you that's possible to calculate the bitrate exactly but that's not true. It might work for some movies - even a lot of movies - but not for all. Therefore I refrain from telling you something that's not true. You really have to find yourself. The following stuff about bitrate are just there to help you out a bit but keep in mind my warning: THERE'S NO WAY TO TELL THE FINAL SIZE BEFORE YOU'VE ACTUALLY CONVERTED THE MOVIE!!!!!!

You can use the bitrate calculator that's on my page in the software section to give you a rough idea about how to set the bitrate. Keep in mind that DivX is kind of VBR (variable bitrate) so if you set the exact value you calculated don't be surprised when the actual size of the movie is quite different. Especially FlaskMpeg has the nasty habit of creating larger files then expected. Therefore ALWAYS set a lower bitrate than calculated. Between 50 and 100kbit/s should do the job. Mpeg2avi is much better at filesizes, the final files are usually as large as they're supposed to be. 

But at the upper end of the bitrate scale the inverse is true: The DivX codec hardly utilizes a bitrate of 5MBit/s for instance. During my test of the Windows Media Encoder 7. I watched the bitrate statistics and they were pretty revealing. Only in very few scenes was the full bitrates used, besides these few peaks a bitrate much lower than 5MBit/s was used.. and the average bitrate of the file was less than half of the set bitrate. 

Yet another thing to consider is the keyframe settings. If you encode at high bitrates (for 2 CDs or more) then you can safely set keyframes each second and you'll have less problem with freeze-frames and fast forwarding. However, if you encode at low bitrates (for 1 CD) you should use a higher keyframe interval, around 5-8seconds per keyframe. Otherwise the quality will get considerably lower. 

You should also consider that the final size depends on the output resolution you chose, despite all logics. Somehow DivX makes better use of the bitrate at a lower resolution. Below you can see the bitrate calculator

Since I'm doing almost only full-res movies I chose a really high bitrate, around 2000kbit/s usually. I noticed that a bitrate below 1700kbit will get you a lot of blockyness in fast moving scenes. The situation is quite different at lower resolutions. Since you might want to put a movie on 1 or 2 CDs you should consider lowering the resolution.

Another issue to keep in mind are the black bars above and below the movie - this applies only to widescreen movies, of course. In most cases it's smart to get rid of them since they only take up a lot of space. Actually it's not the black bars but the distinction between black bars and the actual movie but that's a detail. 

>> BACK



You can try to select one of the profiles included in the mpeg2avi GUI and see what you get. I also suggest you use the preview my Avi button in the mepg2avi GUI, you'll be able to see what the current settings will do to your video.

Here are some general calculation rules. First let's take a look at the output resizer in mpeg2avi or the values you have to use in FlaskMpeg when you decide not to crop the black bars - remember: VERY BAD IDEA! :

16:9 movies: Chose a horizontal resolution for the output video, for instance 640. Then calculate the Y downsizer as follows: 640*9/16=360. If it's not a multiple of 8 round to the closest integer - that will create a small error but nothing too tragic.

4:3 movies: Chose a horizontal resolution for the output video, for instance 512. The calculate the Y downsizer as mentioned before but respecting the aspect ratio of the video, that is : 512*3/4=384.

Or the engineering way: mod8(round(desired_horizontal_resolution/aspect_ratio_flags_of_the_source))=0. For FlaskMpeg you can only use sizes a multiple of 16 so it's mod16(..)=0. Keep in mind that enhanced for 16:9 TVs, enhanced for widescreen TVs, anamorphic widescreen and the likes mean 16:9, fullscreen, 1:1.33, pan&scan or standard edition will mean 4:3 and so does letterboxed widescreen. If you're unsure you can check the Amazon DVD title catalog, they usually have aspect ratio as well as format. 

Now let's take a look at cropping:

1:2.35 movies: Assuming that you want a horizontal output size of 640 you'll calculate the final size of the video as follows: 640/2.35=272.34. Round that to the closest multiple of 8 (16 for FlaskMpeg) will result in 640x272.

1:1.85 movies: Let's take a horizontal output size of 512. That makes a vertical size of 512/1.85=276.75 or rounded 512x272.

Or again as a formula: mod8(round(desired_horizontal_resolution/aspect_ratio_of_the_movie))=0. Again, for FlaskMpeg this rule should be replaced by mod16(..)=0.

Please note the difference between the aspect ratio of a movie and TV format.

There's a bunch of profiles for the mpeg2avi GUI which you can use. If you have a PAL source, simply check PAL instead of the default NTSC - the checkboxes right of the DVD video logo. 

Suggested resolutions:

1:2.35 movies: 720x304, 640x272, 576x248, 512x216, 480x208, 400x168

1:1.85 movies: 720x392, 640x344, 576x312, 512x280, 480x256, 400x216

1:1.33 movies: 720x540, 640x480, 576x432, 512x384, 480x360, 400x300

>> BACK

If you want to make a 1CD movie, you should select a low resolution (640 horizontal is the max), and set the audio bitrate to 96kbit/s if using mp3 or 64kbit/s when using DivX audio- enter those values along with the length of the movie in the calculator and you'll get the bitrate. A bitrate above 1000kbit/s will almost certainly result in a 2 CD copy. Keep in mind that this resolution is rather small - you can get way better quality if you reduce the resolution just slightly - say 640xYYY - and go for 2CDs. Dig this example: 8mm - that's a movie for those who don't know - NTSC at 640x272, 23.976fps in mpeg2avi resulted in a 960mb file. I can add the full ac3 soundtrack to this and put it on 2 CDs and when I reduce my resolution to 640x480 when playing back it's fullscreen without stretching and the sound is awesome.. :)

Resolution in FlaskMpeg

Unfortunately most FlaskMpeg versions today have a serious bug concerning aspect ratios. FlaskMpeg assumes that the source is 1:1 whereas it's always either 4:3 or 16:9. So the output of FlaskMpeg is basically wrong. But with a trick we're going to fix that for DivX output. 

If you want to crop the black bars away you can skip this section and start reading the cropping section directly. 

For FlaskMpeg there's an easier way since it has the Output pad - select Options, then Global Project Options, then click on the Output pad button in the lower left corner. Click Reset settings. Here's a sample of what you'll get:

If you want to keep the black bars for some reason - keep in mind that it's a waste of space, they take quite a lot of the bitrate for nothing - then all you have to do is to reduce the output size using the Width and Height buttons in the Output size section in the Output Pad. FlaskMpeg will automatically respect the resolutions needed for the DivX codec - width and height must be a multiple of 16. 

Use the calculation rules provided above and use the Height and Width buttons in the Output size section to get to that aspect ratio. 

Cropping

First of all press the Reset settings button just to make sure everything is at it's default values. Then reduce the Output size to the desired format using the Width and Height buttons in the Output size section. Forget the 16:9 or 4:3 stuff, you just need the horizontal and vertical resolution. Keep in mind that we're not going to change the "real" aspect ratio - the part of the picture containing the actual movie - right now. You're screen will look like this after this operation:

Note that the picture looks kind of messed up. Clearly we have to stretch the picture again to look normal. So next we're going to click on Crop. From now on, everything that we'll do is going on within the selected boundaries for the screen size. Therefore DON'T touch the Height and Width buttons in the crop section. If you press the Width and Height buttons in the Output size section, you're going to stretch the movie - don't worry that's how it has to be done. Increase the Top offset in the Crop section and the Height in the Output size section till the movie fits the selected screen-size. You'll have to increase Height first and only then can you modify the top offset (that's because all the operations are performed in a centered virtual window which is set once you check Crop). In the end you'll get something like this:

So.. you don't believe me that you have to stretch the picture? Then check out this page - beware, the pictures are huge -  it contains a screenshot taken from the FlaskMpeg player, after having reset all setting in the output pad, and the same scene taken from PowerDVD. You can clearly see that the picture in Flask is squeezed when you don't change any of the settings.

If you're not cropping, you can just change the output size in the FlaskMpeg output options. Keep in mind that in case of an NTSC movie you still have to stretch the movie.

>> BACK

Сайт создан в системе uCoz