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