|
| |
How
Do You Do It? I've been getting this question often.
"How did you..." Here is a list of programs that I use during
creation of my DVDs. I will update it as it changes. Hopefully I will also
add some tips and tricks for some of these applications in the future.
 |
Pinnace Studio 9 Plus - Available in stores for
about $100. |
 |
MGI Video Wave - I originally purchased this for $50 several years ago. MGI is out of business now, but
a newer version is available from Roxio, I think. |
 |
VirtualDub - This is freeware. You can download it from the internet. |
 |
AviSynth - This is also freeware available on the internet. |
 |
MenuEdit - Shareware available for a $15 PayPal purchase |
 |
Adobe Photoshop - This guy's expensive. I bought the student version for $300 when I was in college.
Paint Shop Pro is a cheaper alternative. |
 | Nero 6 Ultra Edition - I got it for free. Ask
me how. |
 |
Canopus DV File Converter - Availble as a free download from
Canopus. |
 | Cool Edit 96 - The 2000 version has been
bought by Adobe and is now sold for $300, but you can still find the
'96 version for free on the net. A very good audio editor. |
I know it probably sounds pretty complicated. It kinda is. The most important piece in the puzzle is Pinnacle Studio. You could probably get pretty good results with just
Studio and the "Advanced Codec" add-on pack, which allows Studio
to import DivX videos. As a warning, though, Studio is pretty complicated to learn. You may do better starting out with some of the simpler alternatives such as Sonic's MyDVD. You sacrifice flexibility for ease of use. |
|
Resize Video Image
A question that I am frequently asked is how do I resize
the image so that the subtitles are visible on a TV screen? Fansub
material downloaded from the internet is invariably formatted for display
on a computer screen. It is usually 640x480 resolution, and the subtitles
that are added to the picture tend to be put right near the bottom of the
frame, and can often extend out to the edges of the frame.
This format does not work well for display on your
standard NTSC television screen. NTSC picture signal is 720x480
resolution, and all TVs display only a portion of the image, with the top,
bottom, left, and right cropped slightly. The reasons this was done are
historical, and stem from the needs of a market where precise information
display is not the focus, but rather perceived picture quality. Anyway,
the bottom line is that if you simply recompress the file you downloaded
from the internet and then burn that recompressed file onto a DVD, then
you will likely not be able to read the subtitles. You will need to
re-scale the image to make it fit on your TV screen.
I do this with the most recent experimental version of VirtualDub
(1.6.3 at the time of this writing). To scale down the video, open the
video file in VirtualDub, and then select Filters from the Video
menu. You will be presented with a screen that looks like the following:

Click the Add... button, and select the resize
filter from the list. You will now see a screen as follows:

Fill the boxes in with the values I have shown above. The
video content will be resized from 640x480 to 660x420. Notice that this
scaling does not maintain the original proportions of the image. I am
actually expanding it horizontally at the same time that I am shrinking it
vertically. This will yield slightly strange looking results on the
computer screen, but will look just fine on the TV, where the pixels are
rectangular, rather than square-shaped. How did I come up with
these numbers? Hours of experimentation. I played around a lot, and burned
a lot of DVDs before I was satisfied that I had a good solution. I tend to
select the Bilinear filtering for the resize operation because it
gives good looking results with a minimum of processing overhead. You can
select a variant of Bicubic if you want slightly higher quality
output. I don't think that it produces noticeably better results with the
source material I have been using. In addition to resizing the image, you
will need to also expand the frame to the NTSC 720x480 resolution I
mentioned earlier. These settings will cause the output video to be
660x420, with a black (or any color you pick) border of 30 pixels all
around it.
Once you have set up your resize filter, make sure you
select an output compression under the Video->Compression...
menu option. If you don't select anything, then the output video will be
uncompressed, and HUGE! I tend to use digital video compression from
DVSoft, since this is one of the input formats that Pinnacle Studio
accepts. After choosing the compression, go ahead and do a File->Save
as AVI... to output your video. You can now load this video file into
your DVD creation software to make a TV-viewable image.
NOTE: Some people have asked me about widescreen
televisions. The above procedure produces a pleasing output for standard
sized (4:3 aspect ratio) output that can be viewed on either a
standard TV, or on a widescreen TV that is setup to watch a standard sized
input signal. I have personally tested all my DVDs on both a standard TV
and on a widescreen (16:9 aspect ratio) TV. If, on the other hand, you
have a widescreen input, as some anime is, then you would need to modify
some of the above steps to either maintain that widescreen aspect ratio,
or to convert it to a standard aspect ratio.
|
|
Disc Ten Menu
The menu on disc ten is a pretty cool achievement. The
main menu on this DVD contains nine mini screens, each showing a random
clip from the four episodes on that disc. The clips on each screen change
frequently, so you never really know exactly what you're looking at. It's
a pretty cool effect, and it makes a great background video for a menu.
Below is a screen capture from the disc ten menu.

This was done entirely in AviSynth, which is a
freely downloadable video-scripting program. I wrote the script to create
this multi-screen effect, myself. This script is shown below, and can be
downloaded here.
clip =
avisource("junk.avi")
horizontal_screens = 3
Vertical_screens = 3
Final_clip_length = 6 * 60
Sub_clip_min_length = 1
Sub_clip_max_length = 10
function create_clip(clip src, int frames, int min, int max, int
in_frames)
{
start = rand(framecount(src))
len = rand(max - min) + min
vid = (in_frames == 0 ? BlankClip(src, len) :
trim(src, start, start + len))
return (in_frames + len > frames ?
\ trim(vid, 1, frames - in_frames) :
\ (in_frames == 0 ? Dissolve(vid,
create_clip(src, frames, min, max,
\
in_frames + len), 30)
\
: vid + create_clip(src, frames, min, max,
\
in_frames + len) ) )
}
function create_pos(clip src, int x, int y, int frames, int min,
\
int max, int in_x, int in_y)
{
vid = create_clip(src, frames, min, max, 0)
vid = PointResize(vid, 720/x, 480/y)
vid = AddBorders(vid, in_x*(720/x), in_y*(480/y), (x-in_x-1)*(720/x),
\
(y-in_y-1)*(480/y), color=HexValue("000000"))
return vid
}
function create_grid(clip src, int x, int y, int frames, int min, int max,
\
int in_x, int in_y)
{
next_x = (in_x + 1 == x ? 0 : in_x+1)
next_y = (next_x == 0 ? in_y + 1 : in_y)
vid = create_pos(src, x, y, frames, min, max, in_x,
in_y)
return (next_y != y ? create_grid_elem(vid, src, x, y, frames,
\
min, max, next_x, next_y) : vid)
}
function create_grid_elem(clip vid1, clip src, int x, int y, int frames,
\
int min, int max, int next_x, int next_y)
{
vid2 = create_grid(src, x, y, frames, min, max,
next_x, next_y)
vid = Overlay(KillAudio(vid1), KillAudio(vid2), mode="Lighten")
num_clip = x*next_y+next_x
total_clips = float(x*y-num_clip+1)
return AudioDub(vid, MixAudio(vid1, vid2, 1/total_clips,
1-1/total_clips))
}
return create_grid(clip, horizontal_screens, Vertical_screens,
\
Final_clip_length*30, Sub_clip_min_length*30,
\
Sub_clip_max_length*30, 0, 0)
|
|