NAME¶
dvgrab — Importiert DV oder MPEG2-Transport-Stream (HDV) Video- und
Tondaten über FireWire- und USB-Verbindungen
ÜBERSICHT¶
dvgrab [
Optionen] [
Basis] [-]
BESCHREIBUNG¶
dvgrab ist ein Programm, mit dem DV oder HDV (MPEG2-TS) Video- und
Audiodaten von einem digitalen Camcorder via IEEE1394-Verbindung importiert
werden können. Die Daten werden in einer oder mehreren Dateien
gespeichert und können später mit einem Videobearbeitungsprogramm
weiter verarbeitet werden.
dvgrab kann den Camcorder fernsteuern, aber
zeigt das Videomaterial nicht auf dem Bildschirm an.
dvgrab unterstützt auch UVC-kompatible (USB Video Class)
DV-Geräte durch das Linux-Kernelmodul »uvcvideo«, einen
V4L2-Treiber. Dabei gibt es aber keine Steuerung über AV/C, deshalb ist
der interaktive Modus ziemlich nutzlos.
Aus dem Argument
Basis wird der Dateiname der Videodatei zusammengesetzt:
Basis-
Zahl.
Erw.
Zahl ist eine bei 001 beginnende
fortlaufende Nummer und
Erw eine Dateinamenserweiterung, die vom
benutzten Dateiformat abhängt, z. B. avi. Die Namensgebung weicht
davon ab, wenn die Option
-timestamp,
-timecode oder
-timesys verwendet wird (siehe unten). Wenn
Basis ein
vollständiger Dateiname einschließlich einer Namenserweiterung ist,
dann versucht
dvgrab das Ausgabeformat von dieser Erweiterung
abzuleiten, aber es fügt trotzdem
Zahl ein. Die voreingestellte
Basis ist
dvgrab-, wenn keine andere angegeben wurde.
Wenn als
Basis das Zeichen '-' verwendet wird, gibt
dvgrab die
unveränderten DV- oder HDV-Daten auf die Standardausgabe aus. Wenn das
Video in eine Datei importiert wird, werden die Daten auch auf die
Standardausgabe geschrieben, wenn die Standardausgabe an eine Pipe
angeschlossen oder umgeleitet ist.
Sie können
dvgrab's leistungsfähige Datei-Schreibfunktionen
auch für andere Programme nutzen, die unveränderte DV- oder
HDV-Daten erzeugen. Benutzen Sie dafür die Option
-stdin und
dvgrab versucht die DV- oder HDV-Daten von der Standardeingabe zu
lesen, wenn es erkennt, dass es am Ausgang einer Pipe hängt und nicht
interaktiv betrieben wird.
OPTIONEN¶
Optionen, die länger als ein Buchstabe sind, können durch einen oder
zwei führende Bindestriche angegeben werden. Optionsname und Argumentwert
können durch Leerzeichen oder Gleichheitszeichen getrennt werden.
- -a [Zahl], -autosplit
[Zahl]
- Es wird versucht den Anfang jeder neuen Aufnahme zu
erkennen und in einzelnen Dateien zu speichern. Das kann mit den Optionen
-frames und -size kombiniert werden und mit einer neuen
Datei wird begonnen, wenn eins der angegebenen Ereignisse eintritt.
Automatisches Teilen ist normalerweise ausgeschaltet.
Die Angabe von Zahl ist optional. Ohne diese Angabe findet
dvgrab anhand einer Signalisierung im Datenstrom oder einer
Unterbrechung in den Zeitstempeln selbst heraus, wann eine neue Datei
beginnen soll. Dabei muss der Zeitsprung rückwärts sein oder
vorwärts mehr als 1 Sekunde betragen. Durch die Angabe von
Zahl kann die Dauer des Zeitsprungs eingestellt werden und die
Signalisierung einer neuen Aufnahme im Datenstrom wird nicht mehr
beachtet. Dadurch kann man die Aufnahme an größeren
Zeitsprüngen, wie Minuten oder Stunden, teilen lassen.
Beispiel: -autosplit=3600 teilt die Aufnahme in mehrere Dateien, wenn
sie Zeitsprünge von 1 Stunde oder länger enthält.
- -buffers Zahl
- Die Anzahl der wegen I/O-Verzögerungen
zwischengespeicherten Frames. Voreingestellt ist 100.
- -card Zahl
- dvgrab empfängt die Daten von der
FireWire-Karte mit der Nummer Zahl. Standardmäßig wird
die erste Karte mit der ersten gefundenen Kamera verwendet. In Verbindung
mit der Option -noavc wird der Bus nicht abgesucht. In Verbindung
mit der Option -guid Hex-Zahl wird nur der angegebene Bus
nach einem Gerät mit der GUID Hex-Zahl abgesucht.
- -channel Zahl
- Isochroner Kanal, von dem die Daten empfangen werden.
Voreingestellt ist 63, das ist so üblich bei DV-Camcordern
heutzutage. Wenn Sie etwas anderes angeben, wird dem Gerät zur Zeit
nicht mitgeteilt, welchen Kanal es nutzen soll. Sie müssen dem
Gerät selbst übermitteln, welcher Kanal genutzt wird.
- -cmincutsize Zahl
- Diese Option bewirkt, dass eine Teilung und der Beginn
einer neuen Zusammenstellung Zahl Megabyte (eigentlich Mebibyte)
vor dem Ende der aktuellen Zusammenstellung erfolgt. Diese Option kann
verhindern, dass kleine Dateien entstehen, wenn die Option -csize
benutzt wird. Wenn eine neue Zusammenstellung auf diese Weise begonnen
wird, merkt sich das Programm den frei gebliebenen Speicherplatz. Sollte
die neue Zusammenstellung dort hinein passen, wird der neue Startpunkt
zurück gesetzt.
- -csize Zahl
- Diese Option veranlasst dvgrab Dateien zu teilen,
wenn eine Zusammenstellung von Dateien Zahl Megabyte
überschreitet. Damit können Dateien aneinander gereiht werden
und sie passen genau in Zahl Megabyte (eigentlich Mebibyte)
(z. B. zum Archivieren auf DVD). Wenn die Grenze erreicht wird,
beginnt eine neue Zusammenstellung. (Siehe auch Option
-cmincutsize)
- -debug Typ
- Zeigt HDV-Debug-Informationen an, Typ ist einer oder
mehrere von: all,pat,pmt,pids,pid=N,pes,packet,video,sonya1
- -d, -duration Zeit
- Setzt die maximale Dauer des Imports inklusive aller
Teildateien für einen einzelnen Import-Vorgang (mehrfache
Vorgänge sind im interaktiven Modus möglich). Der Wert
Zeit wird im »SMIL2 MediaClipping«-Zeitformat angegeben.
Siehe http://w3.org/AudioVideo/ für die Spezifikation.
-
- Kurz beschrieben ist das Format:
-
- XXX[.Y]h, XXX[.Y]min, XXX[.Y][s], XXXms,
-
- [[HH:]MM:]SS[.ms] oder smpte=[[[HH:]MM:]SS:]FF.
- -every n
- Diese Option veranlasst dvgrab nur jedes n-te
Frame abzuspeichern (standardmäßig alle Frames).
- -f, -format dv1 | dv2 | avi |
raw | dif | qt | mov | jpeg | jpg
| mpeg2 | hdv
- Gibt das Format der Ausgabedatei(en) an. Das Dateiformat
kann auch ermittelt werden, wenn Sie eine Erweiterung zum Namen
Basis angeben. Die folgenden Erweiterungen werden erkannt: avi, dv,
dif, mov, jpg, jpeg und m2t (HDV).
-
- dv1 und dv2 sind beides AVI-Dateien mit etwas
unterschiedlichen Formaten. dv2 speichert eine Tonspur
zusätzlich zur DV-Videospur, was kompatibler mit anderen Anwendungen
ist. dv1 speichert eine einzige DV-Spur, weil das DV-Format
grundsätzlich Ton und Video mischt. Obwohl dv1 kleinere
Ausgabedateien erzeugt, verstehen es manche Anwendungen nicht und
verlangen dv2. dvgrab kann sehr große AVI-Dateien
anlegen, z. B. über 2 oder 4 GB, aber die
Kompatibilität mit anderen Anwendungen nimmt über einer
Größe von 1 GB ab.
-
- raw speichert die Daten unverändert mit der
Dateiendung .dv. Diese Dateien können von einigen
GNU/Linux-Werkzeugen gelesen werden, genauso wie von »Apple
Quicktime«.
-
- dif eine Abwandlung des raw-Formats; die Dateien
erhalten die Endung .dif. Damit können sie sofort mit Programm
»MainConcept MainActor5« geladen werden.
-
- qt ist Quicktime-Format, aber erfordert, dass
dvgrab mit »libquicktime« kompiliert wurde.
-
- jpg oder jpeg ist für eine Folge von
JPEG-Bildern, wenn dvgrab mit den Bibliotheken libdv und jpeglib
kompiliert wurde. Diese Option kann nur bei DV-Geräten benutzt
werden, nicht bei HDV (MPEG2-TS).
-
- mpeg2 oder hdv ist für
MPEG-2-Transportströme, wenn z. B. ein HDV-Camcorder oder eine
digitale TV-Settop-Box benutzt wird.
-
- Voreingestellt ist raw.
- -F, -frames Zahl
- Diese Option veranlasst dvgrab höchstens
Zahl Frames pro Datei abzuspeichern, bevor eine neue Datei
angefangen wird, dabei bedeutet Zahl = 0 unbegrenzt. Die Spieldauer
der Datei hängt vom verwendeten Videosystem ab. PAL zeigt 25, NTSC
ungefähr 30 Frames pro Sekunde.
- -guid Hex-Zahl
- Wenn Sie mehr als ein DV-Gerät haben, wählen Sie
eins aus, indem Sie die GUID Hex-Zahl (hexadezimales Format) dieses
Geräts angeben. Das Format ist in /proc/bus/ieee1394/devices oder bei
Kernel 2.6 im Dateisystem /sys zu sehen. Wenn Sie eine GUID angeben, baut
dvgrab eine Punkt-zu-Punkt-Verbindung auf, anstatt auf die Meldung
des Geräts zu warten. Wenn Sie als Hex-Zahl den Wert 1
eingeben, versucht dvgrab das Gerät zu finden und baut eine
Punkt-zu-Punkt-Verbindung auf. Das ist besonders bei MPEG2-TS Settop-Boxen
nützlich, die häufig eine Verbindungsverwaltung erfordern, um
mit der Übertragung zu beginnen.
- -h, -help
- Zeigt eine Zusammenfassung der Optionen.
- -I, -input Datei
- Liest von der Datei anstelle von FireWire. Sie
können '-' für die Standardeingabe anstelle von -stdin
verwenden.
- -i, -interactive
- Versetzt dvgrab in den interaktiven Modus, sodass
jeder Tastendruck die Kamera steuert oder den Import (capture) startet
oder stoppt. Andernfalls läuft dvgrab im Session-Modus, wobei
es sofort anfängt einzulesen und nach Festlegung oder Unterbrechung
(durch STRG-c) aufhört.
- -jpeg-deinterlace
- Zusammen mit -format jpeg entflechtet
(deinterlace) es die Ausgabe durch Verdoppelung der Zeilen im oberen Feld.
Dies ist eine einfache Form des Deinterlace, wobei 50% der Auflösung
verloren geht.
- -jpeg-height Zahl
- Zusammen mit -format jpeg wird die Ausgabe
auf eine Höhe von Zahl (1 - 2048) skaliert.
- -jpeg-overwrite
- Zusammen mit -format jpeg wird die selbe
Datei immer wieder überschrieben, anstatt eine Folge von Dateien
anzulegen.
- -jpeg-quality Zahl
- Zusammen mit -format jpeg setzt es die
JPEG-Qualitätsstufe von 0 (schlechteste) bis 100 (beste).
- -jpeg-temp Datei
- Beim Erstellen des JPEGs wird eine temporäre Datei
benutzt, die in die Zieldatei umbenannt wird, wenn sie komplett ist. Das
ist nützlich, wenn dvgrab mit der Option
-jpeg-overwrite zur Erstellung eines Webcam-Bildes genutzt wird.
- -jpeg-width Zahl
- Zusammen mit -format jpeg wird die Ausgabe
auf eine Breite von Zahl (1 - 2048) skaliert.
-
- Die skalierte Breite und Höhe des JPEGs müssen
beide entweder kleiner oder größer als die normale
Frame-Größe sein. Zum Beispiel, auch wenn eine skalierte Breite
von 700 und Höhe von 525 Bildpunkten ein Verhältnis von 4:3
ergibt, ist dieses Bild für NTSC unzulässig, weil 700 kleiner
als die normale Breite von 720 ist, aber die Höhe ist
größer als 480.
-
- Weil DV nicht-quadratische Bildpunkte verwendet, ist es
gut, das Bild auf ein Seitenverhältnis von 4:3 mit quadratischen
Bildpunkten skalieren zu können. Für NTSC sind
Beispielgrößen: 800x600, 640x480 und 320x240. Für PAL
beispielsweise 384x270 und 768x540.
- -jvc-p25
- Entfernt die Signalisierung »remove_first_field«
und setzt den Wert für Bilder pro Sekunde auf 25, um einen Datenstrom
zu korrigieren, der in JVCs Modus »HDV P25« aufgenommen wurde.
- -lockstep
- Richtet den Import an einem Vielfachen von -frames
aus, basierend auf dem Zeitstempel. Das dient der Redundanz, wenn mehr als
ein Rechner von dem selben FireWire-Gerät importiert und Sie sicher
stellen wollen, dass jede Datei das gleiche Filmmaterial enthält.
Damit die Dateien auf jedem Rechner den gleichen Namen haben, benutzen Sie
die Option -timecode und die gleiche Basis.
- -lockstep_maxdrops Anzahl
- Wenn hintereinander die Anzahl Frames verworfen
wurden, dann wird die Datei geschlossen und der Import am nächsten
»Lockstep«-Intervall wieder gestartet. Wenn die Anzahl
gleich -1 ist, dann ist diese Funtion ausgeschaltet. Das ist
voreingestellt.
- -lockstep_totaldrops Zahl
- Wenn die absolute Anzahl Frames verworfen wurden,
dann wird die Datei geschlossen und der Import am nächsten
»Lockstep«-Intervall wieder gestartet. Wenn die Anzahl
gleich -1 ist, dann ist diese Funtion ausgeschaltet. Das ist
voreingestellt.
- -noavc
- Schaltet die Kamerasteuerung aus. Das sollte benutzt
werden, wenn Live-Videodaten von der Videokamera im Kamera-Modus
importiert werden, weil dabei das AV/C-Kommando »Wiedergabe« die
Aufnahme der Kamera starten würde. Möglicherweise wird das
eingelegte Band überspielt. Die Option wirkt auf den interaktiven und
nicht-interaktiven Modus, weil im letzteren Fall auch Start- und
Stopp-Signale zur Kamera gesendet werden, wenn der Import gestartet oder
gestoppt wird.
- -nostop
- Beim Beenden von dvgrab wird der AV/C-VTR-Befehl
»Stopp« nicht gesendet.
- -opendml
- Zusammen mit -format dv2 erstellt es eine
OpenDML-konforme DV-AVI-Datei vom Typ 2. Das ist für dv2-Dateien
>1GB erforderlich. dv1 unterstützt schon Dateien >1GB.
- -r, -recordonly
- Wenn die Kamera im Aufnahmemodus ist, wird dvgrab
nur dann Daten einlesen, wenn die Kamera aufnimmt und nicht in
»Pause« ist. Normalerweise liest dvgrab immer Daten ein,
wenn die Kamera im Aufnahmemodus ist und überlässt die Steuerung
dem Benutzer des Rechners. Mit dieser Option verhält sich
dvgrab wie ein Videorekorder, bei dem der Bediener der Kamera
bestimmt, wann eingelesen wird. Das ist zusammen mit der Option
-autosplit sehr nützlich, um für jede Szene eine eigene
Datei anzulegen. Dazu wird AV/C benötigt und es funktioniert nicht
zusammen mit der Option -noavc.
- -rewind
- Die Kassette wird bis an den Anfang zurück gespult,
bevor mit dem Dateneinlesen begonnen wird. Dazu wird AV/C benötigt
und es funktioniert nicht im interaktiven Modus.
- -showstatus
- Normalerweise werden Informationen zum Einlesen nach dem
Schreiben jeder Datei angezeigt. Mit dieser Option wird der Importstatus
während des Einlesens angezeigt und bei jedem Frame aktualisiert.
- -s, -size Zahl
- Diese Option veranlasst dvgrab höchstens
Zahl Megabyte (eigentlich Mebibyte) pro Datei abzuspeichern, bevor
eine neue Datei angelegt wird, dabei bedeutet Zahl = 0
unbegrenzte Dateigröße. Voreingestellt ist die Grenze auf 1024
MB.
- -srt
- Es werden Untertiteldateien mit dem Aufnahmedatum und
-uhrzeit im »SRT«-Format erstellt. Für jede abgespeicherte
Videodatei werden zwei zusätzliche Dateien mit den Endungen
».srt0« und ».srt1« angelegt. Sie enthalten das
Aufnahmedatum und -uhrzeit als Untertitel im »SRT«-Format. Die
Datei »*.srt0« enthält Untertitel, deren Zeitbasis sich an
der laufenden Zeit, vom Beginn der aktuellen Datei an, orientiert. Diese
Datei sollte beim Umwandeln in ein Format wie AVI verwendet werden. Die
Datei »*.srt1« enthält Untertitel, deren Zeitbasis sich an
der von der Kamera übertragenen Zeit orientiert. Das Programm
»MPlayer« kann mit diesen Untertiteln umgehen.
- -stdin
- Liest den Datenstrom aus einer Pipe an der Standardeingabe
anstatt vom FireWire-Treiber.
- -timecode
- Baut den Zeitstempel des ersten Frames jeder Datei in den
Dateinamen ein.
- -t, -timestamp
- Baut Datum und Uhrzeit der Aufnahme in den Dateinamen ein.
- -timesys
- Verwendet das Datum und -uhrzeit des Systems anstatt der
Aufnahme für den Dateinamen. Das ist nützlich, wenn Umwandler
verwendet werden, die das Aufnahmedatum und -uhrzeit in den DV-Daten nicht
ändern.
- -V, -v4l2
- Liest von einem USB-Video-Class-(UVC)-Gerät ein, das
DV unterstützt. Der Kernel-Treiber »uvcvideo« via V4L2 wird
benutzt. Das Standard-Gerät ist /dev/video. Mit der Option
-input können Sie eine andere Gerätedatei einstellen.
- -v, -version
- Zeigt die Programmversion.
- -24p
- Setzt bei »Quicktime DV« die Framerate auf
24 fps in der Quicktime-Datei. Das funktioniert aber nur, wenn die
Aufnahme im Modus »24p« erfolgte.
- -24pa
- Setzt bei »Quicktime DV« die Framerate auf
24 fps in der Quicktime-Datei und macht zusätzlich das
»2:3:3:2 pull down«-Verfahren rückgängig,
indem die »interlaced C-Frames« entfernt werden. Das
funktioniert aber nur, wenn die Aufnahme im Modus
»24p advanced« erfolgte. Siehe
http://www.adamwilt.com/24p/.
BEISPIELE¶
- dvgrab foo-
- Importiert Videodaten von der standardmäßigen
FireWire-Quelle und speichert sie in Dateien foo-001.avi,
foo-002.avi, usw.
- dvgrab -frames 25 foo-
- Eine PAL-Video-Quelle vorausgesetzt, speichert dieses
Kommando eine Sekunde Videodaten pro Datei.
- dvgrab -autosplit -frames 750 -timestamp foo-
- Liest Videodaten von der voreingestellten FireWire-Quelle
ein, teilt sie in Stücke von 30 Sekunden (angenommen PAL) oder am
Beginn einer neuen Aufnahme und benennt die Dateien nach den Datums- und
Zeitinformationen des Videostroms.
- dvgrab -autosplit -size 1998 -csize 4400 -cmincutsize 10
foo-
- Importiert Videodaten von der standardmäßigen
FireWire-Quelle, teilt sie in Stücke, wenn eine neue Aufnahme beginnt
oder die aktuelle Datei 1998 Megabyte überschreitet oder die aktuelle
Zusammenstellung von Dateien größer als 4400 Megabyte wird.
Außerdem beschränkt es die kleinste Dateigröße, die
durch Teilung einer Zusammenstellung entsteht, auf 10 Megabyte.
-
- Dieses Beispiel ist sehr gut geeignet, um DV-Daten auf DVDs
zu sichern, weil 2 GByte ungefähr die maximale
Dateigröße ist, mit der die (aktuelle) Linux-Umsetzung des
ISO9660-Dateisystems umgehen kann.
-
- Achtung: Es ist möglich in ISO9660-Dateisystemen
Dateien größer als 2 GByte anzulegen, aber die aktuellen
Linux-Treiber für ISO9660 können diese nicht lesen. Neuere
Kernel können evtl. mit Dateien größer 2 GByte im
ISO9660-Dateisystem umgehen.
- dvgrab -format hdv -autosplit
- Liest von einem HDV-Camcorder ein, versucht den Anfang
jeder neuen Aufnahme zu erkennen und in einzelnen Dateien zu speichern.
- dvgrab -format mpeg2 -guid 1
- Nimmt von einer digitalen TV-Settop-Box auf.
- dvgrab -jpeg-over -jpeg-w=320 -jpeg-h=240 -d smpte=1
webcam.jpeg
- Liest ein einzelnes Frame ein, speichert es als JPEG mit
dem Namen »webcam.jpg« und endet. Dieses Beispiel zeigt auch die
Verwendung von Optionen. Sie müssen von einem langen Optionsnamen nur
so viel angeben, damit er eindeutig ist. Sie können Leerzeichen oder
Gleichheitzeichen benutzen, um den Optionsnamen und den Wert zu trennen.
Das Dateiformat wird von der Erweiterung des Dateinamens abgeleitet. Weil
die Option -jpeg-overwrite verwendet wird, ist der Dateiname genau
»webcam.jpeg« und enthält keine Zahlen.
- dvgrab -V
- Importiert über USB von einem UVC-konformen
DV-Gerät.
- dvgrab -v4l -input /dev/video1
- Importiert über USB von einem UVC-konformen
DV-Gerät und benutzt die Gerätedatei /dev/video1.
- dvgrab -format=hdv -autosplit=28800 -srt foo-
- Liest von einem HDV-Camcorder ein und speichert jede
Aufnahme in einer eigenen Datei, wenn sie einen Zeitunterschied von mehr
als 8 Stunden zur vorherigen hat. Das erzeugt eine eigene Datei für
jeden Tag (gut für Urlaubsvideos). Außerdem werden
Untertiteldateien angelegt. Angenommen, die Dateien
»foo-001.m2t« und »foo-002.m2t« werden erstellt, so
werden auch die dazu gehörenden Untertiteldateien
»foo-001.srt0«, »foo-001.srt1«,
»foo-002.srt0« und »foo-002.srt1« angelegt. Die
Dateien können benutzt werden, um Aufnahmedatum und -uhrzeit beim
Anschauen des Videos anzuzeigen.
AUTOR¶
Dan Dennedy <dan@dennedy.org> und Daniel Kobras <kobras@debian.org>.
Erik Schanze <eriks@debian.org> hat sie ins Deutsche übersetzt.
Mehr Informationen und Unterstützung finden Sie auf der Webseite
http://www.kinodv.org/ .