Ich möchte einen h264- oder divx-Film aus Frames erstellen, die ich in einem Python-Skript in matplotlib generiere. Es gibt ungefähr 100.000 Bilder in diesem Film.
In Beispielen im Web [z. 1] habe ich nur die Methode gesehen, jeden Frame als PNG zu speichern und dann Mencoder oder ffmpeg für diese Dateien auszuführen. In meinem Fall ist das Speichern jedes Frames unpraktisch. Gibt es eine Möglichkeit, einen aus matplotlib generierten Plot direkt an ffmpeg weiterzuleiten und keine Zwischendateien zu generieren?
Das Programmieren mit der C-API von ffmpeg ist mir zu schwierig [z. 2]. Außerdem benötige ich eine Codierung mit guter Komprimierung wie x264, da die Filmdatei ansonsten für einen nachfolgenden Schritt zu groß ist. Es wäre also großartig, bei mencoder / ffmpeg / x264 zu bleiben.
Gibt es etwas, das mit Rohren gemacht werden kann [3]?
[1] http://matplotlib.sourceforge.net/examples/animation/movie_demo.html
[2] Wie codiert man eine Reihe von Bildern mit der x264 C-API in H264?
buffer = fig.canvas.tostring_rgb()
und die Breite und Höhe der Figur in Pixel mitfig.canvas.get_width_height()
(oderfig.bbox.width
usw.)