Hallo liebe Raspberrybastler
Ich baue mir aktuell aus einem Raspberry eine Türsprechanlage mit Überwachungsfunktion und "Live" Bild einer IP-Überwachungskamera.
Ich habe bis jetzt alles in Python mit Hilfe von Kivy (für einen Touchscreen) geschrieben und hat auch alles soweit funktioniert. Jetzt hab ich mich daran gemacht die Kamera noch mit einzubinden und da hab ich jetzt so meine Probleme.
Ich hab mir das ganze so vorgestellt, dass der Pi über ffmpeg jede Sek einen Screenshot macht und ich dann jede Sek das aktuelle Bild neu lade. Es würde natürlich auch noch die Möglichkeit bestehen den Livestream der Kamera direkt an Kivy zu übergeben, aber das hab ich bis jetzt auch nicht zum laufen bekommen bzw. nicht mal einen groben Ansatz dafür.Deshalb auch aktuell die Sache mit "jeder Sek 1 Bild" und das funktioniert auch bis zu ca. 10 Bilder problemlos und dann gibt er mir nur noch ein Schwarzes Bild aus. Ich weiß aber nicht woran es liegen könnte, dass es Anfangs funktioniert und nach ein paar Bildern nicht mehr
Das ffmpeg immer im Hintergrund laufen kann hab ich ein Shellskript geschrieben:
und dieses Starte ich beim Initialisieren des Bildschrims und das funktioniert auch passend, also erstellt mir jede Sek brav ein Bild.
Cam_Update wird jede Sek aufgerufen.
def Cam_Update(self, dt):
global counter_bilder
#Bilder auslesen und bei jedem Aufruf um 1 erhöhen
Ordnerliste = os.listdir(pfad) #Liste aller Bilder im Ordner einlesen
Ordnerliste.sort() #Liste sortieren
try:
Name = str(Ordnerliste[-1]) #letztes Bild im Ordner einlesen
kompletter_pfad = pfad+"/"+Name #Pfad des Bildes einlesen
kompletter_pfad = str(kompletter_pfad)
self.Bild = kompletter_pfad #Bild auf Bildschirm aktualisieren
counter_bilder += 1
if counter_bilder == 99: #Ordner wieder leeren
shutil.rmtree(pfad)
os.mkdir(pfad)
counter_bilder = 0
except:
print "Außerhalb der Liste!"
self.Bild = 'Testbild.jpeg'
Display More
und self.Bild übergibt dann das aktuelle Bild an die .kv Datei für Kivy.
Ich verstehe nicht wieso er Anfangs keine Probleme hat die Bilder einzulesen, aber sobald das ca. 11 Bild kommt, er dann nur noch ein "schwarzes" Bild ausgibt, aber ganz selten, vll so alle 40 Bilder, gibt er wieder 1 oder 2 Bilder richtig aus.
(Die Bilder sind aber alle ganz normal, wenn ich es mir per ftp hole.
Ist es möglich die beiden Skripte (sh und py) zu synchronisieren? Also das er zu 100% fertig ist das Bild zu machen und es erst dann einliest? Könnte mir vll vorstellen das es daran liegt, aber ich glaub fast nicht.
Vll weiß jemand von euch Rat