dvgrab — Importiert DV oder MPEG2-Transport-Stream (HDV)
Video- und Tondaten über FireWire- und USB-Verbindungen
ÜBERSICHT
dvgrab [Optionen] [Basis] [-]
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, 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/.
- 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.
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/ .