Feature Tutorials

QuickTime Video Compression

CrystalMaker provides industry-leading digital video capabilities, allowing you to record video as you work, build, edit and save animations - and export rotatable QTVR objects. The technology used to do this is called QuickTime®. This article provides some general tips for making the most of QuickTime's powerful video compression settings, and includes the results of our own tests on video output quality and file size.

22 July 2011: This document has been updated to take into account the new H.264 video support available in CrystalMaker 8.5 for Mac and 2.5 for Windows.

QuickTime Movie Icon

Video Compression

Many people are familiar with the notion of compression, in the context of making computer images smaller. Common image compression formats include the ubiqutous "JPEG" files, found on most websites.

With video, the problem of file sizes is much worse than with static images. Videos need to display many images per second, so the file sizes quickly mount up. Developers have come up with a wide range of algorithms for compressing these video sequences - some algorithms are just like those used for compressing still images; others are more advanced, and compare a sequence of frames, so that only the changes between frames need to be saved.

Controlling QuickTime

Compression Settings button

Video compression button

CrystalMaker's Video Palette (Window > Palette > Video) includes a Compression Settings button (with an "accordion" icon). Pressing this brings up a dialog that's crammed with controls. CrystalMaker is giving you full access to the extraordinary wealth of control settings provided by QuickTime. These include video frame rate, output size/quality controls - and a choice of many different video compressors, also known as "codecs".

The question is: which codec should you use - and what particular settings are going to work best when recording your video?


CrystalMaker's Compression Settings dialog. The compression type ("codec") is displayed in the popup menu at the top of the dialog and the output quality can be previewed in the bottom right-hand corner

Compression Settings dialog

Criteria for Choosing the Best Video Settings

The key factors you need to consider when recording video are: image quality and file size. Unfortunately, these two factors tend to oppose each other, so that the best image quality tends to result in the worst (i.e., highest) file sizes. However, some codecs are more efficient than others, so is possible to make some general recommendations.

By default, CrystalMaker uses the Animation compressor. This is a good, safe choice. It is designed to work well with images that contain lots of sharp edges: the type of "synthetic" images used in programs such as CrystalMaker. The downside is that this compressor isn't particularly efficient.

By contrast, more efficient video compressors - such as the popular H.264 codec - don't work very well with CrystalMaker's images. These type of compressors are designed for natural images - movies of real objects, where there are softer transitions, and where things don't change very much from frame to frame. If you try to using this type of compressor with "hard" synthetic objects, then you'll end up with fairly poor results.

Video Testing

To help you choose a good, general purpose codec, we undertook a detailed series of tests, using a "typical" CrystalMaker file, and comparing the file sizes and video quality for the different compressors/settings used.

Test Settings.We used CrystalMaker 8.5 for Mac, displaying the Fullerene ("bucky ball") structure as a ball-and-stick model, viewed in red/blue colour stereo, in a graphics pane with dimensions 800 × 600 pixels and using millions of colours. For each test, the structure was rotated through 60 frames (at 6° intervals), making a complete revolution. We used the highest-quality rendering mode (Rendering > Full Rendering Mode), to give smooth bonds.


Results of video tests, showing the output file size (1MB = 1,000,000 bytes) and our (subjective) quality ranking.

Codec Setting Size
[MB]
Quality(*)
Ranking
Comment
None n/a 86.4 1 This is why video requires compression!
Animation Millions / Best 30.6 =1
Animation Millions / High 25.0 =1
JPEG 2000 Millions / Best 15.2 =1
JPEG 2000 Millions / High 12.9 =1
JPEG 2000 Millions / Medium 11.7 =1
PNG Millions 11.4 =1
JPEG 2000 Millions / Low 7.8 =1
Animation Thousands / Best 14.0 2 A good, safe choice - space permitting
Photo JPEG Millions/Best 15.7 3
Animation Millions / Medium 17.3 4
Aimation Millions / Low 13.8 5
Photo JPEG Millions / High 6.1 6
H.264 Millions / Best 4.5 7
MPEG4 Video Millions / Best 9.0 8
MPEG4 Video Millions / High 4.5 9
Animation Thousands / High 10.3 10 Banding effects visible in shadow areas
Xiph Theora Best 4.0 11 Won't work with QuickTime X
Apple Intermediate Millions / Other 5.8 12
H.264 Millions / High 2.3 13
JPEG 2000 Millions / Least 2.8 14
Animation Millions / Least 10.8 15 This is not a very efficient compressor!
H.264 Millions / Medium 1.1 16 The best quality/size compromise
MPEG4 Video Millions / Medium 1.4 17
Animation Thousands / Medium 8.2 18
Photo JPEG Medium 3.1 19 Quality unacceptable below this point
Xiph Theora High 2.2 20 Won't work with QuickTime X
Xiph Theora Medium 1.2 21 Won't work with QuickTime X
Animation Thousands / Low 6.9 22
Animation Thousands / Least 6.9 =22
H.264 Millions / Low 0.578 23
Xiph Theora Low 0.578 24 Won't work with QuickTime X
DV PAL Progressive Best 8.6 25
DV PAL Progressive High 8.6 =25
DV PAL Progressive Medium 8.6 =25
DV PAL Progressive Low 8.6 =25
DV PAL Progressive Least 8.6 =25
Photo JPEG Millions / Low 1.7 26
Photo JPEG Millions / Least 1.4 27
MPEG4 Video Millions / Low 0.618 28
DVCPRO PAL Progressive Best 8.6 29
DVCPRO PAL Progressive Medium 8.6 =29
DVCPRO PAL Progressive Least 8.6 =29
H.264 Millions / Least 0.328 30
MPEG4 Video Millions / Least 0.721 31
Xiph Theora Least 0.311 32 Won't work with QuickTime X

(*) Subjective quality ranking, based on visual inspection of each video, where 1=best.

Discussion

We should begin our discussion with a very-important caveat. These tests were specific to CrystalMaker - and one structural model in particular. They should not be interpreted in isolation. Using different models will give different results.

In attempting to rank the different codecs, we put particular emphasis on the appearance of video artifacts, such as stripes or banding. These were felt to be more objectionable than subtle blurring of fine detail - at least, from the perspective of having a model rotating, where spots, stripes and bands are clearly evident, whereas the odd blur here and there is easily missed.


Examples of output quality for different compressor settings used.

Animation compressor at best setting Animation compressor at lower-quality setting

Animation compressor at maximum quality

Animation compressor at lower quality showing severe banding in shadow areas plus horizontal streaks across the empty black region.

H.264 compressor showing blurring and loss of colour detail DV PAL Progressive compressor showing horizontal striping and overall blurriness

H.264 compressor at Medium quality. Note the slight blotchiness and lack of colour detail.

DV PAL compressor, showing general blurriness and horizontal striping.

In the tests we carried out, output file sizes varied from 0.3 to 86 MB - that's a factor of 286 difference! The most interesting observation, however, was that "bigger" wasn't necessarily better. In particular, the video codecs used by digital video (DV) cameras fared particularly poorly in these tests - resulting in large file sizes with very-poor video quality.

The best performing codec in these tests was the H.264 codec, and we'd recommend the Millions of Colours setting, with the output quality set to Medium or High. One would need to be careful as the number of sharp edges increases - e.g., with polyhedra or stick displays.

Comparison with Earlier Tests

Note that in our earlier tests, carried out before we had incorporated support for the H.264 multiple-frame compression, we had found the results from H.264 to be rather disappointing. Things have moved on from then, and this video compressor - as used in CrystalMaker - now shows an impressive combination of size/quality output.

Conclusion

In conclusion, we've found that for a typical CrystalMaker structure, the best compressor to use is probably the H.264 compressor, set to display Millions of Colours and using a Medium to High quality output. Other models may require slightly-different settings, but this table of results should give a good general guide as to which compressors work best

Copyright © 2016 CrystalMaker Software Ltd. All rights reserved.