mikrocontroller.net

Forum: PC-Programmierung Python oder Shell-Programm zum Bilder und Videos anzeigen..


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Rainer U. (r-u)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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"?

Autor: DPA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bussy (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Rainer U. schrieb:
> früher hab ich mal shell scripte geschrieben.
Dann schreib dir halt was entsprechendes. Jeden dämlichen 
videoplayer/bildbetrachter kannst du per Parameter starten.
Was ist jetzt dein Problem?

Autor: Imonbln (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bussy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jörg W. (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bussy schrieb:
> Das ist geradezu trivial mit einem bashscript.

Einschließlich der Tastatursteuerung?

Möcht' ich sehen …

Autor: Bussy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg W. (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bussy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: DPA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Dirk B. (dirkb2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für welches System denn?

Autor: Jörg W. (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DPA schrieb:
> Aber ich erwähnte doch schon einen:
> DPA schrieb:
>> mpv

Wäre mir vom Durchlesen der Doku jetzt nicht in den Sinn gekommen, dass 
das Ding auch aus normalen Bildern eine Slideshow machen würde.

Autor: Bussy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jörg W. (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bussy schrieb:
> per bashscript

Ein Shellscript genügt, es muss nicht unbedingt eine bash sein. :-)

(Ich mag es nicht, sh == bash zu setzen. bash ist feeping creaturism.)

Autor: zitter_ned_aso (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rainer U. schrieb:
> ich suche - momentan nur halb erfolgreich - nach einer Möglichkeit,
> Bilder und Videos nacheinander als Diashow anzusehen

Welches Betriebsystem eigentlich?

Unter Linux geht es nämlich mit dem gthumb-Viewer.

Autor: Rainer U. (r-u)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Leute,

mpv werde ich mal testen.
Bei gthumb steht nix von Videos..?

Bs soll Ubuntu sein, siehe Link oben ( sorry )

Autor: Rolf M. (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
Autor: DPA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.