Репозитории ALT
S: | 0.0.4-alt2 |
5.1: | 0.0.4-alt1 |
4.1: | 0.0.4-alt1 |
4.0: | 0.0.4-alt1 |
3.0: | 0.0.4-alt1 |
Группа :: Архивирование/Резервное копирование
Пакет: dvbackup
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: dvbackup-0.0.4-alt-docs.patch
Скачать
Скачать
--- dvbackup.sgml.orig 1970-01-01 03:00:00 +0300
+++ dvbackup.sgml 2004-04-11 16:29:04 +0400
@@ -0,0 +1,184 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+ <!ENTITY dhfirstname "<firstname>Robert</firstname>">
+ <!ENTITY dhsurname "<surname>Jordens</surname>">
+ <!ENTITY dhdate "<date>Feb 19, 2004</date>">
+ <!ENTITY dhsection "<manvolnum>1</manvolnum>">
+ <!ENTITY dhemail "<email>jordens@debian.org</email>">
+ <!ENTITY dhusername "Robert Jordens">
+ <!ENTITY dhucpackage "<refentrytitle>dvbackup</refentrytitle>">
+ <!ENTITY dhpackage "dvbackup">
+ <!ENTITY debian "<productname>Debian</productname>">
+ <!ENTITY gnu "<acronym>GNU</acronym>">
+]>
+
+<refentry>
+ <refentryinfo>
+ <address>
+ &dhemail;
+ </address>
+ <author>
+ &dhfirstname;
+ &dhsurname;
+ </author>
+ <copyright>
+ <year>2004</year>
+ <holder>&dhusername;</holder>
+ </copyright>
+ &dhdate;
+ </refentryinfo>
+ <refmeta>
+ &dhucpackage;
+
+ &dhsection;
+ </refmeta>
+ <refnamediv>
+ <refname>&dhpackage;</refname>
+
+ <refpurpose>Converter from arbitrary data to a DV stream
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>&dhpackage;</command>
+ <!-- -->
+ <arg><option>--version</option></arg>
+ <arg><option>-n|--ntsc-mode</option></arg>
+ <arg><option>-d|--decode</option></arg>
+ <arg><option>-t|--verify</option></arg>
+ <arg><option>-b|--set-backup-title=TITLE</option></arg>
+ <arg><option>--set-picture=PPM-FILE</option></arg>
+ <arg><option>-v|--verbose</option></arg>
+ <arg><option>-p|--prefix=COUNT</option></arg>
+ <arg><option>--test=COUNT</option></arg>
+ <arg><option>-r|--recover</option></arg>
+ <arg><option>--enable-audio</option></arg>
+ <arg><option>-?|--help</option></arg>
+ <arg><option>--usage</option></arg>
+
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This manual page documents briefly the
+ <command>&dhpackage;</command> tool.</para>
+
+ <para>This manual page was written for the &debian; distribution
+ because the original program does not have a manual page.</para>
+
+ <para>
+ As you probably know, current digital
+ camcorders can save approximately 13 GB of data 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.
+ </para><para>
+ 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.
+ </para><para>
+ 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 and not only on mine (a Sony VX700). Your mileage may
+ vary.
+ </para><para>
+ To finally bring the data on tape, you have to use an additional
+ utility, called dvconnect, which is (hopefully soon) included into
+ libdv. Take a look at the patch manager if it's not in already. And
+ then it's time to rock and roll:
+ </para><para>
+Advantages of dvbackup over other backup technologies</para>
+<VariableList>
+<VarListEntry><term></><ListItem><para>
+ relatively cheap (the cheapest camcorder will be enough, but if you
+ have already one...)
+</para></LISTITEM></VarListEntry><VarListEntry><term></><ListItem><para>
+ the tapes are quite cheap
+</para></LISTITEM></VarListEntry><VarListEntry><term></><ListItem><para>
+ 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
+</para></LISTITEM></VarListEntry><VarListEntry><term></><ListItem><para>
+ it's faster than many streamers and it will be more comfortable -
+ you can use the search-index function to "jump" to a recording
+</para></LISTITEM></VarListEntry><VarListEntry><term></><ListItem><para>
+ tapes (re)wind faster than many streamers
+</para></LISTITEM></VarListEntry><VarListEntry><term></><ListItem><para>
+ you do not need to rewind the tape to eject it
+</para></LISTITEM></VarListEntry>
+</VariableList>
+
+<para>Disadvantages of dvbackup</para>
+<VariableList><VarListEntry><term></><ListItem><para>
+ you do not get any warranty :-)
+</para></LISTITEM></VarListEntry></VariableList>
+
+<para>Usage of the Unix client</para>
+<VariableList><VarListEntry><term></><ListItem><para>
+ 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...)
+</para></LISTITEM></VarListEntry><VarListEntry><term></><ListItem><para>
+ 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...
+</para></LISTITEM></VarListEntry><VarListEntry><term></><ListItem><para>
+ Stop your camcorder and rewind.
+</para></LISTITEM></VarListEntry><VarListEntry><term></><ListItem><para>
+ Now it's time to verify: Press play on tape ;-)
+</para></LISTITEM></VarListEntry><VarListEntry><term></><ListItem><para>
+ 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 ;-)
+</para></LISTITEM></VarListEntry><VarListEntry><term></><ListItem><para>
+ 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!
+</para></LISTITEM></VarListEntry></VariableList>
+
+ </refsect1>
+ <refsect1>
+ <title>AUTHOR</title>
+ <para>This manual page was written by &dhusername; &dhemail; for the
+ &debian; system (but may be used by others). Permission is granted
+ to copy, distribute and/or modify this document under the terms of
+ the <acronym>GNU</acronym> General Public License, Version 2. On
+ Debian systems, the full text of this license can be found in the
+ file /usr/share/common-licenses/GPL-2.</para>
+ </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
+
+
--- rsbep.sgml.orig 1970-01-01 03:00:00 +0300
+++ rsbep.sgml 2004-04-11 16:30:59 +0400
@@ -0,0 +1,222 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+ <!ENTITY dhfirstname "<firstname>Robert</firstname>">
+ <!ENTITY dhsurname "<surname>Jordens</surname>">
+ <!ENTITY dhdate "<date>Feb 19, 2004</date>">
+ <!ENTITY dhsection "<manvolnum>1</manvolnum>">
+ <!ENTITY dhemail "<email>jordens@debian.org</email>">
+ <!ENTITY dhusername "Robert Jordens">
+ <!ENTITY dhucpackage "<refentrytitle>rsbep</refentrytitle>">
+ <!ENTITY dhpackage "rsbep">
+ <!ENTITY debian "<productname>Debian</productname>">
+ <!ENTITY gnu "<acronym>GNU</acronym>">
+]>
+
+<refentry>
+ <refentryinfo>
+ <address>
+ &dhemail;
+ </address>
+ <author>
+ &dhfirstname;
+ &dhsurname;
+ </author>
+ <copyright>
+ <year>2004</year>
+ <holder>&dhusername;</holder>
+ </copyright>
+ &dhdate;
+ </refentryinfo>
+ <refmeta>
+ &dhucpackage;
+
+ &dhsection;
+ </refmeta>
+ <refnamediv>
+ <refname>&dhpackage;</refname>
+
+ <refpurpose>Reed-Solomon FEC (forward error correction) with
+ byte-spreading
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>&dhpackage;</command>
+ <!-- [-d] [-v] [-q] [-B x -D y -R z ] -->
+ <arg><option>-d</option></arg>
+ <arg><option>-v</option></arg>
+ <arg><option>-q</option></arg>
+ <arg><option>-B x</option></arg>
+ <arg><option>-D y</option></arg>
+ <arg><option>-R z</option></arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This manual page documents briefly the
+ <command>&dhpackage;</command> tool.</para>
+
+ <para>This manual page was written for the &debian; distribution
+ because the original program does not have a manual page.</para>
+
+ <para><command>&dhpackage;</command>is a tool that protects the data-stream
+ from stdin with Reed-Solomon FEC (forward error correction) and additional
+ it spreads the bytes of the resulting blocks out to give some protection
+ against burst errors (e.g from tape-recordings).</para>
+
+ <para>The Reed-Solomon-code is from Phil Karn (see REAMDE.rsbep.RS32), and
+ it's a special version for i386 (and compatible) to get enough performance
+ for realtime encoding/decoding making it suitable for use with the tool
+ "dvbackup" - which requires 3,6MByte/sec of data to feed the
+ MiniDV-Camcorder. It is hardwired for (255,223)-RS.</para>
+
+ <para>The burst error protection is done by encoding ERR_BURST_LEN blocks
+ of 255 bytes and placing the Bytes of an RS-block with distance
+ ERR_BURST_LEN withing a buffer of ERR_BURST_LEN*255 bytes size. (This is
+ the minimum output size of rsbep)</para>
+
+ <para>During decoding the blocks are reassembled and then decoded by RS32.
+ If any error occured in the data it is corrected if possible, otherwise
+ written as is, the number of corrected failures and uncorrectable blocks is
+ printed if >0 or according to commandline options (v,q).</para>
+
+ <para>The first line of each encoded output block contains</para>
+ <para>"rsbep 255 223 765 MAGIC_NUM"</para> <para>which is the identifier for
+ rsbep, the Reed-Solomon block-size, data-size and the ERR_BURST_LEN (that is
+ a number >=block-size and exact multiple of block-size). MAGIC_NUM is used
+ to resynchronize if the stream is completly broken, which makes it possible
+ to recover later files in your (tar-)archive.</para>
+
+</refsect1>
+<refsect1>
+ <title>ERROR CORRECTION</title>
+
+ <para>Now how much errors can it correct?</para>
+
+ <para>RS(255,223) can correct up to 16 incorrect bytes in
+ unknown positions.</para>
+
+ <para>However, the problem is, that typical communications and storage
+ errors are also burst errors - which is that a lot of subsequent bytes are
+ lost. That would mean, if more than 16 subsequent bytes are damaged, the
+ data are irreparably damaged.</para>
+
+ <para>The method above spreads those bytes so far out, that up to
+ 16*255*3=12240 subsequent bytes can get garbled without loosing valuable data
+ at all!</para>
+
+ <para>Test with dvbackup and the LongPlay mode of my camcorder showed that
+ more than enough to use it - it corrected Kilo-Bytes of errors in Giga-Bytes
+ of data.</para>
+
+ <para>Of course there is a probability, that the failure has just that rate,
+ that it hit's always the bytes of the same block - i leave it to the
+ mathematicians among you to calculate it ;-)</para>
+
+</refsect1>
+<refsect1>
+ <title>LIMITATIONS</title>
+
+ <para>* It does'nt make use of "erasures" - that would double the recover
+ rate.</para>
+
+ <para>* It is hardcoded for RS(255,223)*(<=255) bytes, if you change the
+ code you may not be able to recover old data with different
+ RS-values</para>
+
+ <para>* The resynchronisation takes so much CPU that it will fillup the
+ buffer soon and anything will fall apart, (running the program 'offline'
+ might help) - it needs a lot of work to
+ be really of use...</para>
+
+ <para>* Failures in the header-line might have drastic consequences,
+ mathematically spoken: Those bytes contain more information</para>
+
+ <para>* The error correction works only from stream with failures,
+ not erasures, dvbackup has the option '-r' to take care of this to the
+ extend MiniDV allows.</para>
+
+</refsect1>
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>-d</option>
+ </term>
+ <listitem>
+ <para>Decode. The default is to encode.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v</option>
+ </term>
+ <listitem>
+ <para>Verbose. Talks about the errors it encounters and gives
+ statistics at the end.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-q</option>
+ </term>
+ <listitem>
+ <para>Quiet. Output only a minimum of messages.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-B x</option>
+ </term>
+ <listitem>
+ <para>Override the default Reed-Solomon blocksize of 255 and use 'x'
+ instead. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-D y</option>
+ </term>
+ <listitem>
+ <para>Override the default Reed-Solomon datasize of 223 and use 'y'
+ instead. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-R z</option>
+ </term>
+ <listitem>
+ <para>Override the default ERR_BURST_LEN (used to spread the data) of
+ 765 and use 'z' instead.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+ <refsect1>
+ <title>AUTHOR</title>
+ <para>This manual page was written by &dhusername; &dhemail; for the
+ &debian; system (but may be used by others). The text is based on
+ information from Guido Fiala. Permission is granted
+ to copy, distribute and/or modify this document under the terms of
+ the <acronym>GNU</acronym> General Public License, Version 2. On
+ Debian systems, the full text of this license can be found in the
+ file /usr/share/common-licenses/GPL-2.</para>
+ </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
+
+
--- README.ALT.orig 1970-01-01 03:00:00 +0300
+++ README.ALT 2004-04-13 20:28:14 +0400
@@ -0,0 +1,48 @@
+README for ALTLinux package
+---------------------------
+
+We assume you have video1394 and raw1394 module loaded.
+All examples for PAL camcoders.
+
+Make backup
+-----------
+
+using RSBEP:
+$ dvcont record; sleep 5; \
+find /what/dir | cpio -o -H crc | rsbep -v | \
+dvbackup -b 'title' -v -p 200 -o 200 | \
+dvconnect -s -v -u /usr/share/dvbackup/underrun-pal.dv; \
+dvcont stop
+
+not using RSBEP:
+$ dvcont record; sleep 5; \
+find /what/dir | cpio -o -H crc | \
+dvbackup -b 'title' -v -p 200 -o 200 | \
+dvconnect -s -v -u /usr/share/dvbackup/underrun-pal.dv; \
+dvcont stop
+
+Verify backup
+-------------
+
+using RSBEP:
+$ dvcont play ; \
+dvconnect | dvbackup -d -v | rsbep -d -v | \
+cpio -i --only-verify-crc; dvcont stop
+
+not using RSBEP:
+$ dvcont play ; \
+dvconnect | dvbackup -d -v | \
+cpio -i --only-verify-crc; dvcont stop
+
+Restore from backup
+-------------------
+
+using RSBEP:
+$ dvcont play ; \
+dvconnect | dvbackup -d -v | rsbep -d -v | \
+cpio -idm --no-absolute-filenames; dvcont stop
+
+not using RSBEP:
+$ dvcont play ; \
+dvconnect | dvbackup -d -v | \
+cpio -idm --no-absolute-filenames; dvcont stop