The 100 best digital picture frames on amazon
The 100 best digital picture frames on amazon
The 100 best digital picture frames on amazon
The 100 best digital picture frames on amazon

So erstellst du pro­fes­sio­nel­le Über­blen­dun­gen auf dei­nem digi­ta­len Bil­der­rah­men mit Pi3D

-

Wor­auf es bei einem digi­ta­len Bil­der­rah­men vor allem ankommt, ist nicht nur der Com­pu­ter, der Bil­der­rah­men oder das Dis­play. Son­dern die Soft­ware, die die Bil­der abspielt, meist mit dem etwas sper­ri­gen Begriff Bild­be­trach­ter titu­liert.

Die Bil­d­be­­trach­­ter-Sof­t­­wa­re ist für die Über­gän­ge zwi­schen den Bil­dern zustän­dig. Und die sind viel wich­ti­ger als man viel­leicht zunächst glau­ben mag. Ich wür­de sogar behaup­ten, die Qua­li­tät der Über­gän­ge ist über­haupt das, was einen guten digi­ta­len Bil­der­rah­men aus­zeich­net.

Ich habe vie­le unter­schied­li­che Vari­an­ten von Bild­über­gän­gen im Ech­tein­satz im Wohn­zim­mer über lan­ge Zeit aus­pro­biert. Und auch wenn es reiz­voll erschei­nen mag, immer wie­der unter­schied­li­che Über­gän­ge nach Zufalls­prin­zip ser­viert zu bekom­men, gibt es nur den Effekt der Kreuz­über­blen­dung, den ich wirk­lich emp­feh­len kann.

In die­sem Arti­kel zei­ge ich euch, wie man das mit Pi3D ein­rich­tet und so kon­fi­gu­riert, dass man einen Welt­klas­se digi­ta­len Bil­der­rah­men bekommt.

Hin­weis: Die kürz­li­che Ein­füh­rung des Rasp­berry Pi 4 und Raspbi­an Bus­ter hat zu eini­gen Ände­run­gen auf Ebe­ne der Gra­­fik-Engi­­ne geführt. Pi3D und die­ser Arti­kel wur­den daher über­ar­bei­tet, um die­se Ände­run­gen wider­zu­spie­geln. Pi3D funk­tio­niert mit dem Rasp­berry Pi 2, 3 und 4. Für die­ses Tuto­ri­al unbe­dingt das neu­es­te Raspbi­an Bus­ter Betriebs­sys­tem ver­wen­den.

Der Pi Zero hat sich als sehr insta­bil in Zusam­men­hang mit Pi3D her­aus­ge­stellt, wenn gleich­zei­tig noch ande­re Pro­gram­me lie­fen. Des­we­gen kön­nen wir ihn für die­se Anwen­dung auch nicht mehr emp­feh­len.

Der klei­ne Unter­schied

Eine häu­fig ein­ge­setz­te Soft­ware für Bild­wie­der­ga­be ist das feh Paket. Das ist ein recht ein­fach gehal­te­ner Bild­be­trach­ter, den vie­le Tuto­ri­als für digi­ta­le Bil­der­rah­men emp­feh­len. Ich bin da ganz ande­rer Mei­nung.

Als ich mei­nen aller­ers­ten digi­ta­len Bil­der­rah­men selbst­ge­baut habe, habe ich auch zunächst feh ein­ge­setzt, weil ich ein­fach nichts bes­se­res fand. Aber das Pro­blem mit feh sind die feh­len­den sanf­ten Über­blen­dun­gen zwi­schen den Bil­dern. feh kann nur "hart" umschal­ten.

Für Außen­wer­bung mag das genau rich­tig sein, aber für den Ein­satz im Innen­be­reich ist es gänz­lich unge­eig­net.

Der har­te Über­gang zwi­schen Bil­dern ist wie eine Stö­rung, die bei gro­ßen Bild­schir­men umso stär­ker wahr­ge­nom­men wird. Bei gro­ßen Hel­lig­keits­un­ter­schie­den zwi­schen Bil­dern fällt es beson­ders auf. Außer­dem ist es unglaub­lich lang­wei­lig.

War­um?

Über 12 Jah­re habe ich mit Bild­über­gän­gen her­um expe­ri­men­tiert und auch die Mei­nung vie­ler Leu­te dazu ein­ge­holt. Dabei wur­den sanf­te (also lang­sa­me) Kreuz­über­blen­dun­gen mit gro­ßem Abstand favo­ri­siert.

Ihr fragt euch jetzt viel­leicht, ob das wirk­lich einen so gro­ßen Unter­schied macht. Mei­ne Ant­wort dazu ist ein kla­res "Ja".

Wenn ihr kei­ne ruhi­gen Kreuz­über­blen­dun­gen ein­setzt, dann wird eurem Bil­der­rah­men die Emo­ti­on und Span­nung feh­len. Wie eine Küche ohne Gewür­ze.

Es mag nur ein klei­ner Unter­schied sein, aber er hat eine gro­ße Wir­kung.

Hier ist ein Bei­spiel von Kreuz­über­blen­dun­gen, die auf eine Über­blend­dau­er von zehn Sekun­den ein­ge­stellt sind (mit sanf­ter Kla­vier­mu­sik, falls ihr gera­de im Büro seid):

In mei­nem Arti­kel "Die 5 wich­tigs­ten Kri­te­ri­en, auf die du beim Ver­gleich von digi­ta­len Bil­der­rah­men ach­ten soll­test" habe ich die­sem Punkt noch etwas wei­ter aus­ge­führt.

Glück­li­cher­wei­se gibt es Pi3D.

Die Gra­fik­fä­hig­kei­ten des Rasp­berry Pis rich­tig aus­nut­zen

Nach­dem ich also mit den Bild­über­gän­gen mei­nes ers­ten Selbst­baus unzu­frie­den war, berich­te­te ich auf dem eng­li­schen Rasp­berry Pi Forum von mei­nen Nöten.

Ein Typ dort schlug vor, ich sol­le doch mal die 2D/3D Ren­de­ring Soft­ware aus­pro­bie­ren, da wären auch Demos dabei, die auf mei­nen Anwen­dungs­fall zutref­fen könn­ten.

Eine Demo gefiel mir ganz beson­ders: Sli­de­Tran­si­ti­on. Ein Pro­gramm mit vier ver­schie­de­nen ani­mier­ten Bild­über­gän­gen, das Bil­der in einem Ver­zeich­nis wie­der­gab.

Dar­un­ter waren auch wun­der­ba­re Kreuz­über­blen­dun­gen, genau das, wonach ich gesucht hat­te.

Der "Typ" aus dem Forum stell­te sich als Pad­dy Gaunt her­aus, der gemein­sam mit Tim Skill­man und Tom Ritch­ford Pi3D geschrie­ben hat­te. Für die Tech­ni­ker unter euch: Pi3D ist eine Python Open GL ES 2.0 Libra­ry für den Rasp­berry Pi.

Die Soft­ware ermög­licht es, 3D-basier­­te Anwen­dun­gen zu schrei­ben, die die Fähig­kei­ten des rela­tiv schwa­chen Gra­fik­pro­zes­sors des Rasp­berry Pi opti­mal ein­set­zen.

Das heißt für uns Lai­en, dass Pi3D gra­fi­sche Effek­te ermög­licht, für die man sonst sehr viel mehr Rechen­leis­tung benö­tigt.

Pad­dy fand Gefal­len an mei­nem Pro­jekt und schrieb ein Python Script, was sich für die Anwen­dung in digi­ta­len Bil­der­rah­men ide­al eig­nen wür­de.

PictureFrame.py war gebo­ren. Ein klei­nes Pro­gramm, was wun­der­ba­re Ein­stell­mög­lich­kei­ten für Kreuz­über­blen­dun­gen ermög­licht.

Instal­lie­ren wir zunächst Pi3D bevor wir in die Details des Skript ein­tau­chen.

Instal­lie­ren von Pi3D auf dem Rasp­berry Pi 2, 3 und 4

Die nach­fol­gen­de Anlei­tung geht davon aus, dass du dei­nen Rasp­berry Pi gemäß der Schrit­te in dem Arti­kel "So spielst du in weni­ger als 60 Minu­ten die Soft­ware für dei­nen digi­ta­len Bil­der­rah­men auf" ein­ge­rich­tet hast.

Wenn du das noch nicht gemacht hast, dann lies dir am bes­ten jetzt erst ein­mal den Arti­kel durch.

Ach­te vor allem dar­auf, dass du "Raspbi­an Bus­ter with Desk­top" instal­liert hast, da es dort eini­ge Soft­ware Packa­ges gibt, die in "Raspbi­an Bus­ter Lite" nicht ent­hal­ten sind.

Es gibt ein paar klei­ne­re Unter­schie­de in den Ein­stel­lun­gen für den Rasp­berry Pi 2 und 3, die mit dem Gra­fik­trei­ber zusam­men­hän­gen. Die­se Unter­schie­de sind in oran­ge mar­kiert.

Im Ter­mi­nal ver­bin­de dich mit dei­nem Rasp­berry Pi mit

ssh pi@IP-of-your-Raspberry-Pi (z.B. 192.178.134.79)

Dann gib Fol­gen­des ein:

sudo apt update && sudo apt upgrade -y

Die nach­fol­gen­den Ein­stel­lun­gen betref­fen die Gra­­fik-Engi­­ne.

sudo raspi-config

Nimm die fol­gen­den Ände­run­gen vor:

Für den Rasp­berry Pi 4:

  • Unter 3: Boot Opti­ons - B1 Desktop/CLI - Wäh­le B2 Con­so­le Auto­lo­gin
  • Unter 7: Advan­ced Opti­ons - A3 Memo­ry Split - Set­ze den Wert auf 128 MB
  • Unter 7: Advan­ced Opti­ons - A7 GL Dri­ver - Wäh­le G2 (Fake KMS)

Für den Rasp­berry Pi 2 und 3:

  • Unter 3: Boot Opti­ons - B1 Desktop/CLI - Wäh­le B4 Desk­top Auto­lo­gin
  • Unter 7: Advan­ced Opti­ons - A3 Memo­ry Split - Set­ze den Wert auf 128 MB
  • Unter 7: Advan­ced Opti­ons - A7 GL Dri­ver - Wäh­le G1 (Lega­cy)

Nach dem Reboot gibst du im Ter­mi­nal ein:

sudo pip3 install pi3d
wget https://github.com/pi3d/pi3d_demos/archive/master.zip && unzip master.zip && rm master.zip && mv pi3d_demos-master pi3d_demos

Das war's auch schon. Pi3D, das wich­tigs­te Pro­gramm für dein digi­ta­les Bil­der­rah­men­pro­jekt ist jetzt instal­liert.

Jetzt kannst du tes­ten, ob auch alles funk­tio­niert. Zuvor schließt du natür­lich noch den Moni­tor an.

Für den Rasp­berry Pi 4:

cd pi3d_demos
sudo xinit /usr/bin/python3 /home/pi/pi3d_demos/Earth.py :0 -- -s off -dpms -s noblank

Für den Rasp­berry Pi 2 und 3:

cd pi3d_demos
python3 Earth.py

Wenn du jetzt einen sich dre­hen­den Glo­bus siehst, war dei­ne Instal­la­ti­on erfolg­reich. Falls nicht, über­prü­fe dei­ne Ein­stel­lun­gen in sudo raspi-con­­fig.

Den schö­ne Welt­ku­gel brichst du mit "ESC" ab.

Jetzt schau­en wir uns das Python Skript für den digi­ta­len Bil­der­rah­men an.

PictureFrame.py für wun­der­ba­re Über­blen­dun­gen

Das Skript, das für die Dia Show auf dei­nem Bil­der­rah­men zustän­dig ist ist, heißt PictureFrame.py.

Es ist in Python geschrie­ben und befin­det sich im pi3d_demos Ver­zeich­nis.

Öff­ne PictureFrame.py in einem Edi­tor (z.B. Sub­li­me Text).

Im Skript fin­dest du einen Abschnitt namens "the­se varia­bles are con­stants". Hier kon­fi­gu­rierst du Pi3D für dei­nen digi­ta­len Bil­der­rah­men. Ich habe eini­ge Kom­men­ta­re hin­zu­ge­fügt, um es dir leich­ter zu machen.

#####################################################
# these variables are constants
#####################################################
PIC_DIR = '/home/pi/Pictures' # Verzeichnis, in dem deine Bilder liegen
FPS = 30 # setze den Wert auf 30 für den Pi 4/3 und auf 20 für den Pi 2.
FIT = False # "True" meint maximale Bildgröße ohne Beschnitt. Das kann schwarze Balken zur Konsequenz haben, wenn das Seitenverhältnis der Bilder sich vom Rahmen unterscheidet. Bei "False" erfolgt eine bildschirmfüllende Anzeige
EDGE_ALPHA = 0.0 # see background colour at edge. 1.0 would show reflection of image
BACKGROUND = (0.2, 0.2, 0.2, 1.0)
RESHUFFLE_NUM = 1 # Wie oft die Bilder neu gemischt werden
FONT_FILE = '/home/pi/pi3d_demos/fonts/NotoSans-Regular.ttf' # nicht ändern
CODEPOINTS = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ., _-/' # limit to 49 ie 7x7 grid_size # nicht ändern
USE_MQTT = False # Aktiviert die Steuerung über MQTT; auf "False" setzen, wenn du das nicht nutzt.

Ich wer­de die MQTT Funk­tio­na­li­tät in einem zukünf­ti­gen Arti­kel näher erklä­ren. Dadurch lässt sich Pi3D per Ale­xa Sprach­steue­rung bedie­nen.

In der Sek­ti­on direkt dar­un­ter "the­se varia­bles can be alte­red using mqtt messa­ging" spe­zi­fi­zierst du die Play­back Optio­nen.

#####################################################
# these variables can be altered using mqtt messaging
#####################################################
time_delay = 10.0 # Zeitabstand zwischen den Bildern in Sekunden
fade_time = 3.0 # Dauer des Überblendung zwischen den Bildern
shuffle = True # Zufallsmodus
date_from = None # nicht ändern
date_to = None # nicht ändern
quit = False # nicht ändern
paused = False # nicht ändern
 
delta_alpha = 1.0 / (FPS * fade_time) # delta alpha - nicht ändern

Für den Ein­satz des Bil­der­rah­mens zu Hau­se emp­feh­le ich eine time_delay von 200 Sekun­den und eine fade_time von 10, was zu sehr schö­nen Über­gangs­ef­fek­ten führt. Pro­biert ein­fach her­um, was für euren Anwen­dungs­zweck am bes­ten passt.

In der Grund­ein­stel­lung zeigt Pi3D den Datei­na­men kurz an. Um das abzu­stel­len, kom­men­tiert ihr vier Befeh­le aus.

Scrollt wei­ter run­ter bis "# set the file name as the descrip­ti­on" und setzt ein "#" direkt vor text.regen() und text.draw(), so wie hier dar­ge­stellt:

# set the file name as the description
textblock.set_text(text_format="{}".format(tidy_name(iFiles[pic_num])))
#text.regen() # Anzeige des Dateinamens auskommentieren
 
if a < 1.0:
a += delta_alpha
slide.unif[44] = a
# this sets alpha for the TextBlock from 0 to 1 then back to 0
textblock.colouring.set_colour(alpha=(1.0 - abs(1.0 - 2.0 * a)))
#text.regen() # Anzeige des Dateinamens auskommentieren
 
slide.draw()
 
else:
textblock.set_text("NO IMAGES SELECTED")
textblock.colouring.set_colour(alpha=1.0)
#text.regen() # Anzeige des Dateinamens auskommentieren
 
#text.draw() # Anzeige des Dateinamens auskommentieren

Bevor du jetzt Pi3D tes­ten kannst, musst du zunächst eini­ge Bil­der in dein Foto­ver­zeich­nis auf dem Rasp­berry Pi laden.

Danach gibst du im Ter­mi­nal ein:

Für den Rasp­berry Pi 4:

cd pi3d_demos
sudo xinit /usr/bin/python3 /home/pi/pi3d_demos/PictureFrame.py :0 -- -s off -dpms -s noblank

Für den Rasp­berry Pi 2 und 3:

cd /home/pi/pi3d_demos
python3 PictureFrame.py

Pi3D soll­te nach ein paar Sekun­den star­ten. Auf dem Pi Zero kann das schon mal 20 Sekun­den dau­ern.

Die Bild­ab­fol­ge kannst du manu­ell mit "STRG+C" oder "ESC" bei einer ange­schlos­se­nen Tas­ta­tur, abbre­chen.

Auto­ma­ti­scher Start der Bil­der Show bei Neu­start

Erstel­le eine neue Datei

cd ~
sudo nano start_slideshow.sh

und kopie­re den fol­gen­den Text in die Datei.

Für den Rasp­berry Pi 4:

#!/bin/bash
cd pi3d_demos
sudo xinit /usr/bin/python3 /home/pi/pi3d_demos/PictureFrame.py :0 -- -s off -dpms -s noblank

Für den Rasp­berry Pi 2 und 3:

#!/bin/bash
cd pi3d_demos
python3 /home/pi/pi3d_demos/PictureFrame.py

Spei­che­re mit (CTRL+O), ver­las­se den Edi­tor (CTRL-X) und mache die Datei aus­führ­bar.

sudo chmod +x start_slideshow.sh

Öff­ne Crontab

crontab -e

und füge die­se Zei­le hin­zu

@reboot /home/pi/start_slideshow.sh

Spei­che­re mit (CTRL+O), ver­las­se den Edi­tor (CTRL-X) und star­te neu.

sudo reboot

Pi3D wird direkt nach dem Neu­start selb­stän­dig star­ten.

Fazit

Wenn jetzt alles wie gewünscht funk­tio­niert, kannst du die übri­gen Bil­der auf den Rasp­berry Pi hoch­la­den. Herz­li­chen Glück­wunsch!

Dan­ke noch­mal and Pad­dy und sei­ne Kol­le­gen, die hier etwas ganz Groß­ar­ti­ges pro­gram­miert und auch sehr schnell die Anpas­sung für den Rasp­berry Pi 4 gelie­fert haben.

Ich habe bis­her kein bes­se­res Pro­gramm gefun­den, um so wun­der­ba­re Bild­über­gän­ge auf dem Rasp­berry Pi zu ermög­li­chen.

Wer noch tie­fer in Pi3D ein­stei­gen möch­te kann das hier tun.