 Okay, also, guten Morgen, hallo. Does anyone in this room not speak German? Would anyone prefer me to do the talk in English, otherwise I'll just do it in German? No objections? Keine Anwender, okay, gut, dann mache ich das auf Deutsch. Die Folien sind Englisch, aber das beherrscht dir bestimmt alle. Also, mein Name ist Andreas Frisch. Ich bin vom Aschaffenburger Hacker Makerspace Schaffenburg e.V., sind heute auch mit vier Mitgliedern hier vertreten. Und ich erzähle euch was über diesen Automaten, den wir gebaut haben, eine Photobooth. Dazu kurz einleitend, worüber werde ich reden? Also, zum einen mal, was ist überhaupt ein Photobooth? Warum haben wir eine gebaut? Über die Softwarearchitektur, ein bisschen über das Userinterface, das mal zeigen. Dann ein bisschen die Details da, dann den Komponenten, die wir in der Software benutzt haben. Und dann auch über die Hardware-Teile. Dann über die Schreinerei, Tischlerei, der Box, der Kiste sozusagen. Und dann noch ein bisschen auf die Probleme und die Kosten. Gut, dann fange ich mal an. What is a Photobooth? Also, das Ganze kommt natürlich von diesen Photoautomaten, wie sie früher oder auch immer noch, zum Beispiel am Bahnhof zu finden sind. Die Passbilder machen früher natürlich normale optische Filme, die dann belichtet wurden in Sofortbildverfahren und dann eben gezogen werden konnten für einen Preis. Es waren auch so richtige Kabinen, wo man reinging. Heutzutage ist Photobooth mehr der Begriff für so eine Kiste, die man eben irgendwo an die Wand hängt oder hinstellt und die dann selbstständig Fotos von einem macht. In Japan gibt es seit 95 diese Polikula-Automaten. Die machen so kleine Aufkleber. Die kann man verzieren mit Clip-Arts und da drauf rummalen. So ist eine riesige Sache da. Die haben das erste Mal mit Digitalkameras gearbeitet und mit Sublimationsdruckern, eben im Gegensatz zu diesen Passbildautomaten, die rein optisch gearbeitet haben. Ja, im Normalfall ist da eine Digitalkamera drin, weil die eben bessere Bilder macht als eine Webcam. Mit einem Selbstauslöser, oftmals haben die dann auch ein Bildschirm, wo man sich eben erstmal anschauen kann, ob man das Foto gefällt, ob man es wegschmeißen will, ob man es ausdrucken will, wenn das Ding ein Drucker hat. Manchmal mittlerweile natürlich auch schon mit Anbindung an sozialen Netzwerke, dass man das Ganze dann in Facebook oder so hochladen kann, wenn man das möchte. Und normalerweise werden die natürlich auch noch abgespeichert. Ab und zu gibt es auch so lustige Filfansrequisiten dazu, irgendwelche Brillen oder Bärte. Und dann ist das natürlich ein Superparty-Gag für eine Hochzeit, für ein Geburtstag oder Firmenfeierlichkeiten oder irgendwelche Jahrmärkteveranstaltungen. Unsere Motivation, so ein Ding zu bauen, war also für mich persönlich, wir wollten auf dem Aschaffenburger Christopher Street Days so ein Automat haben, weil ich das auf einem Geburtstag erlebt habe und es war eine Riesen-Gaudi, also es wurden 500 Abzüge an einem Abend gemacht von den Gästen. Und der Fotograf, der das da uns zur Verfügung gestellt hatte, wollte uns das für die Veranstaltung auch geben und dann hat es plötzlich unheimlich viel Geld gekostet, weil er natürlich einem anderen auf eine Hochzeit 1500 Euro dafür abnehmen konnte. Und dann habe ich mir gedacht, für den Preis schaffen wir das auch locker so ein Automat selber zu bauen, dann können wir den immer benutzen, wenn wir wollen. Und wir können natürlich toll was dabei lernen und wir haben ein super interdisziplinäres Projekt für unseren Makerspace, also Hardware-Software-Schreinerei, wenn man so will, das ist ja auch nochmal ein eigenes Gewerk und dann natürlich diese ganze Interaktivität mit Publikum, mit Leuten. Also wir bräudeln nicht nur in unserer Stube da in irgendwelchen Sachen rum, sondern wir gehen raus damit und haben was, wo die Leute Spaß mit haben. Und wir können damit Spenden sammeln, also ein bisschen Geld verdienen, das ist natürlich auch eine ganz wichtige Sache. Unsere Vorgehensweise war, ich habe zuerst einmal so ein Capture-Programm, also quasi eine kleine Demo-Software, die von der Digitalkamera die Bilder einlesen kann und auch ein Video, ein Live-Video einlesen kann, geschrieben mithilfe von der Library, auf die ich nachher noch zu sprechen komme und nachdem ich gesehen habe, dass es geht, habe ich dann ein bisschen Hardware gekauft, die Kamera war schon da, aber eben halt ein Touchscreen im Wesentlichen und ein Drucker und das ganze dann mal lose zusammengesteckt, das ging und dann haben wir diese Kiste konstruiert und gebaut und dann eben am Schluss noch so ein paar Gimmicks hinzugefügt, also bunte Letz zum Beispiel und ja den Photoblitz mit der Softbox und so. Gut, zur Softwarearchitektur, haben wir natürlich die Prämisse, wir wollen nur freie Software verwenden und frei, es sind Freedom, also nicht nur kostenlos, das heißt, Betriebssysteme natürlich Linux und keine proprietären Treiber von den Kameraherstellern oder so verwenden und da blieb dann im Prinzip als Lösung zur Kommunikation mit der Kamera nur noch Lip-G-Foto 2. Das ist also quasi eine Abstraktionsschicht für die Kamerakommunikation. Wir haben eine High-Level-API, der wir sagen können, machen Foto, holen wir die Datei von der Kamera über USB oder machen Video, holen wir den Stream und das ist in dem Moment mir als Softwareschreiber egal, was das dann für eine Kamera ist, ob das eine Sony ist oder eine Nikon oder eine Canon, was auch immer. Allerdings hat es ein paar Einschränkungen, der Live-View ist sehr hässlich, weil er ebenso generisch mit allen Kameras funktionieren muss, ist sehr schlecht dokumentiert, also man muss sich anhand von den wenigen Example-Programms da selber das zusammen rein, aber es ist sehr einfach. Ich kann das gerade mal zeigen, ich gehe mal hier auf die Box, wenn es geht. Geht unser WLAN, ich weiß es nicht. Wenn nicht, ich probiere es nachher nochmal. Kein Problem kann ich dann nochmal zeigen. Also man kann mit einem Befehl im Prinzip ein Foto machen und auch dann gleich übertragen als JPEG auf den Rechner. So der nächste wichtig Bestandteil ist G-Streamer. G-Streamer macht also die komplette Video- und Bildverarbeitung in der Photobooth. Das ist ein Multimedia Framework, was also im Prinzip alles machen kann. Man hat eine Pipeline mit verschiedenen Elementen drin, das ist zum einen, ich gehe da nochmal näher drauf ein, also im Normalfall irgendeine Quelle, dann irgendwelche verarbeitenden Elemente und dann irgendeine Sync, die das Ganze anzeigt oder abspeichert oder druckt oder was auch immer. Media Agnostic bedeutet, dass dem Framework G-Streamer das grundsätzlich erst mal legal ist, was da in Daten durchgeht. Also das kann jetzt ein Text-Datei sein, es kann ein Video sein oder ein Bild oder was auch immer. Es kommt dann nur auf die einzelnen Plugins drauf an, was die eben verarbeiten können, was die für Capabilities haben. Das ist toll, wenn ihr es noch nicht kennt, benutzt es. Das ist auch in ganz vielen Sachen drin, wo man es gar nicht erst denkt, dass da Linux dahinter steckt, also z.B. Fernseher oder Fernseh-Septop-Boxen, da ist häufig G-Streamer im Einsatz. Genau, hier ist dann nochmal so eine Pipeline. Ich könnte ja nochmal probieren, ob ich vielleicht, geht das hier? Was ist denn das im Moment hier? Ist das verbunden mit Schaffenburg? Ja, ne? Dann müsste eigentlich gehen. Na ja, gut, probier's nachher nochmal, wenn nicht, hinterher auf jeden Fall. Also mit dieser Pipeline hier würde man jetzt ein Live-Video quasi capturen von der Kamera und das dann per File-Descriptor in G-Streamer reinladen, dekodieren und anzeigen. Das ist ja also alles, was man bräuchte, diese eine Zeile, um ein Live-Video von der Kamera auf den Bildschirm zu zaubern. So, dann habe ich noch GTK Plus. Das ist ein Multi-Plattform-Toolkit für grafische User-Interfaces. Das wurde ursprünglich ins Leben gerufen für die Programmierung von GIMP, von dem GNU-Grafik-Programm. Und das ist auch immer noch die Basis für einige Linux-Desktops, also z.B. GNU, was red ich da? GNOME. G-Lip ist im Prinzip das daraus entstandene objektorientierte Aufsatzsystem für C. Also die ganze Software ist in C geschrieben mit dieser G-Lip-Erweiterung, die das objektorientiert macht, etliche Datentypen, kluge Datentypen mitbringt und eben so eine eventgetriebene Programmierung erlaubt und Threads besser erlaubt, lauter solche Dinge. Dann gibt es dieses GTK-Widget-Toolkit. Das bringt eben mir die grafischen Elementeknöpfe, Schieber und so ein Krempel. Und da gibt es auch ein Tool mit dem man diese GUIs bauen kann. Das ist Glade. Also hier ist dann eben so ein Interface, das kann man sich hier zusammen schieben und so weiter. Und dann wird das in der XML-Datei abgespeichert und kann dann verwendet werden für die Software. Gut. Ja, kurz zum User-Interface. Das ist eigentlich ganz primitiv. Es soll ja für jeden einfach zu bedienen sein über den Touchscreen. Und zwar macht das beim Innet. Wenn man das anschaltet, lädt es erstmal seine Konfigurationen aus einer Inni-Datei. Da ist eben die Anordnung der GUI-Elemente drin. Dann das Oval-Image. Das bedeutet diese Schriften und Logos, die auf dem Ausdruck dann drauf sind. Das ist also im Prinzip eine vollformatik PNG-Datei mit Transparenz. Das kann auch Teiltransparenz sein. Man könnte also auch oben irgendwie eine Sonne oder Wölkchen hinmachen oder wie auch immer. Es ist ja nicht auf den unteren Bereich beschränkt. Ja, die Texte sind anpassbar in jede Sprache. Die Countdown-Länge kann man einstellen, die Pfade und die Sounds und so weiter. Dann läuft er automatisch in den Preview-Modus. Das heißt, er fängt an, das Live-Video anzuzeigen. Und sobald man den Bildschirm berührt, fängt er eben an, ein Countdown runterzulaufen. Und dann macht er ein Foto mit Blitz, im Normalfall. Und dieses Foto wird dann angezeigt. Und man hat die Möglichkeit hier oben mit diesem Schieber auszuwellen, wie viele Ausdrücke man machen will. Das ist auch konfigurierbar, ob man jetzt von 1, 2 oder 3 erlaubt oder bis zu 10 oder wie auch immer. Das kann man also einstellen. Und dann kann man das mit Druck auf Print-Foto eben ausdrucken. Oder mit Cancel wieder zurück in den Preview-Modus gehen. Und wenn man das so eingestellt hat und die entsprechenden API-Key hinterlegt hat, beziehungsweise Existok und so was, alles gibt, kann man das dann auch noch auf Imager oder auf Facebook hochladen. Unten in der Statusleiste wird die Uhrzeit angezeigt und wie viel Druck man noch hat. Also das ist so für die Usersicht die Software. Für die Entwicklersicht ist das ein bisschen komplizierter. Da haben wir im Prinzip mehrere Threads. Das eine ist so der Main-Context von der Photobooth-Software. Ich erwarte jetzt nicht, dass ihr das alles lesen könnt, weil das ziemlich klein ist. Dann gibt es den Capture Thread. Der läuft Asynchronen und ist im Prinzip für die Aquirierung der Bilder von der Kamera mit dem Lip-Gee-Foto zuständig. Also der macht ständig in der Endlos-Schleife lauter kleine JPEGs und streamt die an G-Streamer. Das ist dann also jetzt das hellblaue und der zeigt die dann eben an. Beim Auslösen eines Fotos, indem man den Bildschirm antrückt, wird zum Beispiel hier nach einer bestimmten Zeit, also nach ein paar Sekunden, wenn der Countdown eben fast abgelaufen ist, zum Beispiel über eine Message-Pipe an den Thread geschickt, mache jetzt Pre-Trigger und in dem Moment macht er eben den Live-View aus und initialisiert die Kamera neu, damit ich dann ein richtiges Foto machen kann und dann nochmal ein kleines bisschen später, wenn dann der Countdown ganz abgelaufen ist, dann macht er ein Foto, Capture-Foto. Dieses Foto läuft dann, durchläuft eben so eine Processing-Pipeline von G-Streamer, da werden verschiedene Korrekturen angewendet, es wird skaliert und so weiter, zeige ich gleich nochmal. Und dann im Endeffekt wird es dann eben angezeigt und er fragt, wie häufig man es ausdrucken möchte und hochladen möchte und so weiter. Also diese ganzen Folien, die liegen dann auch im Netz, die könnt ihr euch angucken und dann auch nochmal in Ruhe und Groß. So, jetzt dieses G-Streamer, ich habe ja gesagt, es ist Pipeline basiert, das heißt, das läuft immer linear durch die Daten in irgendeiner Art und Weise. Wir haben jetzt mehrere solche Pipelines in G-Streamer in unserer Photobooth, das eine ist die Pipeline, die dafür zuständig ist, das Video zu verarbeiten für die Vorschau und zwar kommen die Daten da über einen Fildeskriptor rein, wo LibG-Foto das einfach permanent reinschreibt. Und das lesen wir mit so einer FD-Source raus, mit dem FD-Source-Element, das Ganze wird dann gefiltert, damit wir erst mal wissen, weil in dem Moment sind es noch Rohdaten und der weiß überhaupt nicht, was das ist, überhaupt G-Streamer und dann sagen wir dem, ja, das ist ein JPEG-Stream mit diesen und diesen Dimensionen, also diese Größe und diese Framerate, dann kann das dekodiert werden, um irgendwelche Arten von Bilddaten oder Videodaten verarbeiten zu können. In G-Streamer müssen wir die immer als Rohdaten haben, also solange das noch eine JPEG-Datei ist oder ein MPEG-Stream, können wir die nicht skalieren und keine Farbraunkonvertierung durchführen und solche Dinge, sondern das muss erst immer in Rohdaten, also in Video Raw in dem Fall konvertiert werden. Dann können wir das skalieren auf die Bildschirmgröße und wir können ein Overlay drauflegen, also hier in dem Fall zum Beispiel dieses Easter-Hack-PNG das wird da drauf geblendet und dann wird das angezeigt über Video-Sync auf dem Bildschirm. Die Foto-Pipeline ist das untere, die läuft nicht über einen Stream, sondern die läuft über einzelne JPEG-Bilder. Die Kamera schreibt es direkt in eine App-Source rein, also ich kann da direkt den Buffer abholen, kann den dekodieren macht dann aus diesem einzelnen JPEG-Bild ein Video mit Imageries, kann das wiederum skalieren, das Overlay drüberlegen und hier macht da jetzt noch eine Gamma-Korrektur, also eine Helligkeitskorrektur, dann wird das aufgespalten in drei Unterpfade. Der eine Pfad geht in einen LCMS-Plug in, das ist ein Color-Management, das ist dafür notwendig, damit der Drucker die richtigen Farben ausspuckt, also so ein Color-Management-Plugin gab es zum Beispiel in GStreamer noch nicht, deswegen habe ich das dafür geschrieben. Und nach dem Color-Management geht es in der App-Sync, die das ganze dann, diesen Buffer quasi das Bild dann an den Drucker weiter gibt. Der zweite Weg geht in einen JPEG-Encoder, wo dann das Bild, wo jetzt das Overlay draufgelegt wurde, abgespeichert wird in eine Datei, also File-Sync auf die Festplatte und der dritte Weg geht, ja, so wie oben auch schon, dann eben auf den Bildschirm. Gut, so jetzt habe ich über die Software gesprochen und jetzt machen wir mal die Kiste auf und gucken an, was da drin ist. Also zum einen haben wir die Kamera, die ist normalerweise innen drin und guckt da zu dem Loch raus. Ich habe es jetzt mal obendrauf gestellt, das ist eine ganz normale digitale Spielreflex-Kamera. Man kann im Prinzip jeden nehmen, solange die unterstützt wird von diesem Lip-Gee-Foto-2. Da gibt es eine Liste von ungefähr 2.000 Kameras oder so, also das unterstützt unglaublich viele, wobei die alle mehr oder weniger gut unterstützt sind. Also bei manchen funktioniert zum Beispiel Live-Video nicht, schon allein aus Hardware gründen. Manche Kameras können einfach kein Live-View, weil dazu muss man ja den Spiegel umklappen und dann quasi permanent Bilder aufnehmen. Das können die noch nicht so lange, also ältere Modelle haben die Fähigkeit einfach nicht dafür. Bei anderen funktioniert es Treiber-Software-Technisch nicht und das ist auch in unterschiedlicher Qualität. Also zum Beispiel die Nikon haben nur irgendwie 440x600 oder so Auflösung, irgendwas ganz kleines, krummes und auch relativ hohe Latents und niedrige Framerate. Bei Canon ist es ein bisschen besser. Aber diese Kameras haben eben gegenüber Webcams den Vorteil, bei Webcams hätte man natürlich überhaupt kein Problem mit dem Preview-Video, aber die digitalen Spielreflex-Kameras haben viel bessere Bildqualität in dem Moment, wo man das Foto macht, mit Blitz. Also das geht natürlich bei einer Webcam gar nicht. Deswegen haben wir uns entschlossen, doch eine richtige Kamera zu benutzen, weil das ist ja eben der Moment, wo es dann darauf ankommt. Der Blitz ist synchronisiert über den Hotschuh, der da oben drauf ist, also dieser Blitz-Aufsteckschuh. Da ist so ein kleiner Sender dran und dann am Blitz hinten, das ist hier dieser große Foto-Blitz, da hinten ist so ein kleiner Empfänger und der löst dann also im richtigen Moment den Blitz aus und die Kamera war schon vorhanden, deswegen habe ich die dann auch nicht zu den Baukosten dazu gezählt, also solche Digital-Kameras hat ja eigentlich jeder eine und die ist dann auch einfach über eine Schraube reinschraubbar und jederzeit wieder rausnehmbar, ist gleich wie so ein Stativgewinde eben. Die muss nicht dauerhaft da drin bleiben, sondern eben nur, wenn man sie auch benutzt. Nächste Komponent ist der Touchscreen. Den habe ich aus Ebay geschossen und es war eigentlich als Open Frame TFT-Touch-Display drin gestanden, es war aber im Endeffekt einfach nur ein ganz billiger Konsumer TFT-Normal-Bildschirm und dann dazu so lose, so eine Glasplatte mit einer resistiven Sensorfolie. Ich gehe mal davon aus, dass die Person, die das gekauft hat, auch damit nichts anfahren konnte und es gerade so weiter verkauft hat. Es ging dann aber, also dieser USB-Kontroller, der dieses Touch-Sensor-Glas auswertet, der funktioniert ganz gut mit Linux, da gibt es ein Programm X-Input-Calibrator und dann funktioniert es wie eine Maus, das ist also keine große Sache. Das Einzige war nur, dass der HDMI-Eingang von dem Display-Kontroller ein bisschen Bildstörung macht, deswegen habe ich es mit VGA angeschlossen. Ach so ja, und eine Sache noch, dadurch, dass es eben kein echtes OEM-Einbau-Display war, sondern einfach nur aus einem normalen Plastikgehäuse rausgenommen, das rausgebrochenes Display, war es ein bisschen schwierig, das da in das Holz einzupassen. Also ich habe da außen mit so Fenstervorlegebändern gearbeitet und das dann quasi so von innen so dran gedrückt. Der Drucker, der steht da normalerweise unten drin, hier steht er hier, das ist in dem Fall ein Thermosublimationsdrucker, also wir haben lange überlegt, ob man da nicht was Einfacheres nehmen kann, irgendwie es gibt so kleine Fotodrucker, die haben aber das Problem, dass da die Medien unglaublich teuer sind, also da kostet irgendwie dann ein Abzug schon mal allein von den Folien, die man dafür braucht, irgendwie ein Euro 50 oder 2 Euro 50 oder so, dann sind die unglaublich langsam, es passt ein ganz wenige Medien nur rein, also man muss dann nach 6 Stück oder 10 Stück oder so, muss man die wieder auffüllen, also so Canon Selfie oder so, das gibt so ganz kleine Dinge, die gibt es sogar Akkubetrieb, aber das ist also völliger Blödsinn, weil wir haben ja teilweise 5 Leute vor der Bus stehen und die wollen dann allen Abzug haben und dann wollen die da nicht eine Viertelstunde drauf warten. Deswegen bleibt eigentlich so die einzige Möglichkeit, die wir noch haben, so ein Thermosublimationsdrucker, zum Beispiel auch im Kiosk dann im DM, wo man sich seine Fotoabzüge machen kann, drin ist. Also er braucht dann ungefähr 15 Sekunden für so ein Foto, das Druckverfahren, das ist eigentlich absolut primitiv, wenn man so will, das ist einfach eine Folie mit verschiedenen Farbsegmenten, blau, also zyren, magenta, yellow, gelb und schwarz und das wird nacheinander thermisch, also durch erhitzen, auf ein Trägerpapier drauf sublimiert, also drauf gebracht und das ist dadurch erstens relativ schnell, zweitens mechanisch total primitiv, also das Ding ist wirklich, es hat fast keine beweglichen Teile, viel einfacher als zum Beispiel mit Farblaserdrucker oder Intinstrahldrucker und er macht die Drucker von der Rolle, von der großen Papierrolle runter, und dadurch ist das einfach sehr robust, zuverlässig, schnell und der Druckpreis pro Abzug auch sehr günstig und das ist sofort wischfest. Ein Problem ist, diese Geräte sind sehr teuer, also der, den wir haben, der hätte nur 1.800 Euro gekostet. Ich habe den gebraucht für deutlich weniger, als die Hälfte von der Fotografien gekriegt und sogar noch mit drei Medienrollen dabei. Also man kann sich da einen kleinen anzeigen oder so umgucken und dann kriegt man ab und zu günstiger. Eine große Problematik ist, dass die Hersteller natürlich keine Treiber für diese Geräte zur Verfügung stellen für Linux. Das heißt, wir sind da angewiesen auf das Gutenprint Projekt und Gutenprint hat sehr viele solche Dice-Applimation-Drucker-Treiber und auch Laser-Drucker-Treiber, Farblaserdrucker-Treiber. Ein Nachteil ist noch, das Gerät ist extrem schwer, das wiegt fast 20 Kilo, ist riesig groß und auch sehr laut. Das ist also ein bisschen blöd. Wir müssen das separat transportieren, weil das in der Kiste wird es einfach sonst nicht mehr handhabbar. Und wir müssen uns um die Farbkorrektur selber kümmern. Das ist das, was ich vorher schon mit diesem LCMS-Plugginn angesprochen hatte. Ansonsten sieht man da aus wie Miss Piggy oder so auf den Fotos. Man muss immer zuschauen, dass die Farbkorrektur stimmt. Da gibt es diese ICC-Profile, Image-Color-Konsortium und dann sieht das auch besser aus. Gut, da steckt natürlich ein Rechner drin. Wir haben keinen Embedded-Rechner genommen, weil wir einfach gerade keinen da hatten, sondern einen alten PC auseinandergenommen und das Netzteil und eine Festplatte davon einfach verwendet, weil es eben da war. Das war am einfachsten. Würde aber auch mit einem vernünftig schnellen Embedded-Rechner gehen. Also ein Raspberry wäre vielleicht etwas schwach. Da müsste man schon ein bisschen was schnelleres dafür nehmen, weil eben diese Dekodierung von diesen blöden M-JPEG-Streams im Verkommen relativ rechenaufwendig sind, wenn man das in Software macht. Gut, dann haben wir noch drin einen Arduino Uno. Der Arduino ist dafür zuständig diese RGB-Lets, die außen um die Kamera-Linse angeordnet sind, eben anzusteuern und auch unten auf der Bildausgabe-Lade ist eine LED-Leiste, die wird damit auch schön pulsiert, damit man eben sieht, er ist gerade mit Drucken beschäftigt, wobei das auch schwer zu überhören ist. Einfach so ein bisschen als Spielerei. Natürlich soll es auch den Zweck erfüllen, dass die Leute da oben in die Kamera-Linse reingucken, weil das dann natürlich einfach bessere Bilder macht, wie wenn sie sich selbst auf den Bildschirm angucken. Also oftmals sagen diese Photobooth-Finger bis die Leute das gelesen haben, ist es meistens zu spät. Also wir sagen es meistens dazu, guckt in die Linse und dann werden die Bilder besser. Ja, dann hier kurz zu den Tischlerarbeiten sozusagen. Ich habe jetzt mal die Komponenten hier rausgenommen. Das ist eine Rahmenkonstruktion mit solchen Leisten, die hier in der Ecke quasi das ganze Ding tragen. Aus Holz, weil das Ganze natürlich umhältfreundlich sein sollte, erneuerbare Ressourcen usw. ist ja ein großes Thema. Deswegen haben wir da jetzt keine Alu-Kiste genommen. Auch wenn die vielleicht ein bisschen robuster gewesen wäre, ist natürlich auch eine Preisfrage. Außen ist das dieses Rahmenwerk beplankt mit solchen Sperrholzplacken. Die können dadurch, dass das eigentlich in die Tragfähigkeit herstellt, relativ dünn sein und dadurch wird das Ganze natürlich auch leichter. Dann ist es leichter zu transportieren. Das sind also nur 10 mm so Pappelsperrholz. Vorne ist das Ganze auf die Leisten aufgeleimt. Dadurch, dass wir dann in der Front keine sichtbaren Schrauben brauchen, wirkt halt einfach ein bisschen edler. Hier unten dieses Dreiband-Stativ das ist in der Grundplatte eingestemmt und lässt sich hier an den Seiten also man sieht es vielleicht über diese Butterflycatches heißen diese Dinger diese Beschläge trennen also quasi der komplette obere Teil mit der Hardware lässt sich hier runter trennen und dann separat transportieren damit man das eben noch in Kofferraum kriegt von einem normalen Kombi und damit es auch leichter zu tragen geht. Und diese diese Beschläge die sind also aus dem ja aus dem Bühnengeschäft eigentlich also so Stage-Equipment die sind eben sehr robust und das lässt sich damit absolut sicher zusammen klipsen und oben sind dann auch noch so Tragegriffe drin. Das Ganze ist deswegen in drei Beinen, weil drei Beine nicht kippeln können im Gegensatz zu vier Beinen und das Ganze soll auch noch so ein bisschen so klassische Foto-Stative oder Theodoliten so alte Kameras, optische Geräte haben ja immer drei Beine. Gezeichnet habe ich das Ganze in Sketch ab, kann ich auch mal kurz zeigen das ist diese Software das ist eigentlich so die einzige verwendete Software die nicht Open Source ist kostenlos ist sie, ich kenne mich damit ganz gut aus deswegen habe ich die halt benutzt das war mal eine Zeit lang von Google dann haben sie das irgendwie wieder verkauft jetzt ist es irgendwie Trimble also es ist eigentlich damit groß geworden dass das die Software war mit der man für Google Earth diese 3D-Architekturmodelle machen konnte von irgendwelchen Gebäuden aber man kann damit eben auch ganz gut solche Holzzeichnungen machen da habe ich diese ganzen Bemassung und damit habe ich das dann bei mir in der Werkstatt zugesagt und zugehobelt und was auch immer das ist eigentlich das Open Hardware und diese Zeichnung die ist auch in unserem Githrepo drin also wer das nachbauen will kann das gerne tun man kann da auch reingucken und dann sieht man so Dummy's für die Sachen die da drin stecken gut dann so die Kräte die ich dafür benutzt habe waren im wesentlichen Kreissäge, Handkreissäge Hobelmaschine Oberfräse das Ding heißt Schwingschleifer oder Rotex Sender Bohrmaschine und eine Drehbank wobei die Drehbank nur für diese Schraube gebraucht wurde mit der die Kamera oben festgehalten wird weil das eben so ein komisches Stativgewinde so ein zölliges Stativgewinde ist ja die Höhe ist 160 mal 50 mal 50 im Prinzip gut und das habe ich auch erwähnt hier außen um den Bildschirmrahmen zu halten oder dieses Glas zu halten für den Sensor habe ich mit diesen Fenstervorlegebändern gearbeitet damit es eben ein bisschen nachgibt das ist auch auf der Rückseite von diesen Halteleisten die das dann dran drücken damit es nicht knacksmachbar beim Schraube anziehen gut dann haben wir noch ein paar 3D gedruckte Teile die haben wir schon allein deshalb gebraucht weil das ganze ja so ein interdisziplinäres Hacker Space Gesamtkunstwerk werden sollte also da muss natürlich auch was 3D gedrucktes dran das ist diese Ausgabeschublade zum einen die habe ich auch mit SketchUp gezeichnet und auf unserem Wrap Wrap gedruckt und oben um diese RGB Letz bei der Linse da ist auch nochmal durchsichtig im PLA so ein Diffusor der auch die Letz eben ein bisschen schützt und damit es vorne glatt ist das lässt sich einfach reinschieben solange der Drucker nicht drin ist dann kann das auch nicht abbrechen beim transportieren gut haben wir Probleme damit nein absolut keine es läuft alles perfekt solange keine Sonne scheint oder es staubig ist oder es warm ist und solange wir ein gutes Fotoset abfinden also die Belichtungswerte Stimmen und die ganzen Einstellungen für die Kamera perfekt sind das ist alles nicht so einfach das richtig zu finden die Hitze hat schon dafür gesorgt dass zum Beispiel die Lichteffekte nicht mehr funktionieren weil der Arduino nicht mehr ansprechbar war vermutlich deshalb weil die die Betraten von der Kommunikation auseinander gelaufen sind der PC ist schon abgestürzt deswegen und der Kameralade hat seinen Dienst eben versagt mit der Begründung ist seinem zu heiß ein riesen Problem haben wir mit dem Autofokus vor allem wenn es dunkel ist dann braucht er manchmal ewig um die Leute zu fokussieren also je nachdem wie weit die weg sind und wie weit die in der letzten Aufnahme weg waren summt er erstmal komplett rein und wieder raus und das dauert manchmal 2 Sekunden und wenn man ein Countdown hat von 5 Sekunden und danach summt er nochmal 2 Sekunden hin und her wissen die Leute nicht wann sie fotografiert werden und dann ist es total unresponsive deswegen verwenden wir jetzt eigentlich immer nur einen manuellen Fokus und stellen die Leute halt an eine Position wo sie dann scharf sind beim Auslösen ansonsten macht es echt kein Spaß gut wir haben ganz viele Verbesserungsmöglichkeiten und ich hoffe dass da vielleicht auch von euch noch was kommt vor allem bei der Software aber ich fange mal mit der Hardware an also ursprünglich war es auch geplant irgendwo ins Gehäuse ein Ventilator eben einzubauen um da die Hitze raus zu bekommen am besten mit einer Filtermatte damit die Hitze rauskommt und der Staub auch draußen bleibt damit wir den dabei nicht mit reinholen sehr schön wäre es wenn wir die Kamera direkt an einem Netzteil betreiben könnten das blöde daran ist dass natürlich die Kameraakkus mittlerweile auch alle mit DRM versehen sind ein Controller drin haben damit auch ja keine Nachbauakkus verwenden kann und weil es ja dann viel zu einfach wäre an einen Gleichstromanschluss in der Kamera wenn es den Gäbel irgendeinen x-beliebigen China-Akku dran zu hängen haben die Kameras natürlich alle keinen Gleichstromanschluss sondern man muss immer einen original Nikon oder original Canon Adapter kaufen der dann quasi die Batterie ersetzt in das Batteriefach reingeht und da kommt dann ein Kabel für ein Netzteil raus kostet irgendwie 40 Euro oder so total bescheuert ein kaputten Akku wo die Zellen kaputt sind und verwendet den Controller der da drin ist und blöde da innen drin ein Netzteil an wenn ich ein kaputten Akku für diese Kamera finde irgendwo ich gucke als mein e-Bail dann werde ich das machen vielleicht wenn jemand von euch einen hat ich kaufe ihn euch ab 5 Euro dann haben wir normalerweise immer oben noch Aktivboxen drauf stehen die eben so ein Countdown Sound machen und so Tastentöne also wenn man irgendwo drückt wo man nicht drücken soll macht so ein Map und diese Boxen stehen halt ein bisschen blöd obendrauf das wäre schön wenn wir die noch irgendwo ins Gehäuse einbauen könnten also das ist noch ein Plan dieser Blitz den wir da haben das ist so ein China Kracher der ist also viel zu hell eigentlich also wenn wir müssen mit den Kamera-Belichtungszeiten richtig runtergehen weil sonst die Leute aussehen wie so Gespenster es wäre schön wenn wir da ein hätten der sich besser einstellt auf die entsprechende Lichtsituation oder vielleicht sogar direkt von der Kamera ansteuerbar ist der kriegt wirklich nur das Sync Signal also ansonsten keine Kommunikation mit der Kamera ist natürlich preisfrage dann was da noch drin ist, ist ein Dauerlicht also so ein Model Light und das verwendet eine Halogenlampe weil das dann überhaupt nicht erhältlich ist also wenn die irgendwann mal kaputt geht dann spätestens ist es soweit dass wir da drinnen LED-Dicht einbauen müssen weil das nämlich so ein ganz kleiner Stecksockl, Halogenstecksockl ist aber in dem 12 Volt Formfaktor 230 Volt gut ja man will auch nicht den Schukro-Stecker davon anfassen wenn die noch geladen ist und man zieht den raus und ist eingewischt ja ich möchte nicht wissen was mir die Funke erzählen wenn wir damit viele Bilder machen das ist bestimmt ein schönes Spektrum dann gut die Kamera ist vom Blickwinkel her zu hoch für kleine Kiddies also wir sind damit oft auch so Familienfesten und dann muss man die Kiddies immer auf den Arm nehmen damit die auf dem Foto mit drauf sind oder ein Bankchen hinstellen oder ein Bierkasten die schnellste Möglichkeit gewesen ansonsten wäre es natürlich toll wenn man die Kamera schwenken könnte dann für solche Fälle beim Rollstuhlfahrer wird es schon wieder schwieriger den kann man nicht so einfach auf ein Bankchen stellen oder hochnehmen da muss man die ganze Box umkippen ein bisschen doof dieses Hitzeproblem ist wahrscheinlich deswegen schuld weil die Frequenz von dem Arduino aus dem Takt kommt mit der Frequenz von dem USB-Port des PCs da wäre vielleicht eine Abhilfe dem Arduino ein Quarts zu verpassen damit der genauer schwingen kann wir könnten die Box noch schön lackieren anmalen sonst irgendwie im Moment ist sie halt so roh Natur haben wir aber noch keine gute Idee dafür gehabt vielleicht könnte man sie auch noch mit mehr Hunden letztlich dann verziehen was wir schon als hatten war die abends dann mit Scheinwerfern anzustrahlen das war auch ganz hübsch Embedded Computer benutzen anstatt der PC-Komponenten wäre mit Sicherheit nicht verkehrt wenn wir welche übrig hätten könnten wir das machen einen kapazitiven Touchscreen anstatt dieses resistiven Touchscreens zu verwenden wäre sehr sinnvoll also wir hatten als schon Kidys die haben da so zackhaft drüber gewischt dass nichts passiert ist weil die halt ihre Handys gewohnt sind die viel leicht ergängig sind auch ein Problem ist dass der wie gesagt im hellen Sonnenlicht zu wenig Kontrast hat also vielleicht irgendwann mal das Display verbessern Elektromagnetische Verträglichkeit ist ein Problem weil der natürlich das Holzgehäuse ist durchsichtig für die ganzen Störungen die da von den Komponenten kommen wenn man ein Embedded PC hätte dann könnte man das gar nicht mehr und vielleicht ein Münzprüfer einbauen wäre ein ganz netter Witz dann könnten die Leute eine Münze einschmeißen sowie bei den Fotoautomaten und kriegen dann ihr Bild das hat aber vielleicht rechtliche Konsequenzen die wir vermeiden wollen weil man in dem Moment dann ein Automaten ein Verkaufsautomaten Betreiber ist und dafür entsprechende Lizenzen bräuchte oder sowas wie für uns da indem wir das einfach mit einer Spendenkasse dann nebenher machen also steht immer einer dabei von uns Software Improvements da haben wir noch Probleme mit der Robustheit hauptsächlich dann wenn diese Lip-G-Foto Software in irgendwelche merkwürdigen Zustände gerät weil sie nicht mehr genau weiß was jetzt los ist mit der Kamera und dann verhaspelt sich die Software eben manchmal habe ich den Eindruck besser geworden seitdem wir auf die Git-Version von Lip-G-Foto abgedatet haben am Sonnerstag das Live-View wäre schön wenn das besser ginge also es geht definitiv besser von der Hardware her weil die Originalprogramme der Hersteller das natürlich können also eine Idee von mir das zu lösen war auch noch gewesen den HDMI-Ausgang der Kamera zu benutzen da kriegen wir nämlich den Live-View wunderbar in Full HD mit 30 frames pro Sekunde raus das einzige Problem ist in dem Moment wo wir den USB-Anschluss einstecken um die Fotos auszulösen drunter zu laden geht der HDMI-Ausgang aus also das ist richtig doof wenn wir jetzt keine Robotik einbauen wollen die die Kabel umsteckt oder die Firmen von der Kamera hacken müssen wir warten bis es eine bessere Lösung gibt eine Möglichkeit wäre vielleicht auch noch zusätzlich zu der Kamera eine Webcam mit reinzustellen und die Webcam nur für den Live-View zu benutzen aber dann haben wir das Problem das Blickfeld immer synchron zu bekommen weil wir ja manchmal auch ein bisschen zoomen oder so wenn größere Gruppen drauf sind und in dem Moment stimmt das nicht mehr überein also das ist auch nicht so die richtige Lösung wenn man keinen Flash hat weil es zum Beispiel ESAu-Held draußen ist dann merkt man vielleicht nicht genau wann das Bild gemacht wird als fotografierter dann könnte man noch einen Shutter Sound abspielen aber das ist nicht so einfach das 100% synchron zu kriegen deswegen ist es im Moment nicht drin was im Moment auch noch nicht geht ist schon abgeschlossen Fotos nochmal zu drucken also wenn hinterher jemand kommt und sagt mir auch ich habe mir das überlegt ich möchte gerne doch nochmal 10 Abzüge davon haben für meine Oma und für wen auch immer ist es im Moment schwierig das geht also nicht lustig wäre es bestimmten QR-Code auf die Fotos drauf zu drucken also zu rendern und dann drauf zu drucken mit einer URL wo das dann im Internet abrufbar ist und wo man dann vielleicht auch gleich noch ein Like abfahmen kann von den Leuten im Moment ist es nicht möglich gekanzelte und richtig gedruckte Fotos anhand des Dateinamens zu unterscheiden oder abgespeichert cool wäre es eine Slideshow von den Fotos die schon gemacht wurden anzuzeigen also das Gret hat ein Screensaver-Mode der Screensaver-Mode ist allerdings eher ein Camera-Saver-Mode weil die durch diese Live-View sehr heiß wird und sehr stark belastet wird und auch sehr viel Batterie verbraucht deswegen ist es also so dass man zum Beispiel nach einer Minute dann ein Musikvideo anzeigen kann oder so nicht so scharf wie man sich das wünscht unter Windows mit dem Hersteller-Treiber sind die Ausdruck geschärfer da stehe ich aber mit dem Programmierer in Kontakt, das kriegen wir vielleicht noch besser ja gut, dann könnte man vielleicht noch so, also wenn man wirklich wollte so Snapchat-Filter oder so was irgendwie auch mit Gesichtserkennung wenn jemand sich mit so was auskennt, das ginge bestimmt alles ja, vielleicht auch ganz lustig ja, und was super wäre ein Web-Interface in der Software, damit man zum Beispiel dieses Preview-Bild und so weiter nicht über eine Datei austauschen muss, die man dann editieren muss und so weiter, sondern dass man das über ein Web-Interface machen kann und die Software über Web-Interface neu starten und so, das wäre ja, also ein großer Schritt für die Benutzerfreundlichkeit und im Moment hat das Programm auch eine ganz billige, hartgekordete Mac-File kein richtiges Auto-Tool-System kein Packaging wenn sich damit jemand auskennt könnt ihr das auch gerne machen weil ich mir auch noch überlegt hab wäre, wenn man den ganzen Krempel einfach in ein Docker-Image steckt und dann das mal einfach das Ding deployen kann, das wäre vielleicht am einfachsten da ist dann auch die entsprechende G-Streamer-Version und so schon mit dabei dann noch kurz die Kosten die Kamera habe ich wie gesagt mit Null angesetzt, weil so ein Ding hat irgendjemand meistens und man kann ja fast alle benutzen der Drucker hat 650 gekostet, das Display 45, für die PC-Komponenten habe ich mal 150 angesetzt das ist schon älterer Kram, eigentlich auch nichts dann haben wir so ein kleines Keyboard mit einem Touchpad das ist auch immer ganz praktisch um die Software neu zu starten wir haben ein Arduino 20 Euro, RGB LED 25 dann das Holz und die Beschläge haben 53 gekostet dieser billig China Blitz gebraucht 20 Euro 2 Euro Aktivboxen gebraucht und dann noch Kleinteile habe ich mal 10 Euro angesetzt, da ist zum Beispiel mehrfach Steckdosenleisten drin, sind wir bei 1000 Euro die Druckkosten sind 15 Cent pro Abzug und wir nehmen normal Fall eine Spende von 2 Euro für unseren Verein Schaffenburg pro Abzug und somit hat sich so eine Kiste nach 568 Drucken rentiert und wir haben bisher immer so 85 bis 175 am Tag innerhalb von 4 bis 6 Stunden wenn wir auf irgendwelchen Charity Veranstaltungen zum Beispiel gewesen sind gemacht, also die Leute sind eigentlich ganz wild drauf und wollen ganz viele von diesen Fotos haben auch teilweise mal 5 Stück für eine Gruppe und so, das hier ist irgendwie die Verkehrdeffizielgruppe, die Leute sind alle viel zu sehr auf auf ihre persönlichen Daten bedacht und wollen keine Fotos von sich haben ist eigentlich schade aber wenn ihr vielleicht doch ein paar machen wollt wir stehen da vorne bei dem Bällebad gibt es Fragen wenn ich hier steht auch nochmal meine E-Mail-Adresse unser Gittrepo und unser Wiki-Eintrag den kann ich euch einmal kurz zeigen also das ist unser Schaffenburg Wiki da steht was da drüber so ein Projekt-Bautagebuch im Prinzip welche Kameras wir schon getestet haben also wenn ihr in der Digitalkamera dabei habt und gucken wollt ob die geht kann man auch mal gerne probieren ich habe eine Frage und eine Anmerkung zuerst die Anmerkung ich habe sowas mal für eine Hochzeit auf die schnelle selber zusammen gebastelt mit eigenem Kram Notebook vorhandener Kamera und geliehenem Plittsystem alles immer manuell haben vorab einfach alles einstellen automatisch willst du gar nichts haben wie du das schon festgestellt hast mit dem Autofokus der Fokus manuell auch das Licht du willst kein Licht automatisch haben alles vorab lieber wo du sagtest zu viel Helligkeit macht der Plitz das ist besser weil dann hast du Licht immer unter Kontrolle und kannst auch alles entsprechend einstellen das ist super weil was anderes willst du nicht dann läuft das nämlich den ganzen Tag ohne dass kontrollieren musst du oder ähnliches egal wie Außendichtverhältnisse du willst nichts automatisch haben es ist so das geht immer schief die Frage ist der Softwarestax muss ich jetzt mal so sagen relativ schnell, relativ komplex aus warum hast du nicht auf Qt gesetzt, ist auch GBL hat Q Kamera, Libraries die direkt verschiedene Dinge können und ähnliches warum nicht so was und mehrere Pipelines und ähnliches wo Fehler in allen Ecken und Enden also warum ich komme aus der Embeddedwelt und da will man möglichst kleine Software eigentlich verwenden gerade GStreamer ist in der Embeddedwelt weit verbreitet diese GTK ist eben quasi auch Glib womit GStreamer native programmiert ist wenn ich jetzt noch mal Qt dran gehängt hätte dann wäre wahrscheinlich das ganze einfache gewesen die Oberfläche zu machen aber dann hätte ich noch ein Framework drin gehabt also auf die Art und Weise habe ich eigentlich nur einen Framework drin es ist also im Prinzip weniger komplex als es aussieht und die Verarbeitung der Fotos ist blöderweise als ich mir das gewünscht habe aber eben auch so kompliziert wie es sein muss also ich wüsste nicht wie es zum Beispiel einfacher ginge zum Beispiel diese Farbkorrektur vorzunehmen dafür gibt es ganz einfache Software LCMS gibt es ein little camera management System gibt es ein Command Line Tool kannst du ein JPEG laden mit dem entsprechenden Farbprofil aber um das zu machen muss ich die Datei erst mal wegschreiben dann in dem anderen Programm wieder laden und dann zum Drucker schicken auf die Art und Weise kann ich das alles innerhalb von der Pipeline machen dadurch wird zwar die Pipeline komplexer aber ich spei mir ganz viele Memcopies ganz viele Operationen das intern hin und her schieben zu müssen kannst du noch fragen ich zeige euch das jetzt gerade nochmal mit dem das weiß über das Telnet gerade nicht ging dann mache ich das mal hier direkt das sind jetzt also diese Befehle die ich davor hin machen wollte das eine wäre gphoto to capture image and download oh Gott das war dumm und dann laden wir das einfach mal in einem Bildprogramm diese tragbaren Tastaturen sind unpraktischer als man denkt wenn die so groß sind, dass man sie nicht mehr in einer Hand halten kann oh Gott also das ist wie gesagt wirklich nur ein Befehl um so ein Foto zu machen das ist ja krass, ich muss da mal aus dem Bild gehen und mit Video ist es genauso einfach da machen wir nicht capture image sondern wir machen capture movie standard out das heißt ich würde, wenn ich das jetzt hinten dran nicht hätte mit dem pipe einfach auf dem Bildschirm kriegen die Benäherdaten die da von der Kamera kommen aber mit dem pipe stecke ich das in eine G-Streamer Pipeline und dann habe ich das live view direkt hier drauf also mehr oder weniger live es hat relativ wenig Latents jedes mal wenn man startet, das ist ein bisschen unterschiedlich das ist gerade so wie die Kamera Lust hat das ist ein bisschen doof aber naja das ist vor allem besonders lustig wenn die Leute versuchen so lustige Hochspringenbilder zu machen ich glaube einmal die haben das 20 Minuten versucht und es hat nie funktioniert dass es dann wirklich im Sprung die Auslöser gemacht hat das ist schwierig naja, gut wir stehen beim Bellebad wenn ihr möchtet kommt ein Foto machen alles klar geklatscht habt ihr ja schon nein