December 20, 2007

Using camcorder tapes to back up files

Author: Rui Lopes

DV and MiniDV camcorder tapes can be used for more than just storing audio and video recordings. If you have a camcorder and a FireWire connection to your computer, you can also use them to store files.

Using DV tapes for data storage has its advantages. A 60-minute tape, in Short Play mode, can realistically store about 10GB of information at a speed transfer of around 3MB/second, while in Long Play mode it should be able to store about 15GB. Besides that, moving files to a DV tape is a good way to hide sensitive data, because few people would look there for that kind of information.

To copy files to the tape and then restore them to the computer, you need two applications. dvconnect, which is installed together with libdv, serves as the interface between the camera and the computer through FireWire, while dvbackup does the actual work. The homepage of dvbackup (or its man page) provides basic instructions on how to do the backups.

Make sure you have all the required modules for dealing with FireWire and camera interaction. I have Ubuntu Studio installed, and on my first attempt to use dvconnect and dvbackup, I was getting device errors even though the command dvgrab -i allowed me to interact with the camera directly and capture video, so I was a bit baffled. When I ran lsmod, I saw that the module "video1394" wasn't loaded automatically. After loading it, the problem was solved.

After making sure all the requirements are met, you're ready to do backups. Insert a tape into the camcorder, rewind it, make sure it's correctly connected to the computer and recognized by the operating system, and press the camcorder's Record button. On the computer's command line, change to the directory where the files you want to copy are, and type:

find . | cpio -o -H crc | dvbackup --prefix=125 | dvconnect -s -b 500

This streams the files in the current directory to the camcorder. When the command is finished you can safely stop the camcorder. It took me 50 seconds to send 2GB to the camera on my first test.

Now check whether you were successful. After stopping the recording, rewind to the beginning. Press Play on the camcorder, and type at the CLI dvconnect | dvbackup -t to check for errors. If all is well, type dvconnect | dvbackup -d | cpio -imV to retrieve the files from the camcorder back to the computer.

You can record files to different parts of the tape, but knowing which files are where can get confusing (unless you create a giant 10GB tar.gz archive with your files and fill all the tape in one go). The parameter --set-backup-title of dvbackup allows you to assign a specific name to each backup, while the --set-picture parameter allows you to assign a picture to each backup, which will show up in the camcorder's LCD screen. The default picture is a penguin, but you can assign your own. Picture files must be in PPM format, and be 90x72 for PAL and 90x60 for NTSC.

Although camcorders already have error-correction built-in, and dvbackup also tries to prevent errors, if you want to backup files in LP mode (which is more error-prone) it's best to also use rsbep, which provides better data protection in case of tape errors or damaged tapes. (It almost goes without saying that you should use quality tapes for the backups; this can eliminate most of the CRC errors.) Version 0.0.5 of rsbep comes with three aditional shell scripts, which make it easier to make a tar backup to tape, restore it to the computer, and verify its integrity.

Instead of using find . to stream the files, you can use, for instance, tar, or better still, star. A good solution for most people concerned with the security and reliability of their backups is to use a mixture of dvbackup, rsbep, star, and gpg.

If you're having problems with backups, I suggest searching dvbackup's forums on This post and this, in particular, were useful to me.

The cons and final thoughts

It isn't advisable to make your backups on one camcorder and then attempt recovery using a different one. If you have one that works with dvbackup and the other tools, always use it. Also note that frequent backups will put more wear on the camcorder.

Both dvbackup and rsbep don't seem to be developed anymore. The latest version of both is years old. The version of dvbackup I installed was 0.0.4, while rsbep was still at 0.0.5 -- not very encouraging. I would really like to see someone take this concept and write a complete program out of it, even adding a decent graphical interface on top.

The reason why camcorder tape backup has fallen into oblivion is, however, comprehensible. Not everyone has a camcorder. Besides that, there's the cost issue for removable media. Currently, I can buy a set of five good-quality MiniDV tapes, which give me up to 75GB of storage, for $euro;15. But for €20 I can buy a pack of 100 blank DVDs, which gives me about 450GB. And it's much easier to pop a DVD into a drive to access data selectively than it is to plug a camera into the computer.

There's also the fact that almost every brand of camcorder uses its own specifications for data recording and transmission, which makes it difficult for an application to support every model of camcorder. The only camcorder I keep at home is a modest Canon MV890 (PAL), and it wouldn't work with dvbackup on my Ubuntu Studio system, so I have to borrow a Sony camera from a friend of mine whenever I want to do backups.

Finally, while the bulk of camcorders on the market today still uses DV tapes to record data, it won't be long before camcorders with hard drives or solid-state memory storage mechanisms will take over.

But for the time being, I'm going to continue using Mini DV tapes as an inconspicuous storage solution for sensitive data.


  • Backup & Data Recovery