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 software. 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 programs 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
control
the camera VTR or start and stop capture. Otherwise, dvgrab runs in
session mode, where it immediately starts capture 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, perhaps over material
on the current tape. This applies to either interactive more or
non-interactive because non-interactive 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
conjunction 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 constructs 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
MainConcept MainActor5.
- qt is Quicktime, but requires that dvgrab be compiled
with libquicktime.
- jpg is for a sequence of JPEG image files if dvgrab was
compiled 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 deinterlace 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
collection 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
collection, 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
second'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
implementation 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 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.