dvbackup
Hi, this ist the homepage of the dvbackup project.
You can download dvbackup here.
As you can see, this project is in an early stage and doesn't have
much documentation.
Basic Explanation of the working principle of dvbackup
Nevertheless, here we go: As you probably know, current digital
camcorders can save approximately 13 GB of data in SP mode on those tiny DV
cartridges at a speed of 3.6 MB/second. That's fast. Very fast. It's
faster than most DAT streamers which only work at 1 MB/sec or less.
We can not use all of the data, but 10 GB should be good enough for everyone.
Theoretically you could use LP as well, but then you need some sophisticated
error correction mechanism, for instance
rsbep by Guido Fiala.
That's nice, but how can we use this to save data on it? And here
comes the fun part: If you read the DV documentation carefully, you
will notice that the AC DCT coefficients of the video data blocks
(8x8 pixels in size) get a fixed amount of space in the DV data
stream, but can be terminated earlier with a certain code sequence.
So let's have some fun: We terminate the AC coefficients immediately
leaving only the DC coefficient for a fancy penguin picture and use the
rest for our backup data. Future implementations could easily add a
little picture showing the currently written file or something like that.
Then there is the audio data, which is written uncompressed onto the
tape. That means: We tell the camcorder
at the beginning of each frame, that we won't use audio at all but
fill the space reserved for it with data. Easy, but somewhat hacky.
In fact, I don't know, if this works on every camcorder.
Several Sonys are reported to work (including my VX700 and a TRV 830e ) and
a Panasonic NV-DA1. Your mileage may vary.
To finally bring the data on tape, you have to use an additional
utility, called dvconnect. The latest version is included in the
dvbackup distribution but finally belongs into libdv.
Advantages of dvbackup over other backup technologies
- relatively cheap (the cheapest camcorder will do it, but if you have
already one...)
- the tapes are quite cheap
- open standard: if your streamer, aah camcorder dies you can rescue
your data with any other one (except PAL/NTSC need to fit), you are
not bound to a special company
- it's faster than many streamers and it will be more comfortable - you can
use the search-index function to "jump" to a recording
- tapes (re)wind faster than many streamers
- you do not need to rewind the tape to eject it
Disadvantages of dvbackup
- you do not get any warranty :-)
Usage of the Unix client
- Press record on your camcorder. (Or use your favorite avc control
program for this. For the VX700 this doesn't work and you have to hack
something together, that uses LANC. I might publish my "solution" for
this soon...)
- Type
"find . |cpio -o -H crc |dvbackup --prefix=125 |dvconnect -s"
to stream directly to your camcorder. This most likely does only work
on very fast harddisks and filesystems. You might try something like
"find . |cpio -o -H crc |dvbackup --prefix=125 |dvconnect -s -b 500"
Alternatively, you can write the
data in several parts on tape. Just go experimenting, and mail me the
resulting backup scripts...
- Stop your camcorder and rewind.
- Now it's time to verify: Press play on tape ;-)
- Type "dvconnect |dvbackup -t" and watch for crc
errors. The data corruption bug mentioned for version 0.0.1 seems to
be fixed so there is no excuse in not using this little nifty program ;-)
And since version 0.0.3 it should finally work with NTSC...
- If you want to restore: Do a simple
"dvconnect |dvbackup -d|cpio -imV". CPIO will also happily tell
you about CRC errors. So you might want to check using cpio's archive test
mode too. But keep in mind, that cpio's CRC function is not that fast!
Oh yes: And you should definitely install libpopt, if you want to use
this program.
Some remarks on windows versions
This program is more or less ANSI
C. It should compile at least with a windows version of GCC. The only
thing you need then is a RAW-DV to AVI converter. Since DV Type 1 AVI
files are simple wrappers around RAW-DV this is an easy task. In
trouble take a look at
dvgrab
which can write AVI files. Since Microsoft decided, that older
versions of windows shouldn't be able to use firewire I decided that I
shouldn't use windows anymore (and therefore don't want to write such
a convertor in the near future...) I nevertheless accept and include
patches that add windows support.
Happy testing!
Peter Schlaile / Guido Fiala, Aug 2001