Python oder Shell-Programm zum Bilder und Videos anzeigen..

OP #5751584
Liebe alle,

ich suche - momentan nur halb erfolgreich - nach einer Möglichkeit, 
Bilder und Videos nacheinander als Diashow anzusehen, quasi wie auf dem 
Handy bzw. siehe hier:

Beitrag "Fotos und Videoschnipsel wie auf dem Handy chronologisch ansehen"

falls sich für den offline-Einsatz nichts Passendes findet, wäre das ja 
auch eine interessante Programmieraufgabe - Python soll ja so ein 
Alleskönner sein und viele Jahre früher hab ich mal shell scripte 
geschrieben.

Also das Programm muss nichts weiter tun, als nach dem Starten alle 
Dateien in dinem Ordner nach Dateinamen sortieren und dann auf die 
Tastatur zu hören, z.b. :

rechts = weiter(nächstes Foto/Video)
links = zurück
leer = pause
esc = aus
etc.

Problem: Python mag Werkzeuge / libs haben, womit ich jpg oder mp4 
anzeigen kann. Aber wenn die dann im Vordergrund sind - wird das 
Programm dann immer noch auf die Tastatur hören, wenn das jeweilige 
Anzeigeprogramm im Vordergrund ist / den Fokus hat?

Hat jemand mal was Ähnliches gemacht oder ein "Kochrezept"?
Gast #5751666
Ob man jetzt ein Programm in einer Shell in einem Terminal Emulator, auf 
der Linux Console, oder anderweitig öffnet, ausführen kann man es in 
jedem Fall. Wichtiger ist, ob das Programm einen Framebuffer, DRM, X, 
Wayland, oder das Terminal für das Anzeigen verwendet. Wenn es nur 
Bildchen wären und es um die Linux Console ginge, würde ich fbi nehmen. 
Da es hier auch Videos braucht, und nicht klar ist worauf die Ausgabe 
sein soll, würde ich mpv empfehlen. Das hat aber vermutlich andere 
Tastenkombinationen. Dafür kann man es dazu bringen, über sämtlichen 
oben aufgeführten Ausgabemethoden Bilder und Videos abzuspielen. Für die 
Reihenfolge kannst du ja ne playliste erstellen.
Gast #5751879
Rainer U. schrieb:
> falls sich für den offline-Einsatz nichts Passendes findet, wäre das ja
> auch eine interessante Programmieraufgabe - Python soll ja so ein
> Alleskönner sein und viele Jahre früher hab ich mal shell scripte
> geschrieben.

Weder Python noch Shell sind erstmals besonders geeignet um Bilder und 
auch Videos in geeigneter weise darzustellen. Wenn du so was wirklich 
Programmieren willst, feel free und nehme $Programmiersprache um es 
richtig zumachen. C++ und Qt wäre vermutlich meine Präferenz für ein 
solches Projekt.

Aber warum solltest du das Rad mal wieder neu erfinden wollen. 
Bildbetrachter gibt es wirklich wie Sand am Meer und ich bin sicher das 
es auch einen gibt der Videos abspielen kann.
Gefühlt haben die auch alle einen Diamodus, vielleicht sind die Tasten 
etwas anders als du sie wünscht aber dafür ein weiteres Projekt starten 
?

Ich persönlich nehme unter Linux meisten Geeqie und unter Windows 
irfanview, vor 20 Jahren war auch mal ACDSee ganz großes Kino.
Gast #5751937
Imonbln schrieb:
> Weder Python noch Shell sind erstmals besonders geeignet um Bilder und
> auch Videos in geeigneter weise darzustellen.
Das ist geradezu trivial mit einem bashscript.

Soll es 'nativ' in einer Scriptsprache wie python sein geht das dank 
entspr. Bindings auch, das ist einer halben Stunde runtergetippt.
Gast #5751959
Jörg W. schrieb:
> Bussy schrieb:
>> Das ist geradezu trivial mit einem bashscript.
>
> Einschließlich der Tastatursteuerung?
die geht über das anzeigeprogramm, bei diversen viewrn kann man die frei
konfigurieren.


> Möcht' ich sehen …
man page lesen
Moderator Persönliche Seite #5751968
Bussy schrieb:
> die geht über das anzeigeprogramm, bei diversen viewrn kann man die frei
> konfigurieren.

In diesem Falle bräuchte man gar keinen Shell-Script mehr, allerdings 
bräuchte es einen Viewer, der sowohl Videos als auch Bilder 
slideshowmäßig abspielen kann (so habe ich zumindest die Anforderung 
verstanden). Da fiele mir zumindest auf Anhieb keiner ein.
Gast #5751995
Jörg W. schrieb:
> In diesem Falle bräuchte man gar keinen Shell-Script mehr, allerdings
Doch braucht man....

> bräuchte es einen Viewer, der sowohl Videos als auch Bilder
> slideshowmäßig abspielen kann (so habe ich zumindest die Anforderung
> verstanden). Da fiele mir zumindest auf Anhieb keiner ein.
...eben deshalb und zum sortieren nach Zeit. Man liest das Dir innerhalb 
des scripts ein, sortiert nach Zeit und ruft der sortierten Liste nach 
je Datei player oder viewer auf. Da poppt dann zwar immer der jeweilige 
Viewer oder Player neu auf und muss ihn manuell nach jedem Bild oder 
Film beenden aber aber es tut was es soll.

Will man es besser machen nimmt man python mit entspr, libs, OpenCV kann 
auch videos abspielen (je nach Format evt. ein Problem), Bilder gehen 
damit auch oder man nimmt PIL oder ffmpeg-bindings oder nutzt für Videos 
notgedrungen einen externen Player wenn es exotische Formate sind. 
mplayer bietet sich hier an da er keine GUI-Elemente anzeigt das fällt 
dann nicht weiter auf.
Gast #5752000
Jörg W. schrieb:
> In diesem Falle bräuchte man gar keinen Shell-Script mehr, allerdings
> bräuchte es einen Viewer, der sowohl Videos als auch Bilder
> slideshowmäßig abspielen kann (so habe ich zumindest die Anforderung
> verstanden).

Aber ich erwähnte doch schon einen:
DPA schrieb:
> mpv

Und Scripten kann man das zeug auch, beispiel:
https://gist.github.com/haasn/7919afd765e308fa91cbe19a64631d0f
Gast #5752025
Ok, mpv ist hier das Beste habe es gerade getestet funktioniert 
einwandfrei mit Bildern und Vids . Playlist sortiert nach Alter erstellt 
man sich per bashscript und ruft dann mpv auf.
#5752735
Die meisten Bildanzeigeprogramme können kein Video, aber umgekehrt geht 
das meist schon. Der vlc kann das zum Beispiel. Der mplayer auch, zeigt 
es aber per Default nur als einen Frame, also eher kurz an.

Bussy schrieb:
> Jörg W. schrieb:
>> In diesem Falle bräuchte man gar keinen Shell-Script mehr, allerdings
> Doch braucht man....
>
>> bräuchte es einen Viewer, der sowohl Videos als auch Bilder
>> slideshowmäßig abspielen kann (so habe ich zumindest die Anforderung
>> verstanden). Da fiele mir zumindest auf Anhieb keiner ein.
> ...eben deshalb und zum sortieren nach Zeit. Man liest das Dir innerhalb
> des scripts ein, sortiert nach Zeit und ruft der sortierten Liste nach
> je Datei player oder viewer auf. Da poppt dann zwar immer der jeweilige
> Viewer oder Player neu auf und muss ihn manuell nach jedem Bild oder
> Film beenden aber aber es tut was es soll.

Ok, und wie funktioniert jetzt die Umsetzung der oben genannten 
Tasten-Eingaben rein durch Konfiguration des Anzeigeprogramms (oder 
überhaupt)? Also dass es z.B. beim Drücken der linken Cursortaste dem 
Skript sagt, dass es jetzt zum vorherigen Bild oder Video zurückspringen 
soll?

Jörg W. schrieb:
> Bussy schrieb:
>> per bashscript
>
> Ein Shellscript genügt, es muss nicht unbedingt eine bash sein. :-)

Gibt ja auch die dash.
Gast #5752769
Rolf M. schrieb:
> Ok, und wie funktioniert jetzt die Umsetzung der oben genannten
> Tasten-Eingaben rein durch Konfiguration des Anzeigeprogramms (oder
> überhaupt)? Also dass es z.B. beim Drücken der linken Cursortaste dem
> Skript sagt, dass es jetzt zum vorherigen Bild oder Video zurückspringen
> soll?

Indem man ein Skript verwendet, welches vom Anzeigeprogramm geladen 
wird. Bei MPV gibt's ne risen liste davon: 
https://github.com/mpv-player/mpv/wiki/User-Scripts
Interessant wären hier nextfile und mpv_sort_script.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.