Wednesday, January 27, 2010

Sides of 4:3 Fullscreen DVD Movie Cut Off

Last week I began working on creating my first DVD. I found several great free programs to do this:

WinFF - used to convert source videos to MPEG2 (DVD NTSC, HQ preferably)
DVDStyler - use to create DVD menus and combine with videos, then generate the actual DVD
Both are available for Windows and Linux.

You don't have to convert to MPEG2 before importing into DVDStyler, but I HIGHLY suggest it, no matter what DVD authoring program you use.

Everything seemed great until I stuck it in my standalone DVD player connected to my standard def full screen tube/CRT TV. My menu AND videos were cut off at the sides, even the full-screen 4:3 video! The DVD played fine on my computer...

The culprit turns out to be something called "overscan," and it only affects CRT TVs. To correct for it, you have to add padding around your video and menu to push everything into the TVs viewable space. To make matters worse, there is no set amount of overscan that applies to all CRT TVs- some sources say 3-5%. My TV ended up requiring nothing vertically and 10% horizontally.

This is another good reason to use WinFF to convert to MPEG2 before importing. Since WinFF uses ffmpeg, you can specify some ffmpeg switches to add the padding automatically when the MPEG2 video files are generated.

The numbers discussed here would apply to 16:9 widescreen and 4:3 fullscreen video. Here's how to do it:

Consider that you are generating a DVD NTSC compliant MPEG2 file with a video resolution of 720x480. You decide to add 5% vertical padding and 10% horizontal padding. Calculate the padding for each side:
720 x 0.1 = 72 / 2 = 36 pixels on left and right sides
480 x 0.05 = 24 / 2 = 12 pixels on left and right sides

Now calculate the resolution of the video inside the padding:
720 - 72 = 648
480 - 24 = 456

Now you load up WinFF, choose the DVD NTSC HQ preset (fullscreen or widescreen depending on the source video) and add your input files.

Go down to the options and set a resolution of 648x456. The go to the advanced options where you can enter command line parameters and enter the following:
-padtop 12 -padbottom 12 -padleft 36 -padright 36 -padcolor 000000

You can leave off the top and bottom padding for widescreen videos, because these will get letterboxed on CRT TVs, which are all fullscreen. If you do this, adjust your vertical resolution back to 480. You still need left and right padding though.

"Padcolor" is a hex value specifying the color of the padded area. "000000" is black. A tool to generate codes for other colors can be found HERE. (Just make sure to leave off the # symbol.)

(CAVEAT: You must use only EVEN numbers for the resolution and padding sizes. If you use odd numbers, ffmpeg will complain about it not being a multiple of two.)

That takes care of the video. What about your menu? When creating your menu, just make sure that 36 pixels from left and right, and 12 pixels from top and bottom, contain no text or other items you care about. If your DVD authoring program does not automatically draw safe zone lines, consider creating a background that somehow identifies this space.

Ultimately, your DVD authoring program is not designed to correct for overscan. Overscan can only be corrected by modifying your source videos and graphics so that no essential information lies in the overscan area. It may be that the important stuff in your video already stays toward the center of the screen, and you may not need to correct for overscan at all. But for video with text and menus, correcting for overscan is essential.

No comments: