Open Source im professionellen Einsatz
Newsletter abonnieren
HEFTARCHIV | NEWS | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO

Partner-Links:
Yatego Shopping
Notebook Themenwelt
 
Yatego Deutschlands größte Shoppingmall. Über 8500 Shops, und 3 Mio Artikel.
Alle Bestseller, Gutscheine
und Shopping Tops.

Firewall bei Mercateo kaufen.

Ein Preisvergleich bei Hardware lohnt sich.

Sie suchen günstige Laptops? Schauen Sie doch mal bei Preisvergleich.org, Preisvergleich.eu, Preisvergleich.ch und Preisvergleich.at vorbei.

Linux Jobs

Job offers Netherlands


user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2010  »  01  »  Final Cut  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

© dieterwald, Pixelio.de

Perl-Skript am Schneidetisch

Final Cut

von Michael Schilli
Erschienen im Linux-Magazin 2010/01

Ein handgedrehtes Video sieht mit einem Vorspann gleich professioneller aus. Die Tools Mencoder und Sox helfen bei der Formatfitzelei und ein Perl-Skript automatisiert den Vorgang.

Es ist schon faszinierend, zu wie vielen Themen Youtube Lehrfilme anbietet. Ob ein Hobbykoch sein Leibgericht kochen oder der praktisch veranlagte Autofahrer sein Gefährt reparieren will, auf Youtube findet sich oft Passendes. Ist so ein Lehrvideo erst einmal zusammengeschnipselt, fehlt noch ein Titel. In zwei Sekunden Vorspann kann der Hobbyfilmer mit ein, zwei Zeilen Text darauf hinweisen, was den Zuschauer gleich erwartet.

Das erledigen proprietäre Windows-Programme wie Adobe Premiere, Mac-Software wie I-Movie oder gar Linux-Applikationen wie Cinelerra, doch in der Perl-Kolumne geht es natürlich kurz und schmerzlos von der Kommandozeile aus mit einem kleinen Perl-Skript.

Laufende Bilder

Filme bestehen aus schnell hintereinander abgespielten Einzelbildern, den so genannten Frames. Normale Videokameras nehmen pro Sekunde etwa 30 davon auf, ein Programm wie Mplayer spielt die Einzelbilder wieder in festen Zeitabständen ab. Ein bewegungsloser Videotitel mit ein bisschen Text lässt sich leicht als eine Reihe identischer Jpeg-Bilder erzeugen und mit Mencoder [1] in eine AVI-Datei umwandeln. Wer die beiden Videodateien dann hintereinanderhängt, erhält ein Video mit Titel - wenigstens in der Theorie. In der Praxis stehen doch noch ein paar Hürden im Weg.

Videodateien im AVI-Format dienen als Container für Video- und Audioströme, die ein Player gleichzeitig abspielt. Sowohl Video- als auch Audiodaten in einem AVI-Container können in verschiedenen Formaten gespeichert sein. Die Audiospur liegt meist im rohen PCM-Format oder komprimiert als MP3-Datei vor.

Videodaten hingegen verbrauchen massenhaft Speicher, weil pro Sekunde 30 Bilddateien anfallen. Daher spielt das verwendete Kodierungsverfahren, der so genannte Codec, eine entscheidende Rolle, denn ein guter Codec kann die Daten extrem komprimieren, ohne die Bildqualität allzu sehr in Mitleidenschaft zu ziehen. Codecs gibt es wie Sand am Meer, viele davon sind patentiert.

Obwohl ein AVI-Container verschieden kodierte Video- und Audiodaten aufnehmen kann, darf das Kodierungsverfahren nicht mittendrin wechseln. Um also ein Vorspannschnipsel und ein Video hintereinanderzuhängen, muss der Cutter dafür sorgen, dass beide von Anfang an die gleichen Codecs verwenden, oder aber die unterschiedlich kodierten Daten am Ende in ein gemeinsames Ausgabeformat transformieren.

Kameras im Vergleich

Abbildung 1 zeigt die mit dem Programm in Listing 1 ausgelesenen Metadaten zweier Videos. Es nutzt das Modul Video::FrameGrab vom CPAN, dessen »meta()«-Methode Kenndaten eines Videos einholt und in einem Hash ablegt. Abbildung 1 vergleicht die Metadaten der beiden Videos »coolpix.avi« und »camcorder.avi«. Ersteres ist mit einer kleinen Westentaschenkamera, einer Nikon Coolpix S52, aufgenommen, das zweite mit einem digitalen Camcorder der Marke Canon Elura 100. Beide zeichnen das Video mit etwa 30 Frames pro Sekunde auf (»video_fps«), aber der Canon-Recorder nutzt den Codec »ffdv« und die Nikon »ffmjpeg«.

Listing 1:
»video-meta«

01 #!/usr/local/bin/perl -w
02 use strict;
03 use Data::Dump qw(dump);
04 use Video::FrameGrab;
05
06 my($file) = @ARGV;
07 die "usage: $0 file" unless defined $file;
08
09 my $grabber = Video::FrameGrab->new(
10   video => $file);
11
12 my $meta = $grabber->meta_data();
13 print dump($meta), "n";


Abbildung 1: Metadaten zweier Videos, oben mit Nikon Coolpix S52, unten mit Canon Elura 100.

Auch die Audiodaten speichern beide Kameras unterschiedlich. Während der Camcorder zwei Kanäle aufnimmt, kann die Nikon nur Mono. Zudem ist die Audioqualität unterschiedlich, denn der Camcorder nimmt Audio mit 32000 Messpunkten pro Sekunde auf (Feld »audio_rate«), die Nikon gibt sich mit nur 8000 Messpunkten zufrieden.

Abbildung 1 zeigt auch, dass die »audio_rate« von »8000« bei der Nikon einem Wert von »64000« für die »audio_bitrate« in Bit pro Sekunde gegenübersteht. Beim Camcorder hingegen entstehen pro Audio-Messpunkt 32 Bit (1024000 geteilt durch 32000). Pro Kanal sind das 2 Byte Sample Size.

Ein stummes Titelschnipsel könnte also bei unbekannter Kamera nicht ohne Umwandlung vor einem Video stehen. Zum Glück bieten die Tools Mencoder und Sox [2] die nötigen Funktionen, um die Formate so hinzubiegen, dass Titel und Video trotzdem vereint im AVI-Container liegen können.

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Ordentlich in Bewegung Screencast-Software im Test
So Smart Nokias Linux-Handy N 900 im Test
Film ab für Flash Praxisbetrieb, Encoding und Streaming von Flash-Videos unter Linux
Projekteküche Neues aus der Welt der freien Software und ihrer Macher
Projekteküche Aktueller Überblick über freie Software und ihre Macher
Runter kommen sie alle Spielerische Fallschirmflug-Simulation mit Perl
Whitepaper
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)

Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Anbindung OpenCms an Liferay Portal

Liferay Portal ist heute nicht nur die breiteste, sondern auch funktional umfassendste Entwicklung im Open Source Portalumfeld. Es eignet sich in Unternehmen als prozessorientiertes und integratives Enterprise Portal mit hervorragenden Collaboration-Funktionen. Teilweise stößt jedoch das in Liferay integrierte CMS an seine Grenzen, insbesondere bei der Publikation umfangreicher Informationsmengen. Aus diesem Grund hat comundus eine Anbindung des Web CMS OpenCms an Liferay realisiert. In dieser Kombination wird Liferay Portal zu einem vollwertigen Publishing-Portal mit sämtlichen Funktionalitäten, die heute von einem CMS erwartet werden.

Kommentare (1)
von
perle,
05.12.2009 17:33
Immer wieder....
... erstaunlich der Herr Schili
 

Impressum |Datenschutzerklärung  | Mediadaten  | © 2010Linux New Media AG
Linux New Media Websites
Deutschland: [Admin-Magazin] [LinuxUser] [EasyLinux] [Linux-Community] [Linux Technical Review] [Ubuntu User]
Europa: [EasyLinux Polen] [Linux Magazine Polen] [Linux Magazine Spanien]
International: [Linux Magazine International] [Linux Pro Magazine] [Ubuntu User] [Linux Magazine Brasilien] [EasyLinux Brasilien]