digital camcorder to DVD HOWTO [was: kino, is it working ?]
Florin Andrei
florin at andrei.myip.org
Thu Jan 5 19:05:23 UTC 2006
On Thu, 2006-01-05 at 14:05 +0100, Marcel Janssen wrote:
> Cinelerra is a very nice application but perhaps a bit too much for the
> average user who just want to convert their DV tapes to DVD with a bit of
> editing.
> If there are any other tools, I'd be interested to hear about them.
Here's my method to burn the movies that I make with my digital
camcorder to DVD.
To capture from the camcorder to the computer in the DV format, I posted
my dvgrab script a few messages ago.
For reference and to make searches easier for other people, I will
repeat it here.
Make all connections to the PC, be ready to start playing the camera,
start the script with the project name as a parameter, then push Play on
the camera.
When it's done, wait for the camera to stop (or stop it manually) then
CTRL-C the script.
##############################################################
#!/bin/sh
if [ ! $1 ]; then
echo "Usage: $0 dirname"
exit
fi
name=$1
mkdir -v ${name} || exit
pushd ${name}
mkdir -v dv || exit
pushd dv
dvgrab --autosplit --size 0 --format dv2 --opendml \
--noavc --timestamp --buffers 200 ${name}-
popd
popd
##############################################################
I may do minimal editing with Kino, but often it's not necessary. The
script will capture each scene ("scene" = all images from the moment I
start the camera to the moment I push stop) in a separate DV file. At
most, I delete bogus scenes and that's pretty much it. Very rarely I
have to actually use Kino.
But that might be just me - I shoot in a way that minimizes editing.
To convert from DV to DVD, I just use transcode, mjpegtools and
dvdauthor. Here's a transcode/mjpegtools/dvdauthor script that's
compatible with the directory structure created by my dvgrab script.
Run it with the project dir created by the capture script as a
parameter.
#######################################################################
#!/bin/sh
if [ $# -ne "1" ]; then
echo "Usage: $0 dirname"
exit
fi
name=$1
pushd $name
# Choose one matrix and uncomment it
# By default, the hybrid matrix is enabled
#### default matrix ####
# faster encoding, slightly unusual MPEG2 (no B frames)
#flags="-c -q 7 -4 2 -2 1 -s -D 10 -R 0"
# slower encoding, standard MPEG2
#flags="-c -q 7 -4 2 -2 1 -s -D 10 -R 2"
#
#
#### tmpgenc matrix, good quality, small DVD ####
# faster encoding, slightly unusual MPEG2 (no B frames)
#flags="-c -q 6 -4 2 -2 1 -K tmpgenc -s -D 10 -R 0"
# slower encoding, standard MPEG2
#flags="-c -q 6 -4 2 -2 1 -K tmpgenc -s -D 10 -R 2"
#
#
#### kvcd matrix, good quality, small DVD ####
# faster encoding, slightly unusual MPEG2 (no B frames)
#flags="-c -q 6 -4 2 -2 1 -K kvcd -s -D 10 -R 0"
# slower encoding, standard MPEG2
#flags="-c -q 6 -4 2 -2 1 -K kvcd -s -D 10 -R 2"
#
#
#### hybrid highest-quality matrix ####
# faster encoding, slightly unusual MPEG2 (no B frames)
#flags="-c -q 7 -4 2 -2 1 -K file=matrix.txt -s -D 10 -R 0"
# slower encoding, standard MPEG2
flags="-c -q 7 -4 2 -2 1 -K file=matrix.txt -s -D 10 -R 2"
# Aspect ratio of the original DV tape
# Mixed-ratio recordings are not supported, make up your mind!
# 4:3
asr="--export_asr 2"
# 16:9
#asr="--export_asr 3"
# Do not exceed 7500 !!!
# You have been warned !
bitr="7500"
# Config file used by dvdauthor at a later stage
xmlf="dvdauthor.xml"
# Hybrid HQ matrix by Steven Schultz
# Used only by the hybrid settings above
cat - > matrix.txt << MATRIX
# High resolution INTRA table
8,16,18,20,24,25,26,30
16,16,20,23,25,26,30,30
18,20,22,24,26,28,29,31
20,21,23,24,26,28,31,31
21,23,24,25,28,30,30,33
23,24,25,28,30,30,33,36
24,25,26,29,29,31,34,38
25,26,28,29,31,34,38,42
# TMPEGEnc NON-INTRA table
16,17,18,19,20,21,22,23
17,18,19,20,21,22,23,24
18,19,20,21,22,23,24,25
19,20,21,22,23,24,26,27
20,21,22,23,25,26,27,28
21,22,23,24,26,27,28,30
22,23,24,26,27,28,30,31
23,24,25,27,28,30,31,33
MATRIX
rm -f $xmlf
# Create the dvdauthor XML config head
cat - >> $xmlf << XMLHEAD
<dvdauthor>
<vmgm />
<titleset>
<titles>
<pgc>
XMLHEAD
# Start transcoding to MPEG2
for inp in `ls dv`; do
out=`basename $inp .avi`
transcode -i dv/$inp -x ffmpeg \
-w $bitr \
--encode_fields b ${asr} \
-F 8,"${flags}" \
-y mpeg2enc,raw -N 0x2000 -b 192 -m $out.ac3 \
-o $out \
--print_status 10
#################################################
# stuff to copy/paste in the transcode parameters
#################################################
# insert this line between parameters above if
# DV sound is not sampled at 48kHz
# (it almost ALWAYS is 48kHz!)
# -E 48000,16,2 -J resample \
#
# AC3 sound (default)
# -y mpeg2enc,raw -N 0x2000 -b 192 -m $out.ac3 \
#
# MP2 sound (obsolete)
# -y mpeg2enc,mp2enc -b 224 -m $out \
#################################################
# enable this with MP2 (obsolete)
#mplex -f 8 -S 4400 $out.m2v $out.mpa -o $out.vob
# enable this with AC3
mplex -f 8 -S 4400 $out.m2v $out.ac3 -o $out.vob
# Add chapter entry to dvdauthor XML file
echo "<vob file=\"$out.vob\" />" >> $xmlf
done
# Close dvdauthor XML config
cat - >> $xmlf << XMLTAIL
</pgc>
</titles>
</titleset>
</dvdauthor>
XMLTAIL
# Author DVD image
dvdauthor -o $name -x $xmlf
# Sanitize permissions
chmod -R 0755 $name
chmod 0644 $name/*_TS/*
sync
# If you don't run this script as root, then also do this:
# chown -R root:root $name
popd
#######################################################################
The script encodes each DV file (each filmed scene) as a separate
chapter on the DVD, to make searches easier.
No menus are created. The DVD image has only one title.
To burn that image onto a DVD, go to the project directory (the dir
containing everything, the DV files, the big VOBs and M2V and AC3, etc.)
and look for the subdir that contains AUDIO_TS and VIDEO_TS - that's the
DVD image that you have to burn. Burn it like this:
#####################################################################
#!/bin/sh
if [ $# -ne 2 ]; then
echo "Usage: $0 LABEL directory"
exit
fi
# Adjust speed to fit your burner and DVD blank
sp=4
growisofs -speed=${sp} \
-Z /dev/dvdwriter \
-V "$1" \
-dvd-video $2
#####################################################################
Again, the directory parameter to the burn script is not the whole
project, but only the DVD image within it (the subdir containing
AUDIO_TS and VIDEO_TS). LABEL is anything you want (the name of the
movie) - typical format is SOME_COOL_MOVIE (all caps separated by
underscores).
transcode, mjpegtools and dvdauthor for FC4 can be found on Livna:
http://rpm.livna.org/configuration.html
After enabling the repo, just do "yum install transcode mjpegtools
dvdauthor"
You also need to install dvgrab and dvd+rw-tools - they're in Extras,
yum them up.
Using this method I put all my movies on DVD. Works really well.
--
Florin Andrei
http://florin.myip.org/
More information about the fedora-list
mailing list