Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37396465
en ru br
Репозитории 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
www.altlinux.org/Changes

Группа :: Архивирование/Резервное копирование
Пакет: 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 &gt;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 &gt;=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)*(&lt;=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
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin