Startseite
Über Mich
AHP4
Galerie
Sehschlangen
Tourenbuch
Bookmarks
Elektronik
Bewertung
Geschichten

Übersicht

Einleitung

In meiner Freizeit gestalte ich regelmäßig Bilderabende für die Hochtourengruppe. Vor zwei oder drei Jahren kam mir die Idee, dass man speziell für Panoramafotos etwas bräuchte, das Panoramen unter Ausnutzung der Bildschirmhöhe horizontal scrollt. Ein solches Programm ließ sich unter Linux nirgends finden, zumindest fand ich das Program feh, das mit zahlreichen Optionen aus der Kommandozeile steuerbar war. Nur das automatische Scrollen fehlte, der Programmierer von feh hatte leider auch keine Lust, meinen Vorschlag mit dem automatischen Scrollen aufzugreifen. Dieses Scrollen versuchte ich dann, durch Simulation von Tastendrücken (per xvkbd) zu erwirken. Das hatte aber gravierende Nachteile und sorgte manchmal für Verzweiflung und Belustigung bei den Treffen der Hochtourengruppe. Aus diesen Erfahrungen heraus ist dann die Idee geboren worden, auf Basis von python ein eigenes Tool zum Scrollen von Panoramen zu schreiben. Herausgekommen ist PanoScroller.py, ein einfach zu bedienendes Präsentationstool für jpg-Fotos und Videos. Was kann PanoScroller?
  • Spielt Fotos und Videos auf Basis einer ls-Auflistung ab
  • Automatische Foto-Ausrichtung per EXIF-Tags
  • Panoramen (Landschaft oder vertikale Portraits) werden sanft gescrollt
  • jpgs und Videos können beliebig kombiniert werden
  • Diaschau-Modus mit mp3-Hintergrundmusik
  • Möglichst universelle Tastaturvorbelegung

Voraussetzungen

Drei Software-Pakete müssen unter Linux installiert sein:
  • python
  • tk, für tkinter unter python
  • python-pillow, Image-Libraries, meistens schon bei python dabei.
  • optional: Programm zum Abspielen von Videos, vlc oder mplayer
  • optional: mpg123 zum Abspielen von mp3s.
Wer nur Fotos zeigen will, braucht weder vlc noch mpg123.

Verwendung

PanoScroller startet ohne Argumente aus der Kommandozeile. Das Skript mit chmod 750 in einem Ordner im Ausführungspfad PATH ablegen, das war es auch schon. Sollte python nicht in /usr/bin liegen, dann bei Bedarf die Kopfzeile des Skripts anpassen.
Wie arbeitet PanoScroller?
Zentral ist ein Directory-Scan mit dem ls-Befehl. Dabei werden bestimmte Dateien abhängig von ihrer Endung erkannt und in alphabetischer Reihenfolge verarbeitet. Mit vorbelegten Tasten kann vor- und zurückgesprungen werden:
  • Nächstes Element: Linke Maustaste, Leertaste, Pfeiltaste rechts, Pfeiltaste runter, Seite runter/PgDown
  • Vorheriges Element: Backspace, Pfeiltaste links, Pfeiltaste hoch, Seite hoch/PgUp
  • Programmende: q, Escape
  • Vertikales Scrollen an/aus: v
Die verschiedenen Tasten sind auch deswegen vorgesehen worden, da am Markt Präsenter mit unterschiedlichen Tastenbelegungen existieren.
Per Default befindet sich PanoScroller im Einzelbildmodus, d.h. die jpg-Dateien werden zur Anzeige gebracht, und nach Auswahl von Vor/Zurück per Eingabe wird das benachbarte Element geladen und gezeigt. Video-Dateien werden im Prinzip genauso behandelt, laufen aber komplett durch. Nach einem abgespielten Video springt PanoScroller automatisch zum nächsten Element. Wird ein Foto mit Überbreite oder Überhöhe entdeckt, so wird ein automatischer Schwenk entweder von links nach rechts oder von oben nach unten durchgeführt. Danach wartet PanoScroller wieder auf eine Eingabe des Anwenders.
Einen Sonderfall stellt das Abspielen mit Musik dar. Wird in der Dateiliste eine mp3-Datei gefunden, so startet PanoScroller das Abspielen des mp3s im Hintergrund mit mpg123 und spielt dann solange Fotos oder Videos ab, bis entweder eine Stopp-Datei gefunden wird oder die Liste abgearbeitet wurde. Die Idee dahinter ist, dass nach einem Bildervortrag mit viel Erzählten manchmal eine Fotosequenz mit atmosphärischer Musik auch eindrucksvoll ist.
Neu in V1.05 ist die sogenannte Klaus-Funktion: Manche Präsenter besitzen Tasten, die Sonderfunktionen auf dem Rechner auslösen sollen. Leider wird dadurch ein Esc-Tastendruck zu PanoScroller gesendet. Beim Vorzeitigen Abbruch einer Diaschau wird das zuletzt angezeigte Foto in einer versteckten Datei gespeichert. Das Verhalten kann durch Übergabe einer Datei als Kommandozeilenargument übersteuert werden.

Dateitypen

Kurze Beschreibung der Dateitypen, die von PanoScroller erkannt werden:
  • jpg/JPG/jpeg/JPEG: Klassische jpg-Datei, ein Foto.
  • png/PNG: Klassische png-Datei, Foto
  • mp3: mp3-Musikdatei. Startet automatische Diaschau
  • STOP.mp3: Ein Dateiname, der diese Endung hat, beendet eine automatische Diaschau. mp3-Wiedergabe wird gestoppt, Fotos werden wieder im Einzelmodus angezeigt. Der Dateiinhalt ist in diesem Falle irrelevant, Datei kann z.B. mit touch angelegt werden.
  • mp4/MP4: Wiedergabe einer Video-Datei im beliebigem Format. vlc frisst eigentlich alles.
  • mp4r/MP4R: Video mit mplayer abspielen, Drehung des Videos um 90 Grad nach rechts (im Uhrzeigersinn). Manchmal nötig für Videos vom Mobiltelefon
  • mp4l/MP4L: Video mit mplayer abspielen, Drehung des Videos um 90 Grad nach links (gegen den Uhrzeigersinn)
  • mp4f/MP4F: Video mit mplayer abspielen, Drehung des Videos um 180 Grad (flip=auf den Kopf stellen)

Legal Disclaimer

PanoScroller darf nicht-gewerblich eingesetzt werden. Der Autor übernimmt keine Verantwortung für Schäden, die durch das Programm entstehen (z.B. Datenverlust etc.). Copyright Jens Köhler

Ideen für Weiterentwicklung

  • Bestimmte Steuerungsfelder per Kommandozeilenargument, z.B. Pausenlänge bei Diaschau mit mp3, Diaschauende bei mp4 an/aus o.ä.
  • Scrollen im Wechsel von Rechts/Links
  • Überblendeffekte, z.B. Raus-/Reinschieben...

Download

PanoScroller.py [zip]

Letzte Änderung : 22-Aug-2023
Copyright Jens Köhler, Wolfsburg, Obere Dorfstraße 10d