leider funktioniert der refresh der Bilder nicht mehr sauber.
Kann ich hier leider nicht ganz nachvollziehen. Die Bilder werden bei mir ca alle 10 Sekunden nacheinander aktualisiert.
Ich habe auch die sleep time wieder zurück gesetzt auf die 10 Milisekunden doch auch das hat keine Verbesserung gebracht.
Für die Refresh-Rate ist dieser sleep Wert auch nicht von Bedeutung. Dieser Wert sollte nur kleiner sein, als der in der Zeile...
if (time.time() - cur_time > 9 # Time definition - How long will the cameras be displayed in seconds
...sein. Hier wird ja angegeben, nach welcher Zeit neue Bilder empfangen werden sollen. Wenn man als Beispiel irgendeine x-beliebige Kamera nimmt die bspw eine Aktualisierungsrate von 1 Sekunde hat, könnte man hier 1 Sekunde eintragen. Der sleep könnte hierbei dann zB 200 oder 500ms betragen. Der Refresh der Bilder von 1 Sekunde ist hier allerdings auch nur theoretisch, da die Bilder anschließend nacheinander empfangen werden. Wenn man hierbei dann zB für die Übertragung auch 1 Sek/Bild benötigt, kommt man am Ende nur auf eine Rate - bei einer kompletten Aktualisierung aller Bilder mit 4 Kameras - von ~4 Sekunden (hier kommt dann allerdings auch noch die Verzögerung dazu). Es wird also innerhalb dieser 4 Sekunden jede Sekunde ein Bild nach dem anderen gesetzt. Wenn man hier etwas mehr Schmackes dran bekommen wollte, würde ich den Empfang und das Setzen der Bilder in XBMC in Threads auslagern. Dann könnte man erreichen, das die Bilder unabhängig voneinander aktualisiert werden. Aber das wird dann schon eine Nummer härter, weil man dann wohl schauen müsste, wann, welcher Thread fertig ist oder man mit locks (ist glaube ich bei Python der Fall) arbeiten müsste... Das ist mir dann aber auch zu viel Maloche und dann kommt noch hinzu das ich mit Threads generell irgendwie auf Kriegsfuß stehe
Ich habe mal zum Testen die Adresse...
http://62.157.185.131/record/current.jpg
...für alle 4 Kameras, als Intervall 1 Sekunde und eine Verzögerung von 200ms genommen. Funktionierte wunderbar...
Ciao
PS:
Achso Exeptions müssten im Script eigentlich auch noch hinzugefügt werden, aber für den Heimgebrauch kann man davon sicherlich absehen...