Provided by: dvgrab_3.5-2_amd64 bug

NAME

       dvgrab — Capture DV or MPEG-2 Transport Stream (HDV) video and audio data from FireWire

SYNOPSIS

       dvgrab [options] [base] [-]

DESCRIPTION

       dvgrab  is  a program that captures DV or HDV (MPEG2-TS) video and audio data from digital
       camcorders via FireWire (IEEE 1394).  The 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.

       dvgrab also supports UVC (USB Video Class) compliant DV devices using Linux kernel  module
       uvcvideo, which is a V4L2 driver. In this mode, there is no AV/C VTR control and therefore
       interactive mode is almost useless.  interactive feature is

       The base argument is used to construct the filename to  store  video  data:  base-num.ext.
       num  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,  -timecode,  or  -timesys  is  given  (see below).  If base is a full filename
       including extension, then dvgrab attempts to determine the output  file  format  from  the
       extension, but it still inserts num.  The default value for base is "dvgrab-".

       If  you  specify  a  trailing  '-'  then the format is forced to raw DV or HDV and sent to
       stdout. dvgrab will also output raw DV or HDV to stdout  while  capturing  to  a  file  if
       stdout is piped or redirected.

       You  can  use dvgrab's powerful file writing capabilities with other programs that produce
       raw DV or HDV. 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 or HDV on
       stdin.

OPTIONS

       Options longer than a single character can be specified with either  one  or  two  leading
       hyphens. Also, you can use a space character or equal sign to separate the option name and
       its argument value.

       -a[num], -autosplit[=num]
                 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.

                 num is optional. Without it, dvgrab determines when to split using a flag in the
                 stream  or  a  discontinuity  in  the  timecode, where timecode discontinuity is
                 anything backwards or greater than one second.  If you set the optional argument
                 num  you  can  set  the time sensitivity in seconds and ignore the stream's new-
                 recording flag. This basically lets you split on larger time increments such  as
                 minutes  or  hours.  For  example, -autosplit=3600 splits the recording whenever
                 there is a gap in the recording that is an hour or longer.

       -buffers num
                 The number of frames to use for buffering device I/O delays. Defaults to 100.

       -card num Tells dvgrab to receive data from FireWire 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.

       -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.

       -cmincutsize num
                 This  option  is  used  to  start  the  collection if a cut occurs num megabytes
                 (actually, mebibytes) 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.

       -csize num
                 This option tells dvgrab to split the files when the collection of files exceeds
                 num . This option is used to create collections of files that fit perfectly into
                 num megabytes (actually, mebibytes) (i.e. for archiving  onto  DVD).  When  this
                 occurs, a new collection is started (See also the -cmincutsize option)

       -debug type
                 Display     HDV     debug     info,     type     is     one    or    more    of:
                 all,pat,pmt,pids,pid=N,pes,packet,video,sonya1

       -d, -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.

       -every n  This option tells dvgrab to write every n'th frame only (default all frames).

       -f, -format dv1 | dv2 | avi | raw | dif | qt | mov | jpeg | jpg | mpeg2 | hdv
                 Specifies  the  format of the output file(s). File format can also be determined
                 if you include an extension on the  base  name.  The  following  extensions  are
                 recognizable: avi, dv, dif, mov, jpg, jpeg, and m2t (HDV).

                 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 or jpeg is for a sequence of JPEG image files if dvgrab  was  compiled  with
                 libdv  and  jpeglib.  This  option  can  only  be  used with a DV input, not HDV
                 (MPEG2-TS).

                 mpeg2 or hdv is for a MPEG-2 transport stream when using,  for  example,  a  HDV
                 camcorder or digital TV settop box.

                 Defaults to raw

       -F, -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.

       -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. When you
                 specify a GUID, dvgrab will establish (or  overlay)  a  peer-to-peer  connection
                 with the device instead of listening to the device's broadcast.  If you supply a
                 hex value of 1, then dvgrab attempts to discover the device as well as  setup  a
                 peer-to-peer  connection.  This  is especially handy with MPEG2-TS settop boxes,
                 which typically require a connection management procedure to start transmitting.

       -h, -help Show summary of options.

       -I, -input file
                 Read from file instead of FireWire. You can use '-' for stdin instead  of  using
                 -stdin.

       -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).

       -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-height num
                 If using -format jpeg, scale the output of the height to num (1 - 2048).

       -jpeg-overwrite name
                 Write to same image file for each frame, instead of creating a sequence of image
                 files.

       -jpeg-quality num
                 If using -format jpeg, set the JPEG quality level from 0 (worst) to 100 (best).

       -jpeg-temp name 10
                 Use a temporary file to create the jpeg, rename the file to the target file name
                 when done. Useful when using dvgrab with -jpeg-overwrite for generating a webcam
                 image.

       -jpeg-width num
                 If using -format jpeg, scale the output of the width 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.

       -jvc-p25  Remove  repeat_first_field  flag  and  set  frames per second to 25 to correct a
                 stream recorded in JVC's HDV P25 mode.

       -lockstep Align capture to a multiple of -frames based on timecode.  This  is  useful  for
                 redundancy,  when  more  than  one  machine  is capturing from the same FireWire
                 device, and you want to ensure each file contains the same  footage.  To  ensure
                 the  files from each machine have the same name use the -timecode option and the
                 same base name.

       -lockstep_maxdrops num
                 If num frames are dropped consecutively, then close the file and resume  capture
                 on  the next lockstop interval. If num is -1, then permit an unlimited number of
                 consecutively dropped frames; this is the default.

       -lockstep_totaldrops num
                 If num frames are dropped in the current file, then close the  file  and  resume
                 capture  on  the  next lockstep interval. If num is -1, then permit an unlimited
                 number of total dropped frames; this is the default.

       -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.

       -nostop   Disables sending the AV/C VTR stop command when exiting dvgrab.

       -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.

       -r, -recordonly
                 When  the camcorder is in record mode, this option causes dvgrab to only capture
                 when the camcorder is recording and not paused. Normally, when in  record  mode,
                 dvgrab always captures to let you use the camcorder purely as a camera where the
                 computer operator is in control. This option makes dvgrab act like the VCR where
                 the  camera operator controls when capture takes place.  This is very handy when
                 used with the -autosplit option to automatically create  a  new  file  for  each
                 shot.  This option requires AV/C and will not work with the -noavc option.

       -rewind   Rewind  the  tape  completely  to  the  beginning  prior  to  starting  capture.
                 Naturally, this requires AV/C; however, perhaps not so obvious is that this does
                 not apply to interactive mode.

       -showstatus
                 Normally,  the capture status information is displayed after finished writing to
                 each file. This option makes it show the capture status during capture,  updated
                 for each frame.

       -s, -size num
                 This  option  tells  dvgrab to store at most num megabytes (actually, mebibytes)
                 per file, where num = 0 means unlimited file size for large files.  The  default
                 size limit is 1024 MB.

       -srt      Generate  subtitle  files  containing the recording date and time in SRT format.
                 For each video file that is created two  additional  files  with  the  extension
                 .srt0  and  .srt1  are  created.  They  contain  the  recording date and time as
                 subtitles in the SRT format. The .srt0 file contains the subtitles  with  timing
                 based  on the running time from the start of the current file.  Use this file if
                 you transcode to a format like AVI. The .srt1 file contains the  subtitles  with
                 timing  based  on the time code as delivered by the camera.  The mplayer program
                 understands this type of subtitles.

       -stdin    Read the DV stream from a pipe on stdin instead of FireWire.

       -timecode Put the timecode of the first frame of each file into the file name.

       -t, -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.

       -V, -v4l2 Capture from a USB Video Class (UVC) device that supports  DV.   This  uses  the
                 uvcvideo kernel module via V4L2.  The default device file is /dev/video. Use the
                 -input option to set a different device file.

       -v, -version
                 Show version of program.

       -24p      For Quicktime DV, set the frame rate as 24 fps in the Quicktime file.  This only
                 works as expected when the video has been shot in 24p mode.

       -24pa     For  Quicktime, DV, in addition to setting the frame rate to 24 in the Quicktime
                 file, also reverse the 2:3:3:2 pulldown process by removing the  interlaced  "C"
                 frame.  This only works as expected when the video has been shot in 24p Advanced
                 mode. See http://www.adamwilt.com/24p/

EXAMPLES

       dvgrab foo-
                 Captures video data from the default FireWire 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 FireWire 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 FireWire source, cuts it into chunks when  a
                 new  recording starts or when the current file exceeds 1998 megabytes (actually,
                 mebibytes), 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.

       dvgrab -format hdv -autosplit
                 Capture from a HDV camcorder.

       dvgrab -format mpeg2 -guid 1
                 Record from a digital TV settop box.

       dvgrab -jpeg-over -jpeg-w=320 -jpeg-h=240 -d smpte=1 webcam.jpeg
                 Capture a single frame, save it as a  JPEG  named  webcam.jpg  and  exit.   This
                 example  also demonstrates option handling. You only need to specify enough of a
                 long option name to uniquely identify it. You can use space  or  equal  sign  to
                 separate option name and argument. The file format is inferred from the filename
                 extension. Also, since -jpeg-overwrite is used, the  filename  will  be  exactly
                 "webcam.jpeg" and not include any numbers.

       dvgrab -V Capture over USB from a UVC compliant DV device.

       dvgrab -v4l -input /dev/video1
                 Capture over USB from a UVC compliant DV device using device file /dev/video1.

       dvgrab -format=hdv -autosplit=28800 -srt foo-
                 Capture from a HDV camcorder, splitting whenever there is a gap in the recording
                 that lasts longer than 8 hours. This will likely generate a  separate  file  for
                 each  day  (useful  for  holiday  videos). It will also generate subtitle files.
                 Assuming  that  the  files  foo-001.m2t  and  foo-002.m2t  are  generated,   the
                 corresponding   subtitle   files   will   be   foo-001.srt0,   foo-001.srt1  and
                 foo-002.srt0, foo-002.srt1.   You  can  use  the  subtitle  files  to  show  the
                 recording date and time while viewing the video.

AUTHOR

       Dan Dennedy <dan@dennedy.org> and Daniel Kobras kobras@debian.org>

       See http://www.kinodv.org/ for more information and support.

                                                                                        DVGRAB(1)