Aus Linux-Magazin 09/2001

Camcorder an der IEEE-1394-Schnittstelle

Der vom täglichen Gebrauch schon etwas gezeichnete Vaio PCG-N505SN, der für den Test verwendet wurde.

Digitale Camcorder stellen immer häufiger den technisch anspruchsvollen Teil des Urlaubsgepäcks. Dank der Schnittstelle IEEE-1394 (auch als Firewire oder Ilink bekannt) und des hier beschriebenen Linux-Setups finden die Urlaubsvideos auch den Weg in den PC.

DV-Camcorder setzen sich immer mehr gegenüber den herkömmlichen analogen Videokameras durch. Mit Linux, einer Schnittstellenkarte und dem richtigen Setup braucht man bei der Aufnahme von Videos die digitale Zukunft nicht zu verpassen.

Mit der digitalen Technik zur Übertragung von Videos vom DV-Camcorder zum PC musste eine neue Schnittstelle für die Kommunikation her. Zwar bestünde die Möglichkeit, ein digitales Video analog über ein S-VHS-Kabel auf einen PC zu überspielen und dort die Bilder mit einer Grabbing-Karte wieder zu digitalisieren. Da bei diesem Verfahren jedoch erhebliche Qualitätsverluste entstehen, greift man auf IEEE-1394 (Apple nennt sie Firewire und Sony Ilink) als leistungsstarke und praktische Schnittstelle zurück.

IEEE-1394 ist eine für Video- und Audio-Streams ausgelegte Peer-to-Peer-Schnittstelle aus dem Jahre 1995, die auch auf den Markt von Set-top-Boxen und Digital-TV zielt. Die erreichbaren Datenraten sind erheblich: 400 Mbit/s, in der aktuellen Fortschreibung IEEE-P1394a sogar 800, 1600 und eventuell 3200 Mbit/s.

Entsprechende Schnittstellen sind an vielen Rechnern – vor allem von Sony und Apple – zu finden, aber auch PCI-Schnittstellenkarten für den PC gibt es von mehreren Herstellern. Eine Liste sämtlicher von Linux unterstützter IEEE-1394-Hostadapter und Peripheriegeräte findet sich unter [1]. Um die Schnittstelle auch unter Linux nutzen zu können, sind einige Voraussetzungen am Kernel und bei den Applikationen zu erfüllen.

Der vom täglichen Gebrauch schon etwas gezeichnete Vaio PCG-N505SN, der für den Test verwendet wurde.

Der vom täglichen Gebrauch schon etwas gezeichnete Vaio PCG-N505SN, der für den Test verwendet wurde.

Die Sony DCR-PC5E PAL Digital Handycam.

Die Sony DCR-PC5E PAL Digital Handycam.

Kernel fit machen, Bibliotheken einspielen, Programme starten

Die Installation der IEEE-1394-Unterstützung gliedert sich in drei Schritte: Als Erstes muss der Kernel aufgerüstet werden, danach sind die IEEE-1394-spezifischen Libraries zu installieren. Sobald das erledigt ist, kann mit der Installation der Applikationen begonnen werden. Unter Linux sind bereits einige Applikationen für die Bearbeitung von digitalen Videodaten vorhanden, auch wenn sie sich zum großen Teil noch im Entwicklungsstadium befinden.

Im 2.4er Kernel ist die Unterstützung für IEEE-1394 schon enthalten. Für die älteren Kernel der 2.2er Serie sind Patches erhältlich. Doch auch mit Kernel 2.4 kommt man nicht ganz um ein wenig Bastelei herum: Das IEEE-1394-Subsystem ist in den Kernels 2.4.0 und 2.4.1 zwar vorhanden, aber leider fehlerhaft. In den Kernels 2.4.2 bis 2.4.4 funktioniert es zwar leidlich, ist aber unvollständig.

Darum ist man immer gezwungen, den Kernel mit den aktuellen Patches zu versehen. Sie unter [2] leicht zu erhalten, eine sehr gute Installationsanweisung findet man zusätzlich unter [3].

Testaufbau mit Camcorder und Notebook von Sony

Zum Testen einer Firewire-Verbindung standen zwei Sony-Geräte bereit: die DCR-PC5E Digital-Videokamera (zirka 2500 Mark) und das Notebook Sony Vaio PCG-N505SN (nicht mehr erhältlich, Neupreis zirka 5000 Mark) mit 6-GByte-Harddisk und 128 MByte RAM.

Als Betriebssystem wurde SuSE Linux 7.0 installiert. SuSE erleichtert die Patch-Arbeit etwas, da der Hersteller auf seiner Seite [4] ein eigenes Patch anbietet, das auf den SuSE-Kernel angepasst ist. Im Gegensatz zu den echten Kernel-Patches besteht das SuSE-Patch nicht aus einem File, das mit dem patch-Befehl eingespielt wird, sondern aus einem tar.gz-Archiv, das den gesamten Inhalt des Verzeichnisses /usr/src/linux-2.2.16 .SuSE/drivers/ieee1394 im Kernel-Source-Verzeichnis ersetzt.

Anschließend werden der Kernel und seine Module frisch kompiliert und installiert. Dann ist die Bibliothek Libraw1394 ins System zu integrieren. SuSE liefert wieder ein fertiges Binary unter [4].

Der Memory Stick zum PC-Card-Adapter von Sony.

Der Memory Stick zum PC-Card-Adapter von Sony.

Listing: Bilder auf der gemounteten Karte

# ls /mnt/
dcim          memstick.ind  misc
# ls /mnt/dcim/100msdcf
.             dsc00032.jpg  dsc00065.jpg  dsc00098.jpg  dsc00131.jpg
..            dsc00033.jpg  dsc00066.jpg  dsc00099.jpg  dsc00132.jpg
dsc00001.jpg   dsc00034.jpg  dsc00067.jpg  dsc00100.jpg  dsc00133.jpg
dsc00002.jpg   dsc00035.jpg  dsc00068.jpg  dsc00101.jpg  dsc00134.jpg

Programme zum Betrieb von Hostadapter und Camcorder

Als erste Testapplikation bietet sich Gscanbus an, ein kleines grafisches Tool, das Informationen über den IEEE-1394-Hostadapter und angeschlossene Geräte liefert. Eine für SuSE 7.0 kompilierte Version befindet sich ebenfalls unter [4]. Wer eine andere Distribution verwendet oder eine neuere Version haben möchte, findet sie unter [5].

Vor dem Starten des Programms müssen zuerst die zuvor kompilierten Kernel-Module geladen werden, was erreicht wird durch:

modprobe ieee1394
modprobe ohci1394
modprobe raw1394
gscanbus

Eine produktivere Applikation ist Dvgrab, ein Tool, das Videostreams von der Kamera als AVI-Datei auf die Festplatte aufzeichnet. Es kann wie Gscanbus auch bei SuSE unter [4] oder direkt von der Seite des Entwicklers [6] bezogen werden. Hier sind auch äußerst interessante Informationen und Links zu weiteren Applikationen zu entdecken.

Dvgrab wird von der Kommandozeile aus aufgerufen und fängt sofort damit an, den zurzeit laufenden Stream aufzuzeichnen; die Kamera muss dabei den Film bereits abspielen. Der Autor der Applikation empfiehlt den Aufruf von Dvgrab mit den unten stehenden Parametern. Hierbei werden einzelne, 30 Sekunden lange AVI-Dateien erstellt, Zeit und Datum werden automatisch in den Dateinamen mit aufgenommen.

dvgrab --autosplit --frames 750 --timestamp Zieldatei.avi

Die serielle Verbindung

Abgesehen von Videos kann die Kamera auch Fotos auf dem mitgelieferten Memory Stick speichern. Die Fotos werden entweder (wie im nächsten Abschnitt zu lesen) direkt vom Stick geladen oder durch das der Kamera beiliegende serielle Kabel auf den PC übertragen. Linux-seitig ist Gphoto [7] als Software erforderlich, es steht unter der GNU GPL.

Die Konfiguration gestaltet sich einfach: Es sind lediglich die serielle Schnittstelle und der Kameratyp zu wählen. Im vorliegenden Fall fiel die Entscheidung auf ein älteres Kameramodell, da das Sony DCRPC5E nicht in der Liste zu finden ist.

Bei der Bedienung der Software fällt auf, dass weder eine Voransicht der Bilder auf der Kamera möglich ist, noch ein Livebild der Kamera übertragen werden kann. Ansonsten steht die volle Funktionalität von Gphoto mit der Kamera zur Verfügung.

Der Memory Stick

Neben dem IEEE-1394- und dem seriellen Anschluss bieten die neuen Sony-DV-Camcorder auch einen Memory-Stick-Slot zum Speichern von Fotos. Um Memory Sticks auf dem PC einzulesen, eignen sich USB-Adapter, PCMCIA-Adapter und – in neuen Sony-Notebooks bereits integrierte – Memory-Stick-Slots. Die getestete Variante ist ein PCMCIA-Adapter, der für rund 200 Mark gehandelt wird.

Bei dieser Karte gestaltet sich der Zugriff auf die gespeicherten Bilddateien einfach, da sie wie ein konventionelles IDE-Laufwerk mit FAT-Dateisystem gemountet werden kann. Beim Einstecken der Karte meldet der Kernel das IDE-Device in /var/log /messages:

Die IEEE-1394-Stecker für Kamera und Adapter sehen eher unspektakulär aus.

Die IEEE-1394-Stecker für Kamera und Adapter sehen eher unspektakulär aus.

Apr 14 15:47:22 wslan03 kernel: hde: MEMORYSTICK 32M 16K, ATA DISK drive
Apr 14 15:47:22 wslan03 kernel: ide2 at 0x100-0x107,0x10e on irq 5
Apr 14 15:47:22 wslan03 kernel: hde: hde1

Das Device wird nun gemountet:

mount /dev/hde1 /mnt -tvfat

Die Bilder sind jetzt auf der gemounteten Karte als JPEG-Dateien verfügbar (siehe Listing). Sie können mit jedem Bitmap-Editor bearbeitet werden. ( jk)

Der Autor

Sven Leser (20) beschäftigt sich seit seinem 15. Lebensjahr mit Linux. Vor einem Jahr gründete er die Schweizer Firma SyGroup bei Basel, mit der er sich unter anderem für eine Vernetzung der Linux-Anbieter in der Schweiz im Rahmen des Linux Business Networks einsetzt.

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben