Oldskooler Ramblings

the unlikely child born of the home computer wars

Tips for making your own demodvd

Posted by Trixter on August 24, 2009

I responded to a pouet bbs post recently and thought that the information could help more than just the demoscene, so I’m reproducing and expanding on it here.

As always, some quick background so information below makes sense (if you’re already familiar with the demoscene, skip to the next paragraph):  I’m making a Blu-ray + DVD package called MindCandy Volume 3 that showcases 30+ Windows demos, which in addition to extremely high-quality video will include commentary by the original authors and other fun bits.  Demos are computer programs that showcase the author’s programming skill and creativity, and are usually awesome to look at and listen to.  Demos run realtime (they do not output their graphics+music to output files), which means you need a special capture program to “hook” into the demo and redirect its output to a series of bitmap files+.WAV or .AVI, and the best utility for doing so is kkapture.

Now that that’s out of the way, the question asked was how to get the most decent quality demo footage onto a DVD.  Having had a lot of experience in this area, here are my tips for doing so:

  • Capture the demo in the highest res it allows.  Even if your target is 720×480/576, do it, because the resizing and anti-aliasing will result in less high-contrast transitions which compress better and with less artifacts.
  • Never add filters in any step of the production chain, not even a sharpening filter.  All they do is cover/obscure picture detail, not enhance it.  You can’t create detail that isn’t there, so don’t try.  See previous tip.
  • Preconfigure your graphics card to forced “quality” settings (on my GTX card I’ve been selecting 16xQ anti-aliasing and turning off all texture compression because my card has nearly a gig of vram).  Sometimes this bugs a demo; if so, go back and kkapture it again with more modest settings, but at least try the best settings.
  • Resample down using the best possible resizer that is time-practical (ie. avisynth spline64 or equivalent — bicubic/lanczos are good but can result in ringing, so always inspect your results).
  • Capture in real video rates if you ever want to display on a TV without dropping or adding frames.  This means you enter rates into kkapture like 60000/1001 (NTSC) or 50 (PAL).
  • If you’re putting multiple demos on a dvd, make it one giant output so that 2-pass/n-pass encoding can spread the bitrate appropriately across all the demos.  Yes, it takes longer.  Yes, it is worth it.

And here’s the part people most people forget:

  • If making a dvd, deal with interlacing because a demo at 24/25/30fps really sucks compared to a demo at 50/60fps, and the only way you’re going to get 50/60fps out of a dvd is an interlaced video.  One of the hallmarks of demos as an art form is the nature of having been created on a computer for a computer, and part of that art is a display rate of 50 or 60Hz.  Arbitrarily limiting a demo to a lower framerate when it was created for higher is just wrong.  If a demo is created specifically to look like film, that’s one thing, but limiting it because you want less data to process is a crime.

As for what maximum (not average!) bitrate to choose, you must always choose the maximum (9800), and even then you will find that some demos will have compression artifacts simply because there is too much picture information changing from frame to frame.  This is something I had to come to terms with for MC3 (we’re including a DVD of the main program with the Blu-ray for those who want to upgrade later).  The only way to make it better is to give the encoder less frames for the bitrate — meaning, if 30i or 30p footage has artifacts, feed it 24p.  The DVD and Blu-ray specs were tuned mostly for real-world footage at film rates, something that has made working with 720p/60 footage so painful.

While the above tips were windows-centric, they apply to any type of demo DVD you may work on.

3 Responses to “Tips for making your own demodvd”

  1. DrV said

    Just out of curiosity, what MPEG-2 video encoder do you use for the DVD?

  2. I thought PAL was exactly 50Hz? The 1000/1001 factor to avoid beating with the sound carrier is only necessary for NTSC.

  3. Trixter said

    ARG you’re right. Sorry. Fixing.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: