Donnerstag, 27. Mai 2010

fnordlicht Ambilight Update

Nachdem ich das Projekt beim letzten Treffen des CTHN vorgestellt hatte und dort doch noch die eine oder andere Ungereimtheit aufgetaucht ist, habe ich hier einen neuen Patch online gestellt. Der Patch beinhaltet alle Änderungen die nötig sind um den fnordlicht-Support in den VLC-Code  ein zu spielen. Eines der aufgetretenen Ungereimtheiten war, dass die Farbe Rot (und darauf folgend Blau) viel zu intensiv ausgegeben wurde. Dies war jedoch über die Einstellungen im AtmoLight-Filter selbst leicht an zu passen. Die Probleme mit der Verbindung zu den fnordlichtern werden durch den neuen Patch entfernt. Es war z.B. zuvor nicht möglich mehrere Dateien hintereinander ab zu spielen ohne den VLC-Player neu starten zu müssen.
Die im Video-Filter vorgenommenen Einstellungen können auch weiterhin nicht, ohne den Video-Stream neu zu starten, übernommen werden. Das scheint ein Grundlegendes "Problem" in den Videofiltern des VLC zu sein. Dank der Zusammenarbeit mit dem AtmoWin Entwickler André Weber ist nun auch die Unterstützung für Windows gegeben, wenn sie auch noch nicht komplett getestet werden konnte...

Zu den genannten Änderungen besitzt der AtmoLight-Filter nun noch die folgenden Erweiterungen:
  •  Unterstützung für das anzeigen einer Farbe wenn der Player pausiert wird oder wenn das aktuelle Video zu Ende ist.
  • Reset der fnordlichter beim beenden von VLC.
  • fnordlich-Protokoll: start_bootloader und boot_enter_application wurden für den Reset implementiert.
Die nötigen Konfigurationseinstellungen für die fnordlichter werden im folgenden Video gezeigt.


Mit diesen Einstellungen habe ich, was die Farbgenauigkeit und die Geschwindigkeit der Farbänderungen an geht, recht gute Ergebnisse erzielt.

Zur Demonstration gibt es wieder ein kleines Video. Meine 2 fnordlichter habe ich hinter meinen Fernseher geklebt und zuvor jeweils mit einer Art Diffuser ausgestattet (siehe Bild), die das Licht der LED's etwas besser vermischen. Den Ton habe ich aus Lizenz rechtlichen Gründen entfernt. Zu sehen ist das Musikvideo Shoot to Thrill von AC/DC (Iron Man 2).


Viel Spaß beim zusehen!

Edit (2010-06-04 14:20): Danke André für den Hinweis! Hier nochmal der Link zu den Nightly builds des VLC für diejenigen welche die Kommantare nicht lesen...

Edit (2010-06-26 18:50): Der neue Release des VLC 1.1.0 kann hier herunter geladen werden. Dieser beinhaltet die beschriebenen Änderungen um fnordlichter als Ambilight verwenden zu können.

Mittwoch, 12. Mai 2010

fnordlicht-"Ambilight" mit VLC

Seit ein paar Wochen beschäftige ich mich nun mit 2 Fnordlichtmini's, die ich bei einem Workshop des Chaostreff Heilbronn zusammen gelötet hatte. Was ist ein Fnordlicht? Kurz - es leuchtet und kann mit einem entsprechenden Wandler per RS232 oder USB gesteuert werden. Es ist zudem möglich mehrere der Platinen über einen Bus zu verbinden. Diese Fnordlichter können dann einzeln  oder im Verbund über die selbe Schnittstelle gesteuert werden.
Eine der Ideen, die auf kamen, war es nun mehrere Fnordlichter als eine Art "Ambilight", wie bei Phillips Fernsehern, ein zu setzen. Bleibt also nur das Problem, entweder die Daten eines Software-Videoplayers oder ein Videosignal auf dem Weg zum TV ab zu greifen. Da mir im Moment die Zeit für die Elektronik fehlthabe ich mich für die Softwarelösung entschieden.
Nach ein wenig "googeln" bin ich dann über das atmo-Modul im VLC-Player gestolpert. Dieses Modul wurde für eine andere Hardware geschrieben, was aber das nicht weiter stört. Da die Entwickler von VLC recht hohe Ansprüche an den in ihrem Repository eingepflegten Code stellen, war es reine Fleißarbeit eine Klasse zur Kommunikation mit den Fnordlichtern zu erstellen. Zudem musste nicht das ganze fnordlicht-Protokol implementiert werden.
Es genügen:
  • sync 
  • stop
  • fade_rgb
Detailierte Informationen zum Protokoll können hier nachgelesen werden. In der Konfiguration des atmo-Moduls können nach meinen Änderungen die folgenden Informationen festgelegt werden:
  • die Anzahl der angeschlossenen Fnordlichter
  • die Zuordnung der Fnordlicht-Adressen (Channel 0..3) zu den 1-4 Bereichen des aktuellen Frames.
Die 1-4 Bereiche des Frames repräsentieren "einfach" nur die Farbanteile im linken, rechten, oberen und unteren Bildbereich.  Es wird auch ein "Summenkanal", aller 1-4 Bereiche, zur Zuordnung angeboten. Der Kombination von Fnordlichtern und Bildbereichen ist also nur durch die Anzahl der vorhandenen Hardware (und der maximalen Anzahl von Geräten an einem Bus) eine Grenze gesetzt.
    Hier ein Video das eine Fnordlicht-Kette von 2 Modulen in Aktion zeigt.

    Ein erster Patch gegen die aktuelle VLC-Version aus dem Git-Repository kann hier herunter geladen werden.

    Edit (2010-05-15): Hier gibt es den Schaltplan für die Verbindung zwischen dem Pegelwandler und dem fnordlicht-Bus...