Grabbing DV Video from Camcorder over Firewire

by Stephen Fluin 2009.10.22

Long ago in a land far far away, all of the video capture devices that were created used something called "tape" to store the captured digital data. These tapes were sometimes called "minidv", and I have many of these. Unlike hard drives that spin only 360 degrees, or other solid state memory which doesn't move at all, minidv tapes need to be wound/unwound and recorded/copied to a computer, often using the camera itself to transmit the data.

After switching to linux, I found one really helpful command line tool that make grabbing this type of tape relatively simple. Make sure you plug in the camcorder and turn it into "playback mode" before attempting any of these.

Capture the video in raw format

For running the dvgrab tool, you will need to have root access or use sudo, as the dvgrab tool needs direct access to the camera over the firewire cable, and it appears that this cannot be handled with an automatic tool like HAL (hardware abstraction layer) yet.

There are many different options, and I recommend reading dvgrab --help, but when I capture video from my tapes, I use the following:

  1. -rewind This causes dvgrab to start out by rewinding the tape to the very beginning.
  2. -showstatus This allows you to see the filesizes, files, and timecodes with updates in real time as the grab process continues.
  3. -t The -t flag adds the timestamp from the MiniDV tape to be used in the output filename. I find this extremely helpful when later trying to figure out what video file contains what capture.
  4. -a This flag indicates that dvgrab should automatically notice cuts and place them in separate files.
  5. -s This flag indicates the size that the grab should be split into. The 0 parameter means not to split unless a scene is detected (The default is 1GB per file.
  6. -f dv2 This flag indicates that dvgrab should save the file in the "dv2" or ".avi" format. A raw format will work ok too, but I have had issues with players (even intelligent players like vlc) understanding this extremely raw format, as it is designed for easy and quick creation and storage on camcorders, and not playback or traditional digital storage.

So all together the command I use looks like this:

sudo dvgrab -rewind -showstatus -t -a -s 0 -f dv2