Viva la France! Finally we have something worth testing
from Gej and the Project Mayo crew, hurrah! =o). And I think you
will be in for a pleasant surprise. If you haven't yet heard, you
can now download the Project Mayo Codec 4.0 Beta, so get it here
at: DivX.com.
Unfortunately, as with almost every new thing, there
is never enough documentation on it. This guide is designed to get
you started in the new codec. Remember, you found it first on Digital
Digest =o).
UPDATE: The new DivX
4.0 Beta 3 is out. All the bugs I mentioned in previous articles
are fixed. You can now open encoded movies in VirtualDub again.
The layout is slightly changed but the options are basically the
same and easier to understand. You gotta hand it to the Mayoites
they have been very quick with bug fixes and updates!
THE CODEC SETTINGS
Install the codec by double clicking on it and following
the instructions just like with the old codec. Remember this is
just a new codec so it can be used in just about any application
including Flask Mpeg, VirtualDub, Adobe Premiere or whatever you
prefer. Here I am using the DVD2AVI frameserve method found Here.
I select Video > Compression in
VirtualDub and up pops the following dialogue box. Choose the Divx
Codec 4.0 Beta and hit the Configure
button (encircled in red).
Then will appear the following options. I know it
looks really very complex and scary. But don't worry, its much easier
than it appears and, hey, you got me to explain it all to you =o).
Lets take every option one at a time and explain what it is used
for. I have labeled them to make this easier...
THE OPTIONS
(A) 'Variable
bitrate mode'. There are basically three options:
1- Pass:
This used to be called "constant bitrate" but has
been changed to 1-Pass because it sounded confusing. It didn't
really mean constant bitrate since on default settings it
just meant a normal variable bitrate (like the old
DivX low motion codec). The difference between the DivX Low
Motion and this is of course we have much more control over
the quality settings as you will see later.
1-Pass Quality-Based:
When using the 1-pass quality setting every single
frame gets the same bitrate so it is basically constant bitrate
(CBR). Instead of letting us use a bitrate setting (i.e. numbers
in kilobits per second), it uses a quality percent slider
bar (D).
2-Pass, first pass
&
2-Pass, second pass: These two options are part
of the same thing. They allow us to use 2-pass variable bitrate
encoding. In other words, the first pass will examine the
movie and make a log (stats) file with details about how many
parts have high motion scenes and how many parts have low
motion scenes. Then, with this information, it can calculate
the best possible way to compress the movie into the size
you you wish to fit it. Once the log file is made you can
then choose the second pass option and the movie will finally
be compressed based on this information. Please note that
creating this log file takes the same amount of time as actually
compressing the whole movie! Using the 2-pass variable bitrate
option will give you the best possible quality! The price
you have to pay for quality is, of course, the extra time
it takes to make.
(B) 'Performance/quality'.
This sets the amount of time the codec spends looking for the best
way to compress each frame. The 'Slowest' setting takes the longest
and produces the best compression and obviously the 'Fastest' setting
spends the least time and so will make the worst quality and worst
compression. Mayo notes that the fastest quality is really meant
for real time video capture. It appears also that these settings
change the level of softening applied to your movies and perhaps
that is really all they change? The slowest level
has the most anti-noise filter. The slow has almost
the same amount but not used quite as harshly. The medium
appears to be like DivX without an anti-noise filter. Anything below
medium seems to look bad and blocky, so I'd say use medium if keeping
the picture sharp is more vital and slow or slowest for all others.
The differance between slow and slowest is almost none so you may
as well use just slow?
(C) 'Output
video bitstream'. This is where we put the bitrate for the movie
you wish to encode just like we would do with any other of the Divx
codecs. Along with the quantizer setting this option is the only
setting that is really going to make a big difference to the final
filesize and quality of your movie. To enter it you can either type
the number or use the slider bar. I suggest you use a bitrate calculator
to work out the best bitrate for your movie length. You are looking
at between 650-1000 kbps for a single CD movie and between 1300
to 2000 for two CDs.
(D) 'Quality
Based Encoding Parameters'. This is used solely for the '1-Pass
Quality-Based' encoding option that I already explained previously.
If you choose the 1-pass option this slider bar will be the only
option you will be allowed to set. The quality will be constant
for every frame making 1-pass encoding useful for making master
copies that can be stored and edited later. At its default setting
of 85% it will encode at about 780kbps constant bitrate (CBR). Just
moving it a little bit more or less will make huge changes to the
quality and filesize. I think 95% gives a good quality compression
and you will end up with a movie usually under 2GB in size.
Note:
This slider bar has changed position and is now found on the lower
right side of the selection box.
(E) 'Maximum
key frame interval'. If you are not sure what a keyframe is
check my guide Here. In a movie a scene
change is described as when the camera switches from one person
to the next. This produces a huge change in the picture. Since Mpeg
compression is based on only saving the differences between two
frames, if the next frame in the sequence is a completely different
one from the last (as is the case for almost every scene change)
then it is better to start each scene with a whole keyframe rather
than one built out of blocks. And, since all the frames after the
first one of a new scene are based on the first, they will all appear
slightly better quality as a result of the correctly placed keyframe.
In movies the average time between each keyframe is between 2 and
8 seconds. The Divx 4.0 codec is like Nandub in that it automatically
inserts keyframes at scene changes. But no keyframe detection method
is fool proof. So this 'Maximum key frame interval' option is built
in for safety. All it does is put a keyframe if none are detected
after the amount of frames you choose here. It is set at a default
to inserting a keyframe once every 300 frames. This is basically
the same as one keyframe every 10 seconds. I always leave this setting
at default because I see no big reason to change it.
(F) 'Default
decoder postprocessing level'. This is basically the same as
the CPU setting in the old Divx 3.11 codec. But this time Mayo have
allowed us to choose the default level. This setting has nothing
to do with encoding quality, it only affects the default
playback setting used in Media Player (or the official Playa). These
settings can be changed manually by right-clicking in Media Player.
The reason Media Player allows various CPU / Postprocessing options
is because the faster your computer the better quality Media Player
can play the movie. If you have a very fast computer you can set
a default playback setting that includes both de-blocking and de-ringing
filters. But what are these you ask?
Blocking (macroblock artifacts)
After the De-blocking Filter
As you can see above the biggest problem with any
mpeg encoding is the macroblocks (blocking). The deblocking filter
tries to blur the edges of these squares and make them blend together.
Its a very very hard thing to do and is not always perfect. Some
people prefer not to use the filter at all since it blurs the image
somewhat, others have no choice since the CPU power of their machine
is not enough.
Ringing (edge artifacts)
After the De-ringing Filter
The Ringing artifacts are little bright glitches found
around the sharp edges of a movie (hence they are more noticeable
in cartoons). This is a result of the compression and is only really
noticeable at low bitrates.
Regardless of what these filters do, both of them
are used at the same time so we cannot turn individual ones on or
off. But if we set the postprocessing level to 0 it will use no
filters. An Mpeg file is basically a black and white movie with
solid blocks of colour painted over the top! The black and white
image will show most of the artifacts since the human eye cannot
detect quick changes in colour as easily as it can shade. If we
use setting 1, 2 and 3 it will use various quick 'n' dirty deblocking
and deringing filters that only effect the shades and not the colour.
If we go as high as settings 4, 5 and 6 the filters will effect
all the colour parts too. Most people will find that their computer
power will only allow them to use setting 1 or 2 otherwise the movie
playback will not be very smooth. I usually use a default setting
of 2 but just decide what you feel is best for you.
Now, back to the other settings:
(G) 'Max CPU
usage'. This has absolutely nothing to do with video quality.
If you are worried that the codec is not taking advantage of the
full speed of your computer you can check this box. It will try
to make sure that all CPU power has been devoted to encoding. If
you check this you will probably have problems running any other
program while you are encoding (or they will just run quite slow).
Deinterlace
To the right of the CPU setting we are given the option
to deinterlace our movie. To do this just make sure the deinterlace
checkbox is ticked. As you know from my previous articles Found
Here it isn't an easy task to solve interlace problem when they
appear. Basically an interlace problem is when the original DVD
looks like the picture below on the right.
The reason it looks like this is because the fields have been mixed
up; part of two different frames are displayed weaved together!
Mayo have tried to be kind to us and help solve this problem. Unfortunately
their solution probably produces the worst results of any of the
deinterlacers I've seen so far. As you can see from the above picture
on the left, the Mayo deinterlacer appears to be a threshold based
deinterlacer set at about 15%. This makes the final image contain
a lot of ghosting. Did you also notice the gaps in the picture?
I have no idea what caused them but I'm guessing its some kind of
bug in the program. This problem has not been fixed in the latest
version yet.
In short, I suggest you use either AVISynth
or one of VirtualDub's Deinterlacers on your movie first, and always
keep the Mayo one turned off! Of course you should never ever use
a deinterlacer unless you have the above problem. I noticed that
some people suggest that using it makes the final DivX movie smaller.
Please don't do it for this reason! Yes, the movie is sometimes
smaller but this is only because the deinterlacer blurs the image
and makes compression easier. If you must blur your movie just use
a VirtualDub noise or blur filter.
(H) 'Maximum quantizer &
Minimum quantizer'. These offer the most control over the final
file size and quality (at least when it comes to using the 1-pass
option). I'm not joking! If you set the bitrate setting of your
movie at just 1 kbps it can still go over sized if you set the quantizers
wrong and vice-versa, even at 6000 kbps you can have a seriously
undersized movie! So what exactly do these settings do? These quantized
values represent the compression levels the codec is trying to use
on both fast motion and low motion scenes. Those who use Nandub
will recognise these options as working in a similar way to its
DRF compression levels. The lower the quantization setting the less
compression will be used and the larger your movie will end up!
Remember this rule, always!
To clarify further, to have a very highly compressed movie
you want both the max and min quantizers set as high as you can
get away with. The Mayo default settings are a pretty good all round
settings that work quite well, but if you want better quality you
do the following:
Minimum quantizer:
If you start encoding a movie and notice the low motion scenes look
blocky then you can try lowering the minimum quantizer (for less
compression). Obviously this will take up more memory but you have
to get a good balance. Its default value of 2 is good quality but
you may wish to increase the compression level to between 4-5 for
a single CD movie because its perhaps a bit too high.
Maximum quantizer:
If you start encoding a movie and find that the fast motion
(action) scenes go really blocky, then try lowering the maximum
quantizer (for less compression). Again this will increase the amount
of memory the movie will take. The default setting is 12 but this
is not enough for me, I like my action scenes clear. I suggest you
play about with lower settings of between 6-8 for better quality
in single CD movies. Be careful with the max quantizer setting it
can eat up memory really quickly and give you an oversized movie.
Obviously lowering both quantizer settings will make the movie
larger so get the balance so you don't go oversized. Get the balance
so both low motion scenes and high motion scenes encode well. It
is possible to get almost perfect constant bitrate by setting both
the max and min quantizer to the same number. But this will not
give best quality if you need to fit a movie on a CD. The only advantage
would be that the final filesize will be much more predictable.
Since I am pushing the DVD2AVI method of encoding I suggest you
set the quantizers quite high. Then find some parts of the movie
with action and do a few 30-60 second tests to see what they looks
like. Lower the max value until you cannot hardly notice the blocks.
Again find a low motion scene where people are just speaking or
something and lower the value until you cannot hardly notice any
blocks. You may find that you do not need to use the very slow 2-pass
encode option for super quality if you do it this way.
In case any of you missed it, the DivX 4.0 codec is basically letting
us do what we did with MakeFilm. It lets us set both the max and
minimum compression values for our movies. With MakeFilm we needed
to encode a separate low motion and high motion movie. The new Mayo
codec does it all for us in one go and a lot faster may I add. This
option is what I've been asking for since I first started using
DivX. Now that we have it neither Makefilm, FairUse, AVIRevolution
nor DivXProject will do! Divx 4.0 has only one real contender when
it comes to great options and that's Nandub the SBC encoder! One
final note, the Max and Min quantizers do effect the
2 pass encoding quality and filesize (but not as drastically as
the 1-pass), so choose your settings wisely!
(I) 'Rate control averaging
period, frames'. This controls how many frames are used
for determining how the bitrate should be averaged out. The default
setting of 2000 seems to work fine in most cases. Mayo say increasing
this number should also increase the quality control, so experiment
a little.
(J) 'Rate control reaction
period, frames'. This seems to control a balance between
high motion and low motion quality (although I'm not exactly sure
of the process they are using). The default value of 20 seems to
be fine for most movies. If you increase this number it will tend
to favour high motion scenes making them look a bit better. But
increasing this number may also make the low motion scenes look
worse so a balance must be found.
(K) 'Rate control down/up
reaction '. This controls the motion detection sensitivity.
The higher the number we put the more sensitive to motion the codec
will be. So if we set it very high it will think almost every scene
is an action scene and increase the bitrate to keep high quality.
Unfortunately this can increase the size of the movie too. The default
value of 20 seems fine.
(L) 'Log file'.
This is where the information from the 2-pass encoding is stored.
You can rename it or use ones created by other people. You have
to remember that when you are doing 2-pass encoding to keep the
same video resolution and settings on the second pass as you did
on the first.
(M) 'Frame Dropping'.
This used to be called crispiness but was not the same as the crispiness
/ smoothness settings of the old DivX codec so they changed the
name to make it less confusing! The 'Frame Dropping' option only
works with 2-pass variable bitrate encoding, it controls how many
dropped frames you will get in your movie. A Frame Dropping setting
of 0 produces no dropped frames. The higher the crispiness setting
the more frames will be dropped. Although this frame dropping saves
a lot of memory if it is set too high the movie playback will tend
to look slightly jerky. The reason frame dropping only works on
2-pass encoding is because the Mayo DivX codec uses the log file
to find places in your movie that it can best drop frames and not
be noticed very much, such as very low motion scenes. Frame dropping
is not the evil no no but probably just not needed for CD movies.
Note: Previously the Frame Dropping option
was called crispiness even though it change the picture sharpness
like the original DivX 3.11 codec. But this is not as strange
as it may first appear. Dropping frames was a special feature
that was added to the DivX codec to save memory on low bitrate
movies. The old DivX codec used to base its frame dropping
on the crispiness / smoothness settings of the movie. The
smoothness and crispiness settings seemed to effect some kind
of pre-filter that was designed to soften noise in the picture.
The softer the picture the better it would compress and vice
versa. Since the old DivX codec would encode each movie in
small sections at a time (each containing only so many blocks),
if the picture was too clear and sharp it would 'drop' frames
to compensate and fit the movie into the block size. In
effect using a high crispiness setting would produce a sharp
picture but a jerky playback, while having a high smoothness
setting would produce a smooth playback but a softer picture.
CAN YOU TELL THE DIFFERNCE?
Is the Microsofts DivX 3.11 hack better or worse than
the new DivX 4.0 codec, or is there a difference? To test this I
decided to compare using the quality settings. Bitrate was not an
issue here since I used the highest bitrate I could without worrying
if the final movie would take many gigabytes or not. The following
are three screenshots:
The first is the SBC version compressed version (I
used SBC to create the best quality DivX since I could control the
DRF settings to force the highest quality of the codec). The second
is the original DVD, which is always needed with any test since
we can only judge something in comparsion to its original. And on
the right is the highest setting the Mayo DivX 4.0 codec could make.
Note: Its always a good idea to have the brightness
on your computer screen turned up a little too high to examine
any picture. There are whole procedures for getting the correct
gamma balance and screen blackness etc., perfect, and I may
explain this in the appendix at some time in the future for
those who are interested in getting the best out of their PC
monitor setup. But these extremes are only really needed for
photo editing. Adobe Photoshop has a built in gamma correction
wizard that helps to automate this a little.
At this point you may be interested to know that my good friend
Doom9 has done some SBC & DivX 4.0 picture comparisons for you
to check out Here.
I'd say a high percentage of you would, at first glance,
think the Mayo codec is the better one. Either way I'm sure you'd
agree that it is hard to tell any difference between the two especially
if you have a small or old PC monitor. Notice too the hair and the
skin-tones on the cheeks. Its obvious that the Mayo codec is using
a anti-noise filter, it actually looks very simular (or maybe is
the same as) the smoothness setting of the DivX 3.11 codec set to
1, or perhaps even stronger. Personally I see nothing wrong with
this, and in some cases they are saving over a megabyte of data
every minute of video by compressing this way. I'm not going to
put Mayo down for doing it, I'd probably do exactly the same thing,
it even helps prevent macroblocks better! Perhaps some would prefer
a sharpness (anti-noise) option built into the codec. But everyone
would just set it to the best sharpest setting and ruin their movies,
so I see the wisdom in leaving such an option out.
But saying that, probably soley from the fact that
it doesn't have an anti-noise filter, the SBC version produced the
closest match to the original DVD. The Mayo DivX 4.0 codec is only
very slightly smoother and shows a tiny bit more contrast.
If the DivX 4.0 Performance/quality setting is set to medium instead
of slow it seems to turn off the anti-noise devices and looks about
the same as SBC or maybe very very slightly worse.
As for colour matching, the old Mayo codec didn't
score very highly but this new version has almost perfect colour
matching like the original DivX codec had. In fact, if I didn't
know better I'd say Gej just re-hacked the old one again, added
a few filters and and gave it Nandub-like options =o)..lol
ALL THOSE WEIRD BITS!
To many Nandub SBC and DivX 4.0 settings remain a
puzzling array of switches, lights and knobs! Of course I have written
guides on how to use both of these applications. But I didn't show
many picture examples in them, I hope to correct that now and perhaps
you'll understand their working better because of it. You see, the
reason both SBC and the Mayo codec give so simular results is because
they use almost exactly the same methods to encode. If we disregard
all the very minor extra settings given for those who like to twidle
with things, and which make very little or no difference to the
final outcome of a movie, we are left with basically three settings
to play with on either codec; these are: bitrate, 2-pass encoding
and Quantizers.
What is Bitrate?
There are two kinds of bitrate setting used on video
compression: Constant Bitrate (CBR) and Variable Bitrate (VBR).
Constant Bitrate: represents how much memory
per second a codec will use to encode a movie. Obviously, the higher
the bitrate the better the picture quality. Say, for example, one
second of video was 25 frames. If I set a bitrate of 1000 Kilobits
per Second (kbps) and encode 1 second, each frame would use 40 Kilobits
of memory each. If I used a bitrate of 2000 kbps each picture could
use 80 Kilobits. Obviously an 80 kilobit frame will look much better
than a 40 kilobit frame.
Notice too that it doesn't matter what resolutions
we use! Lets say we encoded one second of video at 1000 kbps at
a resolution of 352 x 288 pixels - the final filesize would be exactly
1000 kilobytes! Again, if we encoded one second of video at 1000
kbps, but this time we use a cinema resolution of 5000 x 5000 pixels;
the final movie clip would still only be 1000 kilobytes in
size! I know it sounds strange, but we set only '1000 kilobits'
for one second of video and that is all it will use!
Variable Bitrate:sets its own bitrate
in accordance with the movie. To illustrate, mpeg compresion works
basically by saving only the differences between sequances of frames.
In non-action scenes there are very few differences between frames.
Hence, if the total amount of differences are "small"
the kilobits needed to store them will also be small. On the other
hand, if there are lots of differences between frames it will take
"lots" of kilobits to store them.
What is 2-Pass encoding?
Both Nandub SBC and DivX 4.0 can be set to use this
2-pass encoding feature. Basically it encodes the whole movie in
one pass (1-pass) at the highest quality. It looks at where the
variable bitrate has gone higher to compensate for action scenes
and also notes where the bitrate has gone lower for low motion scenes.
It keeps this information in a binary file which SBC calls a 'Stats'
file and which DivX 4.0 calls a 'Log' file. Now that it knows where
in the movie it must increase and decrease the bitrate to achive
best quality, it can encode the movie at a very low bitrate and
make sure the scenes that need it the most get more bitrate and
scenes that need it the least get less bitrate. This method is the
most efficent way of compressing any video into the smallest size.
But we do not really have much control over either
of these settings because you either have 2-pass or not and you
must always set the bitrate at such a level that it makes your movie
fit in the size you want it! So what's next...
What are Quantizer settings?
In short, quantizer settings let you choose the maximum
and minimum quality for your video. This is probably the best thing
anyone has ever thought up yet. Variable bitrate movies can basically
be broken down into two types of scene, they are, as already mentioned,
fast motion and low motion scenes. The quantizer settings let you
choose what quality you want your low motion scenes and what quality
you want your fast motion scenes. For example, here is a low motion
scene encoded with various minimum quantizer levels:
As you would expect the lower the quantizer number
the lower the compression, and the lower the compression, the larger
your movie will end up...but better quality of course. The above
examples are the DivX 4.0 codecs quantizer settings. As you can
see the quality remains quite good upto setting 4 and after that
degrades quite a lot. Both Nandub and the DivX 4.0 codec have about
30 levels of quantizer but by the time you get to about 16 you are
destroying the quality of your movie far too much. Although higher
levels are acceptable for very small video's or streaming internet
video, for CD-ROM videos its pointless going higher than about 16x
compression.
The Nanbub SBC encoding call's its quantizer settings
DRF values. These work exactly the same except it appears that they
change quality a little faster or perhaps this is just due to the
fact they don't have that built in noise-reduction.
Using Quantizer Settings
Since a low motion scene would take a different amounts
of bitrate from a fast motion scene the best quality compression
can be achived by setting the max and min levels differently such
as Max 8 Min 2. Getting a good ratio is not really that hard to
do because only a couple of settings seem to produce good results.
Strangely enough the setting that appears to give the best quality
to size ratio for the DivX 4.0 codec is actually min 2 max 12! Yep,
its also the default setting for the codec. It appears that Mayo
have been doing a lot of testing or perhaps it just luck that they
set that as default?!
Even though 2-16 has one of the best size to quality
ratio's the quality of the picture is still quite low with these
settings. For the Minimum Qunatizer setting I found that a setting
of 2 or 3 were the only choices to make. There is really no need
to use any other Minimum setting for a CD-ROM movie. For the Maximum
Quantizer I found that between 4 and 8 were the only realistic settings
I could find to produce a good quality video. At a level of 4 most
action scenes will have very few blocks but in some very heavy action
scenes I just couldn't get rid of those blocks at all until I set
the max quantizer to 2!
One important thing to remember is that the max and
min DRF (or Quantizer) options will still significantly effect the
quality of the video even if you are using 2-pass encoding. And
this applies to both the DivX 4.0 and Nandub methods of encoding!
With the 2-pass encoding it will try to keep to the quantizer level
whenever possible, but is also allowed to override them in order
to fit the movie into a set size. However, if the quantizers are
used without the 2-pass encoding option the size will be almost
solely governed by the quantizer settings and may end up much larger
or smaller than you intended.
In many cases I may just use a slightly higher quantizer
setting if I am doing 2-pass encoding since it tends to go undersized
otherwise. So where I would usually use a setting like: min 2 and
max 8 for a movie on 1-pass, I may alter it to something like: min
2 max 4 to help give it that extra boost.
THE FAIR WAY TO COMPARE!
Everyone is comparing bitrates! But the whole concept
of comparing movie quality based soley on bitrate has become a rather
unreliable method of comparision. For example, as you all know the
old Fast Motion DivX codec did better on action scenes while the
Low Motion codec did better on non-action scenes. Comparing the
quality of these two codecs based on bitrate would have been useless!
For example, lets say you want to encode a 130 minute movie to DivX.
If you set the old Fast Motion codec to 6000kbps you would end up
with a movie that was between 700-800MB in size. If, however, you
set the old Low Motion codec to 6000kbps you would end up with a
movie that was about 4 gigabytes or more!
The increased quality that can be produced by such
methods as: MakeFilm, AVIRevolution, ProjectDivX, FairUse, Vidomi
and Nandub SBC encoding have all been based on careful control over
the DivX 3.11 codec. They all used exactly the same codec but they
were designed to change the bitrate (and other settings) at certain
parts of the movie to find the best way to compress each scene better.
To illustrate what I mean, lets say I used the old DivX Low Motion
codec to encode an action scene with a bitrate of 800kbps. Then
I use Nandub SBC to encode the same clip with 2-pass encoding (all
the best settings) and a bitrate of exactly the same. When I compare
the SBC version to the DivX 3.11 version I am amazed. Wow! Even
at 800kbps the quality of SBC is easily twice as good! But here
is where I would make my biggest mistake. When I compare the filesize
of the SBC movie to the DivX 3.11 movie I find that the SBC movie
is also twice the size! So much for the bitrate comparison method!
In my SBC vs Low Motion DivX 3.11 illustration the
Low Motion codec would produce a movie clip of roughly 8MB but the
SBC movie ended up 14MB. When I then increased the Low Motion codecs
bitrate to 1020kbps the movie ended up 14MB give or take a few kilobytes.
Was the quality as good as SBC? Yes, just about, there was a slight
difference but unless you strain really hard you wouldn't really
notice it.
In short, to make any comparison test fair we are
forced to compare movie clips that have almost exactly the same
filesize as each other. Since all DivX movies are variable bitrate,
in other words their filesizes change depending on how much action
is in them, it is very very hard to encode one movie with SBC and
another with the Mayo DivX 4.0 codec so they are equal. On the face
of it it may not seem such a big deal. I mean if I encode a 60 second
test clip in SBC and it ends up 6,300KB what does it matter that
the same clip encoded with the Mayo's DivX 4.0 codec ended up 6,800KB.
Well, even with such small differnces as these a two hour movie
with SBC could end up 60MB smaller then the DivX 4.0! Then if I
were to say 'look the DivX 4.0 looks better than the SBC one at
the same bitrate', when in fact one was 60MB larger than the other,
you'd say I was plain crazy!
This is the problem with which I have had to fight.
Whenever I compate quality I always take into account final filesize.
In some cases this requires that I cheat a little by boosting or
lessening the bitrate (or other settings) to make sure the final
size was almost the same. Of course with SBC vs DivX 4.0 the real
issue is not the final filesize generated but how well the codecs
are able to make use of that avalable space to produce a quality
picture. And obviously we cannot see how well each method makes
use of the space unless we compare two video clips that take up
the same amount of space. Since our goal is always to produce the
best quality movie that will fit onto a single 650MB CD or two 650MB
CD's then we are looking at comparing video clips that are between
5.5MB and 11MB per 60 seconds of video. Hence all tests I do are
been designed to make the best quality videos that would fit into
these size brackets. I suggest if you do your own comparision tests
(as many have) that you follow this advice too.
PROBLEMS, BUGS, RANTS ETC...
Here are some of my opinions on the whole encoding playing issues
of the Divx 4.0 Beta.
1. Although Mayo have offered us some really great options for
encoding our movies with the Divx 4.0 codec, there is still no way
to guarantee an exact filesize, we can still very often get an over
or undersized movie. The bitrate doesn't really seem to have a great
deal of control over the final filesize of the movie since the quantizers
are doing most of the work. I know its almost impossible to keep
to an exact filesize using a any single pass encode, but with 2-pass
encoding it should be possible even though it hasn't reached that
standard yet. Admittedly Nandub and most of the other methods have
had this very same problem. I like the fact that they are letting
us have more control over the codec though (like Nandub does) so
that is good. Perhaps a simpler layout should be offered for the
newbies with a separate button saying 'Advanced...' that would takes
us to the nonessential extra options. I'll have to write an article
on user friendliness on GUI's which is strangely enough another
subject I've been studying 8o\.
2. As I have already said, the deinterlacing looks really bad.
I hope that later versions will offer better results. A Bob deinterlacer
or one that can get the correct field order would be great (VirtualDub's
Telecide filter is also a good choice). A threshold based deinterlacer
can be added but I don't much like them anyway, I think they completely
destroy the picture! An IVTC option would also be great (perhaps
with an additional feature for choosing framerates?). But all this
is really just for solving the same interlace problems anyway.
3. The DivX Playa itself (not the codec) is still a cumbersome
thing and I don't really like the way it works. It doesn't like
to seek to places very well and will often jam up or not let you
stop the movie from playing. None of these problems appear in Media
Player. It does have some nice features though, such as subtitles
and skins that look like they will be good for the future.
So what would I like to see in the next version of the Mayo Divx
4.0 codec? Well, all of the above really! The most important thing
is to get some better control over final filesize. Once they have
this problem licked they are golden and I will kiss their feet and
call it ice-cream. Next is speed, we can never have enough speed
so that's always the next on the list, but they know that anyway.
I'm greedy when it comes to features so I could make up features
all day long, but that's just making more work for them, eh =o)
Uh, okay, I'll add some more things that I personally would like
to have but that are not really needed. For example, what about
an option to add author details to the movie? Also perhaps a plug-in
feature that allows us to use VirtualDub filters in the codec? That
would solve noise reduction, interlacing, adding logo's, adding
subtitles and a whole bunch of other common video problems. At the
moment Mayo offer no DivX audio as part of their codec. The old
3.11 alpha used a hacked WMA audio. Perhaps Mayo should bundle the
Ogg's Vorbis ACM codec or something? Vorbis is a true open source
codec and produces great quality audio. In fact at medium bitrates
of around 128 kbps Vorbis compression to quality ratio is better
than MP3! Of course Vorbis is not very well supported yet.
Note: Ogg is the name of the project developing the Vorbis compression.
The compression is actually called "Vorbis" compression.
We don't call MP3 Fraunhofer compression so stop calling
Vorbis compression Ogg, it's annoying =oP.
Yes, I think I have almost been completely converted to the evil
cult of the Mayoites.
The Advantages of using the Mayo DivX
codec
1. Completely free and legal DivX codec to
use for the home user. As you know the 3.11 alpha version was
hacked from Microsoft's ASF codec. Mayo may not allow business
to use the codec without paying some kind of licensing fee but
its free to the common user.
2. It has a full 2-pass variable
bitrate encoding scheme that can be applied to any popular video
editing package without the need to frameserve or hack anything.
Almost like Nandub in a box.
The Disadvantages of using the Mayo DivX
codec
1. eh? where?!
CONCLUSION
So which DivX encoding method is the best to use? Is this new codec
able to compete with the ever popular Nandub and AVIRevolutions
of the world? I'm now sure the answer is yes!!
THE FUTURE IS DIGITAL!
The future of video and audio is definately in internet downloadable
movies and music videos. I know this will soon be a fact even though
it has been opposed by the movie industry! There is a lot of crap
going around at the moment about copyright laws and who has the
right to make and sell downloadable movies. When video tapes were
invented the movie industry went mad trying to outlaw them. They
now embrace them as their major source of income. The same will
apply to internet videos. Mpeg-4 and DivX appear to be the winners
when it comes to a low bandwidth internet video solution. If you
are looking for the next big business to invest in I'm sure we will
see internet videos make millions very quickly in the next few years
and then later billions. The battle has begun for who will control
this market. This is what these large corporations are really concerned
about. It is certainly not a fear of piracy that drives them as
they may have fooled you into believing!
All that aside, I would personally consider any low bitrate format
such as DivX or QuickTime merely as stepping stones to this future
of internet video. TV and cable stations already use MPEG compression
to lower bandwidth. And I'm sure that in a few years there will
be little or no difference between the internet and the TV. People
will be buying entertainment systems that have internet and TV built
in as standard. Internet movies will soon replace cable and other
pay-per-view movie solutions. The only thing hampering this at the
moment is the bandwidth problems. As cable technology grows so will
bandwidth speeds. Only a few years ago it would have taken weeks
to download a DivX movie. Nowadays broadband internet connections
can download the movies faster than we can watch them! A time will
come when speeds get so fast that DivX, QuickTime or any low bitrate
compression will not even be needed. In the meantime DivX has proved
itself as the format of choice for this exciting time ahead of us!
I say f*ck QuickTime and that spyware application Real Player!
Please don't use them....lets stick to DivX Mpeg-4 shall we?!
Disclaimer: The information written in this
article is my personal opinion. To the best of my knowledge everything
contained in it is true. If you believe otherwise I suggest you
research it for yourself. I reserve the right to free speech and
to voice my opinion.
Duplication of links or content is strictly
prohibited. (C) NICKY PAGE 2000