Hallo,
wie kann man mit Python den MPlayer oder vlc-Player starten und ein Video in loop abspielen lassen?
Video in loop abspielen
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Am besten per Subprocess Modul. Dann musst Du "nur" noch rausfinden, wie man den Playern eine Datei zum Öffnen übergibt und ihn dazu überredet, das Video im Loop zu spielen. Ist also weniger ein Python-Problem
-
- User
- Beiträge: 42
- Registriert: Freitag 27. Juni 2008, 12:21
wie funktioniert das subprocess-modul?
subprocess.Popen(args, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell=True)
damit kann ich irgendwie nicht so viel anfangen.
subprocess.Popen(args, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell=True)
damit kann ich irgendwie nicht so viel anfangen.
Die Doku hält doch unter unter Replacing older functions ... genügend Beispiele bereit.
Btw, "shell=True" würde ich mir gar nicht erst angewöhnen ...
Btw, "shell=True" würde ich mir gar nicht erst angewöhnen ...
-
- User
- Beiträge: 42
- Registriert: Freitag 27. Juni 2008, 12:21
was haltet ihr von dieser Lösung?
os.system(r'"C:\Program Files\MPlayer for Windows\mplayer.exe" -loop 0 C:\...\video.avi')
os.system(r'"C:\Program Files\MPlayer for Windows\mplayer.exe" -loop 0 C:\...\video.avi')
Gar nichts. Diese Lösung kommt nicht mit Sonderzeichen und Leerzeichen in Dateinamen zurecht.dirty sanchez hat geschrieben:os.system(r'"C:\Program Files\MPlayer for Windows\mplayer.exe" -loop 0 C:\...\video.avi')
Im Übrigen sollte es mit der Dokumentation ein leichtes sein, diese Zeile in einen subprocess-Aufruf zu verwandeln.
-
- User
- Beiträge: 42
- Registriert: Freitag 27. Juni 2008, 12:21
klar kommt sie mit leerzeichen zurecht. habs doch ausprobiert bevor ichs reingestellt hab.
Glaube ich nicht. Es sei denn `os.system()` ruft bei Dir eine eigenartige Shell auf. Womit wir auch wieder bei dem Problem wären, warum man die Finger von `os.system()` lassen sollte.
Im Literal, welches das Kommando enthält, Anführungszeichen um den Dateinamen zu setzen, bedeutet nicht automatisch, dass das Kommando mit Leerzeichen zurecht kommt.dirty sanchez hat geschrieben:klar kommt sie mit leerzeichen zurecht. habs doch ausprobiert bevor ichs reingestellt hab.
"system" ist von allen Möglichkeiten in der Standardbibliothek die schlechteste, und solange du nicht mal weißt, welche Probleme du dir damit ins Haus holst, kannst du dir damit prima ins eigene Bein schießen.
Nutze subprocess, snafu war sogar so freundlich, dir die Dokumentation vorzulesen
-
- User
- Beiträge: 42
- Registriert: Freitag 27. Juni 2008, 12:21
danke, aber subprocess.call sagt mir nichts, in der referenz stehts mit subprocess.Popen und das funktioniert so auch!?
-
- User
- Beiträge: 42
- Registriert: Freitag 27. Juni 2008, 12:21
nun hab ich noch ein problem:
während ein video abgespielt wird und ich ein neues video starte läuft das alte weiter und das neue nur im hintergrund (zwei player laufen).
jetzt hätt ich aber gern das wenn ein neues video gestartet wird, das alte vorher beendet wird (nur ein Player läuft).
wie geht das (mit subprocess)?
während ein video abgespielt wird und ich ein neues video starte läuft das alte weiter und das neue nur im hintergrund (zwei player laufen).
jetzt hätt ich aber gern das wenn ein neues video gestartet wird, das alte vorher beendet wird (nur ein Player läuft).
wie geht das (mit subprocess)?
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Mit Eigeninitiative.dirty sanchez hat geschrieben:nun hab ich noch ein problem:
während ein video abgespielt wird und ich ein neues video starte läuft das alte weiter und das neue nur im hintergrund (zwei player laufen).
jetzt hätt ich aber gern das wenn ein neues video gestartet wird, das alte vorher beendet wird (nur ein Player läuft).
wie geht das (mit subprocess)?
http://www.google.ch/search?q=python+kill+process
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
-
- User
- Beiträge: 42
- Registriert: Freitag 27. Juni 2008, 12:21
wofür gibts denn das forum?
wenn jeder ewig zeit hätte, würde mal wohl irgendwann die lösung seiner probleme alleine finden. also kann mir jemand weiterhelfen?
geht das beenden eines subprocess nur über win32? ich will einfach wenn ich ein video starte das laufende video vorher beenden. mplayer macht ein neues fenster auf (zwei videos laufen) und MPUI bricht die aktion ab(kein video läuft). schonmal im voraus danke
wenn jeder ewig zeit hätte, würde mal wohl irgendwann die lösung seiner probleme alleine finden. also kann mir jemand weiterhelfen?
geht das beenden eines subprocess nur über win32? ich will einfach wenn ich ein video starte das laufende video vorher beenden. mplayer macht ein neues fenster auf (zwei videos laufen) und MPUI bricht die aktion ab(kein video läuft). schonmal im voraus danke
Ganz sicher nicht, um dir die Dokumentation vorzulesen oder Google für dich zu bedienen.dirty sanchez hat geschrieben:wofür gibts denn das forum?
Du erwartest also, dass andere sich die Zeit nehmen, die du nicht für Recherche in Dokumentationen oder fürs Googlen verwenden willst? Habe ich das so richtig verstanden?wenn jeder ewig zeit hätte, würde mal wohl irgendwann die lösung seiner probleme alleine finden. also kann mir jemand weiterhelfen?
-
- User
- Beiträge: 42
- Registriert: Freitag 27. Juni 2008, 12:21
nein das erwarte ich nicht, aber es gibt leute die das ja schon wissen!