Python Video abspielen?
welchen Befehl brauche ich um mit ein Video abzuspiel wenn ich ein Button klicke. Ich möchte auch Pause, stop und exit funktinen?
danke
1 Antwort
Dazu benötigt man zuerst ein Multimedia-Framework. Zum Beispiel das freie Gstreamer. Das kann man in Python einbinden. Man muss dann im Python-Programm die Gstreamer-API Befehle aufrufen. Gstreamer ist plattformunabhängig, das geht auch unter Mac und Linux. Hier der Download für Windows: (beides muss installiert sein):
- Gstreamer Entwicklungsversion: https://gstreamer.freedesktop.org/data/pkg/windows/1.14.4/gstreamer-1.0-devel-x86_64-1.14.4.msi
- Gstreamer Laufzeitversion: https://gstreamer.freedesktop.org/data/pkg/windows/1.14.4/gstreamer-1.0-x86_64-1.14.4.msi
Ausserdem muss man noch das python-gstreamer und das python-gobject Modul in Python installieren.
Hier ein Beispielcode:
import os
import sys
import Tkinter as tkinter
import gobject
import gst
def on_sync_message(bus, message, window_id):
if not message.structure is None:
if message.structure.get_name() == 'prepare-xwindow-id':
image_sink = message.src
image_sink.set_property('force-aspect-ratio', True)
image_sink.set_xwindow_id(window_id)
gobject.threads_init()
window = tkinter.Tk()
window.geometry('500x400')
video = tkinter.Frame(window, bg='#000000')
video.pack(side=tkinter.BOTTOM,anchor=tkinter.S,expand=tkinter.YES,fill=tkinter.BOTH)
window_id = video.winfo_id()
player = gst.element_factory_make('playbin2', 'player')
player.set_property('video-sink', None)
player.set_property('uri', 'file://%s' % (os.path.abspath(sys.argv[1])))
player.set_state(gst.STATE_PLAYING)
bus = player.get_bus()
bus.add_signal_watch()
bus.enable_sync_message_emission()
bus.connect('sync-message::element', on_sync_message, window_id)
window.mainloop()
Hier ein Youtube-Video das es erklärt. Das erklärt wie man die Umgebungsvariable für JAVA setzt, für Gstreamer muss man dann den Pfad von Gstreamer eintragen: https://www.youtube.com/watch?v=owKnjT5MXzA
Probiere mal GStreamer (Entwicklungsversion und Laufzeitversion) zur Windows PATH Umgebungsvariable hinzufügen. Das geht so: http://techmixx.de/windows-10-umgebungsvariablen-bearbeiten/
Danke für deine Antwort, leider klappt das nicht ich bekomme immer den Fehler Modul gst nicht gefunden und den bekomme ich nicht gelöst, was muss ich da tun?
ich habe das versucht, aber es klappt nicht welche daten muss ich da hinzufügen?