![]() |
|
![]() Druckversion |
![]()
Wer professionelle Video-Bearbeitung machen will, stößt schnell an die Grenzen
von Linux und GPL.
Aber wer kann sich schon eine 1000DM teure MPEG-Karte leisten?
Eine TV-Karte, eine große mittelschnelle Festplatte (es muß nicht unbedingt
SCSI sein), einige GPL-Programme und viel Geduld bringen einen zum gleichen
Ziel.
Wer noch vor ca. zwei Jahren unter Linux MPEG-Videos erzeugen wollte, kam um die
Berkeley-Tools nicht herum. Mit diesen Programmen mußte man sein Video zuerst
in Einzelbilder zerlegen, dann jedes einzelne Bild berechnen lassen und
abschließend zu einem MPEG-Stream zusammensetzen.
Mittlerweile existiert eine recht komfortable Alternative, um MPEG-Videos zu erzeugen. Wir benutzen hier die Programme Broadcast2000, mpeg2_movie und XMovie, die alle drei vom Programmierer Adam Williams stammen. Aufgenommen wird das Video mittels Bcast2000 im Quicktime-Format, die Umwandlung von Quicktime in MPEG2 erfolgt mittels der Tools des mpeg2_movie-Pakets und um das entstandende Werk anschauen zu können, benötigt man noch einen MPEG2-Player (die bei Distributionen normalerweise mitgelieferten Player unterstützen nur MPEG1). Hierfür benutzen wir XMovie. Wie das Zusammenspiel der einzelnen Programme im Detail aussieht, ist allerdings etwas komplizierter, als man auf den ersten Blick erwartet...
Broadcast besitzt (wie viele andere Linux-Programme auch) die Fähigkeit Bild
und Ton einer TV-Karte aufzunehmen. Abhängig von der Leistungsfähigkeit Ihres PC's (speziell von der Schnelligkeit der Festplatte) ist eine obere Grenze für den Datenfluß beim Abspeichern gegeben. Leider erreicht man diese Grenze beim Abspeichern von Video-Dateien recht schnell, da dies mit einem hohen Datenfluß verbunden ist. Deshalb ist nur eine maximale Auflösung bei der Video-Aufnahme möglich, weil oberhalb dieser es zu Fehlern in der Aufnahme kommt, die sich zumeist in fehlenden Bildern auswirken. Diese obere Grenze ist jeweils abhängig von dem PC an dem Sie arbeiten und sollte individuell herausgefunden werden. Vor der Benutzung von Broadcast2000 als Videorecorder ist es erstmal notwendig, die Fernsehsender, welche Sie später aufnehmen wollen, einzuprogrammieren. Dies geschieht, indem Sie den Aufnahme-Knopf drücken:
![]()
In dem erscheinenden Fenster benutzen Sie einen beliebigen Dateinamen, wo
testweise die Video-Datei später abgespeichert werden soll
(z.B. /tmp/tmp.mov).
Aktivieren Sie den Knopf 'Render audio tracks' und 'Render video tracks' und
drücken Sie auf OK.
![]()
Das Finetuning geschieht noch per Hand und es gibt auch keine automatische
Sendersuche, so daß es schon etwas dauern kann, bis man alle Kanäle beisammen
hat.
Sind alle Sender eingestellt, können Sie mit dem Aufnehmen des Videos beginnen.
Wählen Sie dafür den gewünschten eingespeicherten Sender aus,
deaktivieren Sie die Darstellung des Videosignals (Button: 'Monitor Video') und
drücken Sie auf den roten Aufnahmeknopf.
![]()
Hier sollte ein Zahlenwert von nicht mehr als konstant 1 bis 2 Frames
angezeigt werden. Gängige Auflösungen sind hierbei:
Die Framerate sollte dabei zwischen 15 bis zu 24 Bildern pro Sekunde liegen. An meinem Rechner (K6-400 mit IBM-Festplatte) habe ich mich für eine Auflösung von 320x240 und einer Framerate von 15 Fps entschieden, was zwar nicht überragend, aber durchaus nutzbar ist.
Das Video kann natürlich, wie eben geschehen, per Hand aufgenommen werden,
viel effektiver ist es hingegen, die Aufnahme mittels eines Skriptes zu starten, was
nämlich von Bcast2000 auch unterstützt wird.
Um jetzt die Aufnahme vollautomatisch zu starten, genügt ein Aufruf der Form >> /path/to/bcast2000.sh -b /path/to/record_scriptBcast2000 arbeitet dann das Skript ab, öffnet das Aufnahmefenster mit den jeweiligen Einstellungen und beginnt mit der Aufnahme. Ist die Aufnahmezeit dann abgelaufen, beendet sich Broadcast allerdings nicht automatisch, sondern stoppt nur die Aufnahme. Das Abspeichern der Datei und das Beenden von Broadcast muß immer noch vom Benutzer per Hand geschehen (dies ist sehr nachteilig für eine vollautomatische Aufnahme, wie wir später noch sehen werden...)
Da Linux kein Echtzeitbetriebssystem ist, kann es leider immer wieder vorkommen,
daß während der Aufnahme andere Programme mit anspringen (z.B. gestartet durch
einen Cron-Job) und somit die vom PC bewältigte Framerate plötzlich absinkt.
Haben Sie die Videos aufgenommen, geht es an den zeitaufwendigsten Teil, der Umwandlung der Quicktime-Dateien ins MPEG2-Format. Hierbei müssen Video- und Audio-Stream einzeln berechnet werden. Im Unterverzeichnis video von mpeg2_movie startet man das Programm encode: >> encode -b 1900000 /tmp/aufnahme.mov /tmp/aufnahme.m2vDieses Programm erzeugt das MPEG2-Video (Endung .m2v). Die Umwandlung kann sehr lange dauern (15-20 Stunden, abhängig von der Dateigröße). Hat man das Video in mehrere Teile aufgetrennt, muß man jeden Teil einzeln berechnen: >> encode -b 1900000 /tmp/aufnahme1.mov /tmp/aufnahme1.m2v >> encode -b 1900000 /tmp/aufnahme2.mov /tmp/aufnahme2.m2v >> encode -b 1900000 /tmp/aufnahme3.mov /tmp/aufnahme3.m2vSind alle m2v-Dateien erzeugt, geht es daran, den Ton in eine MPEG2-Datei zu konvertieren. Dafür startet man im Unterverzeichnis audio das Programm encode (bei mehreren Teilen folglich): >> ./encode -b 192000 /tmp/aufnahme1.mov /tmp/aufnahme1.mp2 >> ./encode -b 192000 /tmp/aufnahme2.mov /tmp/aufnahme2.mp2 >> ./encode -b 192000 /tmp/aufnahme3.mov /tmp/aufnahme3.mp2Das Konvertieren des Tons in das mp2-Format geht wesentlicher schneller als beim Bild. Nun müssen die drei Video-Dateien (.m2v) und die drei Audio-Dateien (.mp2) zu jeweils einer Datei zusammengefügt werden. Dafür benutzt man das Programm mpeg2cat im Unterverzeichnis libmpeg2: >> ./mpeg2cat /tmp/aufnahme1.m2v /tmp/aufnahme2.m2v /tmp/aufnahme3.m2v > /tmp/aufnahme_all.m2v >> ./mpeg2cat /tmp/aufnahme1.mp2 /tmp/aufnahme2.mp2 /tmp/aufnahme3.mp2 > /tmp/aufnahme_all.mp2Im letzten Schritt müssen nun noch Bild und Ton zu einer einzigen Datei zusammengefügt werden. Hierfür gibt es wieder ein weiteres Tool namens mplex, welches sich auch im Unterverzeichnis mplex von mpeg2_movie befindet: >> mplex /tmp/aufnahme_all.m2v /tmp/aufnahme_all.mp2 /tmp/aufnahme_all.mpgDies ist endlich die MPEG2-Datei, die wir die gesamte Zeit haben wollten. Mit viel Zeit und reichlich Konsolen-Arbeit hat man es endlich geschafft ...
Diese gekürzte Version wird nun vielleicht nicht mehr alle Funktionen des
Originals bieten, so lange man aber seine MPEG2-Dateien abspielen kann, wird
es genügen. >> xmovie /tmp/aufnahme_all.mpg
Eine vollautomatische Aufnahme ist leider noch nicht möglich, da Broadcast2000
sich nicht automatisch beendet, und deshalb das Video-Device nicht wieder freigegeben
wird. Man kann somit nicht per Skript mehrere Aufnahmen hintereinander starten,
ohne jedesmal das Fenster per Hand zu schließen.
Platz für Kommentare & Fragen:
|
|