Mittwoch Aug. 15, 2007

MPLAYER: Bilderstrecke von einem Video extrahieren

Mit der Zeit sammelt sich ja doch u.U. eine größere Sammlung von Videos an und alle liegen in div. Formaten vor. Mein Ziel war es nun, eine gewisse Anzahl von Frames aus jedem Video zu extrahieren und eine Kollage zu erstellen, die ich dann in eine HTML-Seite einbinden kann. Damit kann ich dann eine Preview aller Videos, die irgendwo auf der Platte so rumliegen, im Browser anguggen. Unter Windows gibt es dafür ein sehr schönes Programm, das sich Image Grabber II nennt. Da die Homepage von Image Grabber II eigentlich nie erreichbar ist, sucht ihr am Besten mal bei Google, wo man es downloaden kann. Das Programm ist Freeware. Man gibt z.B. an, das man 30 Bilder von dem Video haben möchte und Image Grabber II erstellt dann 30 Thumbnails, die es dann wiederum zu einer Übersichtsgrafik zusammen fügt. Es unterstützt alle möglichen Videoformate. Nun... Sowas wollt ich auch unter Linux haben. Ich habe leider nichts Entsprechendes gefunden, aber wie so oft - mplayer to the rescue z.B.:

mplayer -nosound -sstep 10 -vo jpeg:outdir=/tmp/test test.wmv

mplayer spielt die Videodatei in diesem Fall ohne Sound ab (-nosound) und gibt ein Bild im JPEG-Format alle 10 Sek. (-sstep 10) in das Verzeichnis /tmp/test aus. Wenn man also eine Videodatei hat, die 60 Sek. lang ist, erhält man 10 Bilder im angegebenen Verzeichnis. Das ist schon mal ganz nett, aber wie erstellt man jetzt aus diesen Einzelbildern eine Kollage? Nun, da muss ich mal guggen, wie ich das am Besten anstelle, aber derweilen habe ich mir Picasa von Google für Linux runtergeladen. Das läuft unter Wine. Damit lassen sich schöne Kollagen erstellen. Falls jemand ein Programm weiss, das das nativ unter Linux macht: Immer her damit :-)

Noch eine Anmerkungen zu den Videoformaten unter x86_64 (AMD64/EMT64): Viele Codes liegen nur als 32Bit vor. Mein Gentoo ist aber 64bit. Viele Videos laufen problemlos, aber WMV z.B. macht schon etwas Probleme. Aber die Gentoo-Entwickler haben einen ziemlich coolen Workaround gebastelt, der hier beschrieben ist: HowTo AMD64  -Mplayer and 32bit codecs

Im Prinzip ist die Sache relativ einfach. In die /etc/portage/package.keywords trägt man folgende Zeilen ein:

media-video/mplayer-bin
media-libs/win32codecs
app-emulation/emul-linux-x86-medialibs
app-emulation/emul-linux-x86-soundlibs
app-emulation/emul-linux-x86-baselibs

und macht dann einen

emerge -av mplayer-bin

Das installiert dann Einiges nach u.a. auch die Win32 Codecs. Anschließend ruft man dann nicht mplayer auf sondern

mplayer-bin -nosound -sstep 10 -vo jpeg:outdir=/tmp/test test.wmv

Und schon sollt's funktionieren... :-) In diesem Sinne: Volle Kanne!

Update 2007-08-16: Ich hab ein Tool gefunden, das unter Linux ähnlich arbeitet wie Imagegrabber II unter Windows. Es nennt sich VideoCut. Tolles Programm! Frisst zwar noch nicht alle Formate, aber ein ffmpeg-Backend ist in Arbeit. Aber eigentlich wollte ich ja was für die Kommandozeile ;-)

Technorati Tags: , , , , , , , , , , , ,

Kommentare:

Senden Sie einen Kommentar:
  • HTML Syntax: Ausgeschaltet