![Aufmacherbild](https://heise.cloudimg.io/width/900/q65.png-lossy-65.webp-lossy-65.foil1/_www-heise-de_/select/ct/2016/12/1465124858679090/contentimages/image-1463729027259704.jpg)
Daumenkino intern
Videos und animierte GIFs verarbeiten mit Python
In c’t 11/16 haben wir ein kleines Python-Skript vorgestellt, mit dessen Hilfe Sie Daumenkinos aus Videos und animierten GIFs produzieren können. Dazu zerlegt das Skript die Eingabedateien in Einzelbilder und gibt sie als PDF aus. Das Folgende beschreibt, wie das Skript funktioniert.
Wie man PDFs mit Python generiert, konnten Sie in [1] lesen. In [2] haben wir das Python-Skript flippy.py vorgestellt, das Pixelgrafiken in ein PDF schreibt, das man ausdrucken, zurechtschneiden und die Blätter zu einem Daumenkino zusammenfügen kann. In diesem Artikel geht es nun um die Interna des Skripts, sprich: wie man mithilfe der Python-Module MoviePy und Pillow die einzelnen Bilder aus Videos und animierten GIFs extrahiert.
Um flippy.py laufen zu lassen, benötigen Sie Python 2.5 oder neuer. Sie bekommen alle benötigte Software über den c’t-Link am Artikelende. Windows-Anwender greifen zu Python 3.5.x von python.org und installieren es beispielsweise ins Verzeichnis C:\Python.
Um die Python Imaging Library (PIL), den PDF-Generator FPDF und das Videobearbeitungsmodul MoviePy zu installieren, tippen Sie in der Eingabeaufforderung
C:\Python\Scripts\pip.exe install :
.Pillow fpdf moviepy
Unter Linux verwenden Sie den distributionsspezifischen Paketmanager zum Installieren von Python 2 oder 3 und führen dann zum Nachladen der Module auf der Konsole Folgendes aus:
sudo pip install Pillow fpdf moviepy
Das funktioniert auch unter OS X.
Die neueste Version des Python-Skripts bekommen Sie von der Open-Source-Plattform GitHub. Die in diesem Artikel besprochene Fassung ist mit dem Tag „ct1216“ gekennzeichnet. Durch folgende Eingabe auf der Konsole klonen Sie das Repository und checken die passende Version aus:
git clone :
.https://github.com/ola-ct/flippy.git
git checkout ct1216
Das Skript flippy.py befindet sich nun im Unterverzeichnis flippy. Der nach dem git checkout erscheinende Hinweis „You are in 'detached HEAD' state.“ muss Sie nicht weiter kümmern.