Since we started our epic work
from testing audio compression performance it would be logical to expand
it with video compression tests. The number of video compression formats
(at least, popular ones) is much greater compared to audio, the number
of various codecs and software packages is unimaginable, and the video
compression process is much more resource hungry. Even if we need to
compress 5-10 minutes at acceptable quality and with the acceptable
results it might take several hours even on the most powerful CPUs!
That is why we continue the series of open techniques started with audio
formats; today we will speak about video compression.
We selected the following codecs and software for complex testing of
performance of modern x86 processors in compressing video on the software
here:
Attention! The description of the test technique can
be altered with the release of a new or updated version of the test packet.
This page is not static and can be updated at any moment.
Formats, codecs, and software
-
DivX 5.1.1 Pro MPEG4 codec
-
XviD MPEG4 codec
-
Windows
Media Video 9 Series
-
Mainconcept MPEG
Encoder (for MPEG1/2 encoding)
-
Canopus
ProCoder (for MPEG1/2 encoding)
-
VirtualDubMod video file
processing software
Test technique and encoding options
There are actually two groups of people who encode video at home: rippers
and amateur producers. And we offer two groups of tests respectively.
Rippers usually convert movies from original DVDs into MPEG4 CDs or
Video CDs. High-quality content can be obtained only with 2-3 such discs.
The tests of DivX, XviD and MPEG1 formats are meant exactly for them. For
these tests we used MPEG2 (standard for DVD movies) as it's of the most
interest for such users. However, we couldn't use the original DVD content
because we couldn't make it downloadable and you can hardly find it on
the web. That is why we have taken a small and available free of charge
Bend
It Like Beckham trailer. It was renamed into TEST.MPG and used
as a source file for encoding into DivX, XviD, MPEG1 and WMV9 formats.
The second group includes amateur producers who compress video content
from their digital cameras. Quality is much more important in this case,
and a 3-minute clip can take 100 MB. Usually they use the good old MPEG2
format instead of state-of-the-art DivX or XviD or alike. So, we used two
most popular MPEG2 coders: Mainconcept MPEG Encoder and Canopus ProCoder.
Options also fundamentally differ from ripper tests (quality outweighs
size!). The source is also different - this is an original clip from a
DV camera with scenes being difficult for MPEG2 coders (flowing water,
etc.), abrupt change of views and other content untypical for the "noble
DVD".
So, we have a suite of 8 subtests with two test sources:
-
MPG (MPEG2) into DivX
-
MPG (MPEG2) into XviD
-
MPG (MPEG2) into Windows Media Video 9 (WMV)
-
MPG (MPEG2) into MPEG1 with Mainconcept MPEG Encoder
-
AVI (DV) into MPEG2 with Mainconcept MPEG Encoder
-
AVI (DV) into MPEG2 with Canopus ProCoder
In all cases we used two-pass VBR encoding because the single-pass encoding
is considered to be insufficient and it's very rarely used in real life.
In the ripper tests we also preliminarily resized the image (Resize, 720x388
--> 640x346) and deinterlaced it. When a given codec could do itself, we
let it do it, otherwise we used the VirtualDubMod filter. Audio stream
parallel encoding wasn't fulfilled.
Settings of the respective codecs and software can be found on the following
pages (note that they are filled with screenshots, sometimes very weighty):
- DivX settings (changed
on 11.12.2003)
- XviD settings (changed on 11.12.2003)
- Windows Media Video 9 VCM Codec settings (changed
on 11.12.2003)
- Mainconcept MPEG Encoder (MPEG1/MPEG2) settings (changed
on 11.12.2003)
- Canopus ProCoder (MPEG2) settings (changed on 11.12.2003)
Test packet and script
Software and files not included into the test packet
-
DivX 5.1.1 Pro MPEG4 codec. The
test packet must support both versions - both payware and
AdWare.
The packet worked well, at least in our case. Undoubtedly, it's necessary
to install the DivX to make the DivX encoding test work. No more external
software is needed.
-
Freeware XviD MPEG4 codec. There's a
great deal of its variations and compilations but we chose the latest version
1.0 beta 2 from Koepi.
It's necessary to install the XviD to make it encode into XviD. No more
external software is needed. The XviD codec is free of charge. Attention!
The test technique v1.0 used another XviD version!
-
Windows
Media Video 9 VCM (Video Compression Manager) Codec. Although the VCM
codec fulfills the same functions as the Windows
Media Encoder 9 it can't be considered its pure alternative. First
of all, the Windows Media Encoder is not only a codec, - it also covers
a shell and encoding utilities. The VCM version is a pure codec, without
a shell, and it requires an external program (we use the VirtualDubMod).
Secondly (the key advantage of the VCM), after installation of the Windows
Media Encoder 9 the Windows Media Video codec is not available anymore
for external programs, i.e. encoding into this format is possible only
in the Windows Media Encoder 9. Besides, the Windows Media Encoder doesn't
support such simple operations as resize and deinterlace. As a result,
the Windows Media Video 9 VCM looks a more universal option (though it
works slower). Installation of the WMV 9 VCM is required for testing the
Windows Media Video encoding. No more external software is required for
this test. The Windows Media Video 9 VCM is available free of charge (though
it works only under the Windows which is not free :).
-
Mainconcept MPEG
Encoder - shell and MPEG1/2 codec. This is an advanced product with
a lot of options of quality/speed/compression degree, presets for most
frequent cases (like Video CD, SVCD, DVD, etc). Also, this encoder is widely
optimized: it supports MMX, 3DNow!, SSE, SSE2 SIMD instructions and can
split encoding into several streams (it potentially provides performance
growth with Hyper-Threading enabled or in case of several physical CPUs
in the system). Mainconcept MPEG Encoder is necessary for testing MPEG1
encoding and MPEG2 encoding (those two tests which were carried out with
its help). The nnCron Automation Manager is not be installed (see further
about it). The Mainconcept MPEG Encoder is not free but there's a demo
version available. The installation packet is the same, you just need to
enter DEMO instead of the key (and press Ignore). The demo version adds
a logo to video encoded. It doesn't affect performance, at least we didn't
notice the difference. Before downloading
the installation packet from the company's site you will be asked to
enter certain information about yourself.
-
Canopus
ProCoder. MPEG1/2 encoding software. It's considered that it provides
the best result though it's not that speedy. We couldn't find any information
about instruction support but it does support SMP systems (2 physical CPUs
and Hyper-Threading). There are also presets and various additional encoding
options (but fewer than in the Mainconcept MPEG Encoder). The Canopus ProCoder
is necessary for two tests of MPEG2 encoding. At present the test packet
supports only the demo version named Canopus ProCoder Demo. You can download
it from the manufacturer's
site, but before that you will need to register and get your own account
and a password. The chargeable version of the Canopus ProCoder wasn't added
yet to the test packet (only the demo one because the Canopus ProCoder
is not cheap - $499). It's also necessary to install the nnCron Automation
Manager and Apple QuickTime for testing the MPEG2 encoding with this software
suite (see below).
-
Apple QuickTime. This packet
is also well known and needs no recommendations. It's necessary for
the Canopus ProCoder [Demo]. Freeware. Available from Apple's
site.
-
nnCron Automation Manager.
We use the nnCron exceptionally as an Automation Manager. But it's also
a perfect scheduler and programming medium with the Fort-like support.
This is a useful and interesting program, especially for small-office automation,
and we are grateful to its developers (especially because they made some
changes to satisfy our testing needs). nnCron is available free
of change for certain categories of people. But it doesn't refer to
mass media and other commercial organizations (we have bought it).
-
The test packet doesn't include the sources to be encoded - TEST.MPG
(for compression into DivX/XviD/WMV9/MPEG1) and TEST.AVI (for compression
into MPEG2). Attention! The test technique 1.0
worked with a different set of source files! So, we used a trailer
(MPEG2 DVD file) and an AVI file from the DV digital camera. They are not
included into the test packet because of their size. The MPG file is 33.2
MB (34822144 bytes), lasts 1 min. 35 sec, 720x576 pixels (Bend
It Like Beckham trailer). The AVI file is 636 MB (667794940 bytes),
2 min. 55 sec., 720x576 pixels (amateur shooting, it was provided by Mikhail
Afanasenkov, participant of the IXBT.COM forum). It's still unclear
where it's possible to provide it for download (I hope the outcome will
be positive). TEST.MPG is needed for testing compression into DivX/XviD/WMV9/MPEG1,
and TEST.AVI for testing MPEG2. The files are to be in the benchmark
root directory (in the folder with !video.bat). The test packet
can be used with any files - it's the content type which is important,
not the content itself. It's also clear that you can use not only the source
DV file for testing MPEG2 encoding, and not only a MPEG2/DVD file for testing
DivX encoding. However, we are not going to change the source file formats
because the benchmark would turn into a pure synthetic test.
-
VirtualDubMod freeware for video encoding and editing is included into
the test packet, but only as a brief version which is required for test
procedures (without help and some other files).
Test script operation
The test script must work on any PC running under the Windows 2000 or XP
(probably it will also work on later Windows versions like Windows Server
2003). First of all you should install the software needed (see above what
programs are needed for what tests) and record TEST.MPG and TEST.AVI
source files into the root directory. You can use any files of the respective
format. You will also need Disc C: in your system and some free
space on it (reserve space equal to TEST.AVI size just in case).
The test packet can be located in any place on any disc (we carried out
the tests with the final script version changing its location). The OS
and Program Files folder can be located anywhere as well, - the OS just
must know the correct paths.
During the test all other applications should be closed. It mustn't
be critical to pointer movements but there can be problems if you type
anything. It took for us over 3 hours (!) to run the test with our test
files on the PC based on the Pentium 4 clocked at around 3 GHz. During
the test the system displays diagnostic information so that you know which
test is running at a given moment. The test script is much more complicated
compared to the audio
tests that is why you can come across errors we didn't notice. We hope
they won't cause any fatal outcome except the script failure. In any case,
feedback
is welcome.
You can download the latest version of the test packet from the support
page.
For aesthetes...
First of all we'd recommend reading the respective
section in the audio compression performance tests because the video
compression speed script is based on it. There is also something I'd like
to add:
-
This script doesn't work under the Windows based on the kernel different
from NT, the script contains a respective check line.
-
The registry settings for some programs (VirtualDubMod, Mainconcept MPEG
Encoder, Canopus ProCoder Demo) and profiles (Canopus ProCoder Demo) required
for operation of the script are imported while the script works. They can
differ from your settings (if you use a given program not only for this
test). The user settings can be restored only manually. The Canopus ProCoder
Demo profile is not deleted after finishing the test.
-
If TEST.AVI or TEST.MPG have the format unsupported by the
respective software, the test will stop and notify about the error.
-
If you use software and codec versions different from the indicated ones,
the script might not work. Codecs are more critical to versions, while
the Mainconcept MPEG Encoder and Canopus ProCoder are less critical.
-
If you look through the source texts you will see that the procedure of
measuring time of MPEG1 and MPEG2 compression for Mainconcept MPEG Encoder
is not ideal: it additionally loads the system and thus bring in a certain
measuring error (5 sec overall, and it can be a little more on weak systems).
We know that. But compared to the total test time this value is inconsiderable,
and we do not know any other more precise ways to realize it, though we
are working on it. Finally, all the participants are in the same situation:
the error affects all of them equally.
About support
Undoubtedly, we are interested in your testing this packet. And we welcome
all facts about bugs, errors etc., as well as your suggestions about options,
software, versions etc. But do not expect all errors to be corrected at
once, because the test packet is meant primarily for testing audio compression
performance in our lab, and the most important for us it to have this packet
running correctly in our lab.
It doesn't mean we refuse to provide support, but it will depend on the workload
we have. Anyway, you use this script at your own risk and we are not
responsible for the outcome (though we do our best to prevent any
problems). Here
you can always find news, changes and updates.
Using the test packet by other mass media and commercial organizations
Of course, everyone can use it. But if you decide that it's simpler to
use a finished program than to develop your own software, you should mention
the developer's name - iXBT.com.
Firstly, you express your thanks, and secondly, it can be useful for the
readers as they can always compare a lot of results obtained within the
open test technique by us, you and the readers themselves, and for that
they must know what technique is used.
The only limitation is that we do not recommend making the test packet
available for download on your own sites - you'd better give the link to
the official
support page. Undoubtedly, there will be bug-reports and suggestions
about modification of the test technique, that is why it's better to let
everyone have the latest version.
Write a comment below. No registration needed!
|
|