dvgrab
DVGRAB(1) DVGRAB(1)
NAME
dvgrab — Grab DV video and audio data via IEEE1394 links
SYNOPSIS
dvgrab [-i, --interactive] [--noavc] [--autosplit] [--timestamp]
[--timesys] [--card num] [--channel num] [--stdin] [--dv1394
device] [--format fmt] [--frames num] [--size num] [--csize num]
[--cmincutsize num] [--every num] [--duration time] [--help]
[--version] [base]
DESCRIPTION
dvgrab is a program that captures DV video and audio data from digital
camcorders via an IEEE1394 link. (IEEE1394 is also known under the
various trademarks FireWire, i.Link, or Lynx.) The DV data is stored in
one or several files and can later be processed by video editing soft-
ware. dvgrab can remote control the camcorder but it does not show the
video’s content on screen.
The base argument is used to construct the filename to store video data
in, like base-id.ext where id is a running number starting from 001 and
ext is the file name extension specifying the file format used, e.g.
avi. A different naming scheme is used whenever the --timestamp or
--timesys is given (see below). If base is ’-’ then the format is
forced to raw DV and sent to stdout. dvgrab will also output raw DV to
stdout while capturing to a file if stdout is piped or redirected. The
default base is dvgrab- if not specified.
You can use dvgrabâ€â€™s powerful file writing capabilities with other pro-
grams that produce raw DV. Using the --stdin option and if dvgrab
detects that it is on the receiving end of a pipe and it is not in
interactive mode, then it will try to read raw DV on stdin.
OPTIONS
-i, --interactive
Make dvgrab interactive where single keypresses on stdin con-
trol the camera VTR or start and stop capture. Otherwise,
dvgrab runs in session mode, where it immediately starts cap-
ture and stops as directed or interrupted (ctrl-c).
--noavc
Disable use of AV/C VTR control. This is useful if you are
capturing live video from a camera because in camera mode, an
AV/C play command tells the camera to start recording, per-
haps over material on the current tape. This applies to
either interactive more or non-interactive because non-inter-
active stills sends a play and stop to the VTR upon capture
start and stop.
--autosplit
Try to detect whenever a new recording starts, and store it
into a separate file. This can be combined with the --frames
and --size options, and a split occurs whenever a specified
event arises.
Autosplit is off by default.
--timestamp
Put information on date and time of recording into file name.
--timesys
Put system rather than recording date and time into file
name. This is useful when using converter devices that do
not change the recording date time in the DV stream.
--card num
Tells dvgrab to receive data from IEEE1394 card num. The
default behaviour is to automatically select the first card
containing the first discovered camera. If used in conjunc-
tion with --noavc, then no bus probing is performed. If used
in conjunction with --guid hex, then only the specified bus
is probed for node with guid hex. If used in conjunction
with --dv1394 with no device file specified, then dvgrab con-
structs a device file name using num and the dv1394 devfs
naming convention.
--guid hex
If you have more than one DV device, then select one using
the node’s GUID specified in hex (hexadecimal) format. This
is the format as displayed in /proc/bus/ieee1394/devices or
the new kernel 2.6 /sys filesystem.
--channel num
Isochronous channel to receive data from. Defaults to 63,
which is pretty much standard among DV camcorders these days.
If you specify anything different, no attempt is made at this
time to tell the device which channel to use. You must have
some manual way to tell the transmitting device which channel
to use.
--buffers num
The number of frames to use for buffering device I/O delays.
Defaults to 100.
--stdin
Read the DV stream from a pipe on stdin instead of using a
IEEE 1394 driver.
--dv1394 [device]
Use the dv1394 driver to capture instead of raw1394. The
device specification is optional if you follow the dv1394
devfs naming convention, e.g. /dev/ieee1394/dv/host0/PAL/in.
If device is supplied in conjunction with --noavc, then no
bus probing is performed. If device is not supplied, but
--card num is, then dvgrab constructs a device file name
using num and the dv1394 devfs naming convention. dvgrab can
automatically handle both NTSC and PAL using just
/dev/ieee1394/dv/hostX/PAL/in!
--format dv1 | dv2 | raw | dif | qt | jpeg
Specifies the format of the output file(s). dv1 and dv2 both
are AVI files with slightly different formats. dv2 stores a
separate audio track in addition to the DV video track, which
is more compatible with other applications. dv1 only stores
a single, integrated DV track since the DV format natively
interleaves audio with video. Therefore, while dv1 produces
smaller output, some applications won’t grok it and require
dv2 instead. dvgrab is capable of creating extremely large
AVI files--well over 2 or 4 GB--however, compatibility with
other tools starts to decrease over the 1 GB size.
raw stores the data unmodified and have the .dv extension.
These files are read by a number of GNU/Linux tools as well
as Apple Quicktime.
dif is a variation of raw DV that names files with a .dif
extension so they can be more immediately loaded into Main-
Concept MainActor5.
qt is Quicktime, but requires that dvgrab be compiled with
libquicktime.
jpg is for a sequence of JPEG image files if dvgrab was com-
piled with jpeglib.
Defaults to dv2
--opendml
If using --format dv2, create an OpenDML-compliant type 2 DV
AVI. This is required to support dv2 files >1GB. dv1 always
supports files >1GB.
--jpeg-quality num
If using --format jpeg, set the JPEG quality level from 0
(worst) to 100 (best).
--jpeg-deinterlace
If using --format jpeg, deinterlace the output by doubling
the lines of the upper field. This is a cheap form of dein-
terlace that results in an effective 50% loss in resolution.
--jpeg-width num
If using --format jpeg, scale the output of the width to num
(1 - 2048).
--jpeg-height num
If using --format jpeg, scale the output of the height to num
(1 - 2048).
The JPEG scaling width and height must be both either less
than or greater than the normal frame size. For example, the
scaled size of 700 wide by 525 high yields a nice 4:3 aspect
image with square pixels, but it is illegal for NTSC because
700 is less than the normal width of 720 while the height is
greater than the normal height of 480.
Since DV uses non-square pixels, it is nice to be able to
scale to an image based upon a 4:3 aspect ratio using square
pixels. For NTSC, example sizes are 800x600, 640x480, and
320x240. For PAL, example square pixel sizes are 384x270 and
768x540.
--frames num
This option tells dvgrab to store at most num frames per file
before splitting to a new file, where num = 0 means ulimited.
The corresponding time depends on the video system used. PAL
shows 25, NTSC about 30 frames per second.
--size num
This option tells dvgrab to store at most num megabytes per
file, where num = 0 means unlimited file size for large
files. The default size limit is 1024 MB.
--csize num
This option tells dvgrab to split the files when the collec-
tion of files exceeds num megabytes. This option is used to
create collections of files that fit perfectly into num
megabytes (i.e. for archiving onto DVD). When this occurs, a
new collection is started (See also the --cmincutsize option)
--cmincutsize num
This option is used to start the collection if a cut occurs
num megabytes prior to the end of the collection. This option
reduces small files being created when using the --csize
option. When a new collection is started in this manner, the
amount of free space in the previous collection is stored,
and while the following clips fit within the previous collec-
tion, the new collection starting point is reset.
--every n
This option tells dvgrab to write every n’th frame only
(default all frames).
--duration time
Set the maximum capture duration across all file splits for a
single capture session (multiple sessions are possible in
interactive mode). The time value is expressed in SMIL2
MediaClipping Time format. See http://w3.org/AudioVideo/ for
the specification.
Briefly, the formats are:
XXX[.Y]h, XXX[.Y]min, XXX[.Y][s], XXXms,
[[HH:]MM:]SS[.ms], or smpte=[[[HH:]MM:]SS:]FF.
--help Show summary of options.
--version Show version of program.
EXAMPLES
dvgrab foo-
Captures video data from the default IEEE1394 source and
stores it to files foo-001.avi, foo-002.avi, etc.
dvgrab --frames 25 foo-
Assuming a PAL video source, this command records one sec-
ond’s worth of video data per file.
dvgrab --autosplit --frames 750 --timestamp foo-
Records video data from the default IEEE1394 source, cuts it
into chunks of 30 seconds (assuming PAL) or when a new
recording starts and names the resulting files according to
date and time info in the videostream.
dvgrab --autosplit --size 1998 --csize 4400 --cmincutsize 10 foo-
Records video data from the default IEEE1394 source, cuts it
into chunks when a new recording starts or when the current
file exceeds 1998 megabytes, or the current collection of
files exceeds 4400 megabytes. It also reduces the size of the
smallest file made due to a collection size cut to 10
megabytes.
This option is perfect for backing up DV to DVD’s as 2 Gb is
around the maximum file size that (the current) linux imple-
mentation of the ISO9660 filesystem can handle!
Warning: It is possible to make ISO9660 filesystems with
files greater than 2 Gb, but the current linux IS09660 driver
can’t read them! Newer linux kernels may be able to handle
ISO9660 filesystems with filesizes greater than 2 Gb.
AUTHOR
This manual page was written by Daniel Kobras kobras@debian.org for the
Debian GNU/Linux system (but may be used by others). It has been
updated by Dan Dennedy. See the website http://kino.schirmacher.de/ for
more information and support.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
copy of the license can be found under /usr/share/common-licenses/FDL.
DVGRAB(1)
Man(1) output converted with
man2html