Erstellen von Video-Thumbnails mit Python und Gstreamer

8

Ich möchte Thumbnails für MPEG-4 AVC-Videos mit Gstreamer und Python erstellen. Im Wesentlichen:

  1. Öffnen Sie die Videodatei
  2. Suchen Sie nach einem bestimmten Zeitpunkt (z. B. 5 Sekunden)
  3. Schnapp dir den Rahmen zu dieser Zeit
  4. Speichern Sie den Frame als .jpg-Datei auf der Disc

Ich habe mir diese andere ähnliche Frage , aber ich kann nicht wirklich herausfinden, wie man die Suche und die Bilderfassung automatisch ohne Benutzereingabe durchführt.

Zusammenfassend, wie kann ich ein Video-Thumbnail mit Gstreamer und Python wie oben beschrieben aufnehmen?

    
David Planella 03.04.2013, 14:06
quelle

4 Antworten

7

Um ensonic zu antworten, hier ist ein Beispiel:

%Vor%

Dies erzeugt ein PNG-Bild. Sie können rohe Bilddaten mit gst.Caps("video/x-raw-rgb,bpp=24,depth=24") oder ähnlichem erhalten.

Beachten Sie, dass in GStreamer 1.0 (im Gegensatz zu 0.10) playbin2 in playbin und% convert-frame in convert-sample umbenannt wurde.

Die Mechanismen des Suchens werden in diesem Kapitel der GStreamer-Anwendung erläutert Entwicklungshandbuch . Die Dokumentation von 0.10 playbin2 scheint nicht mehr online zu sein, aber die Dokumentation für 1.0 ist hier .

    
daf 10.05.2013, 08:47
quelle
2

Benutze playbin2. setze das uri auf die Mediendatei, benutze gst_element_seek_simple, um die gewünschte Zeitposition zu suchen und benutze dann g_signal_emit, um das Aktionssignal "convert-frame" aufzurufen.

    
ensonic 04.04.2013 13:06
quelle
2

Ein Beispiel in Vala mit GStreamer 1.0:

%Vor%     
yannick inizan 04.02.2015 10:52
quelle
1

Es ist eine alte Frage, aber ich habe sie immer noch nirgendwo dokumentiert gefunden.
Ich habe herausgefunden, dass das Folgende an einem Video mit Gstreamer 1.0 funktioniert.

%Vor%

Der Code sollte mit Python2 und Python3 laufen, ich hoffe es hilft jemandem.

    
Rolf of Saxony 17.10.2017 15:03
quelle

Tags und Links