DIY-Ambilight mit Hyperion

Einige Zeit lang hing an meiner Dreambox das Atmolight Modul und erhellte die Wand hinter dem Fernseher passend zum Bildschirminhalt. So einfach die Einrichtung dieser Beleuchtung auch war, so eingeschränkt waren auch deren Möglichkeiten. Etwa gab meine Version des Moduls nur eine Farbe pro Seite aus (es gibt aber durchaus Varianten, die mehr darstellen können), und die Beleuchtung funktionierte natürlich nur im Zusammenhang mit der Dreambox. Dank der Streaming-Qualitäten von Enigma2 war die Dream zwar der Hauptbildgeber, für Bluray- oder Spielesessions musste aber eine statische Farbe gewählt werden und die Dreambox im Hintergrund laufen. Ich fing sogar an, mir eigene Videos mit sphärisch wabernden Farbwechseln zu erstellen und diese den Abend über laufen zu lassen.

Hintergrundbeleuchtung über Atmolight

Den Umzug in unser geräumiges Häuschen nahm ich zum Anlass, auch in Richtung Ambilight ein wenig aufzurüsten. Mein vorheriges Setup wurde noch vor dem Umzug durch unsere damals noch Jüngste auf einer ihrer Erkundungstouren durch Papas Kabelwelten zerstört.

Dieses Mal wollte ich einen „echten“ Ambilight Klon. Für alle Zuspieler… und ich fand Hyperion. Zwar ist die Installation etwas umfangreicher, die Möglichkeiten sind es dafür aber auch.

An der Wohnzimmerwand sollte mein treuer Plasma TV Platz finden. Ein PS59D550 von Samsung. Bei meinen früheren Versuchen mit Atmolight klebte ich die LED Leisten noch direkt auf den Fernseher. Nun aber wollte ich das System unabhängig vom TV befestigen, um bei einem späteren Wechsel des Fernsehers nichts an der Hintergrundbeleuchtung ändern zu müssen. Daher bastelte ich mir aus ein paar Brettern einen Träger für die LED Leisten. Zuvor habe ich natürlich meinen Fernseher ausgemessen und noch ein paar Zentimeter Toleranz abgezogen, damit der Träger und die Leisten im Betrieb nicht gesehen werden.

Meine LED Wandhalterung. Die schwarzen Dämmplatten sollen das leichte Spulenfiepen meines Plasmas abdämpfen.
Die einzelnen LED Streifen habe ich an den Ecken verlötet. Es gibt aber auch Eckverbinder.

Den geplanten Aufbau habe ich hier einmal schematisch dargestellt:

Die Beleuchtung selbst wird über den populären Einplatinencomputer Raspberry Pi gesteuert. Zum Anschluss der LED Leisten an die GPIO Pins des Raspberry hielt ich mich zuerst an diesen Plan aus dem bite-in-Blog.

LED Beschaltung (Bildquelle: bite-in.com)

Grundsätzlich funktionierte das auch sehr gut. Nachteilig war aber, dass über diese Schaltung die Hintergrundbeleuchtung ständig lief. Nachdem man den AVR als Zuspieler abschaltete, wechselte die Hintergrundbeleuchtung auf ein kräftiges Blau, da der HDMI-CVBS-Wandler nicht Schwarz, sondern Blau darstellt, wenn kein Signal anliegt. Zunächst löste ich dieses Problem, indem ich den Hyperion Dienst über die offizielle Hypierion App beendete. Auf Dauer war mir das jedoch zu fummelig. Also habe ich den Raspberry wieder über USB bestromt und das Schaltnetzteil der LED Streifen an einer Master-Slave-Steckdose hinter den Fernseher gehängt. Schaltet man diesen ab, geht kurz darauf auch das Licht aus. So ist die Beleuchtung zwar etwas anfälliger für Kriechströme und andere Störquellen, dies macht sich in meinem Setup aber kaum bemerkbar.

Im Vorfeld versuchte ich mehrfach, einen USB-Grabber mit dem Fushicai UTV007 Chipsatz zu ergattern. Selbst wenn ausdrücklich darauf hingewiesen wurde, dass dieser Chipsatz verbaut sei, spuckte die Konsole später andere Bezeichnungen aus. Hintergrund ist, dass dieser Chipsatz treiberseitig auch von neueren Raspbian Versionen gut unterstützt wird. Mittlerweile soll man diesen auch wieder gut bekommen können.

Dafür hatte ich nun mehrere Grabber mit dem STK1160 Chipsatz herumliegen. Die letzte Version, welche diesen von Haus aus unterstützt ist 2013-09-25-wheezy-raspbian.zip und diese Version ist maximal auf dem Raspberry Pi B (Nicht B+) lauffähig. Wenn man ein wenig sucht, findet man aber auch dieses Board noch auf einer bekannten deutschen Online-Auktionsplattform.

Die Kette der Geräte, wie ich sie oben schematisch dargestellt habe, fand entlang des hölzernen Rahmens Platz. Geräte, welche sich nicht ohne Weiteres verschrauben ließen, habe ich mit großen Kabelbindern fixiert.

Hdmi-Splitter und Hdmi-CVBS-Wandler

Rückblickend halte ich diese Lösung nicht mehr für ganz so vorteilhaft. Zwar verschwinden die Geräte so aus dem Sichtfeld, für Reparaturen oder Veränderungen muss ich aber meinen Fernseher immer wieder abhängen. Alternativ würde sich dieses Problem wohl auch mit einer TV-Halterung mit Schwenkarm lösen lassen.

Den Raspberry selbst muss man natürlich erst einmal vorbereiten. Das oben erwähnte Image lässt sich mit dem Win32DiskImager auf eine MicroSD Karte schreiben. Im Netzwerk lässt sich der PI dann am einfachsten über den eigenen Router finden. Hat man so die richtige IP-Adresse herausgefunden, kann man über Putty via SSH auf das System zugreifen.

Hat man sich im neu geöffneten Terminal-Fenster angemeldet (Benutzer: pi Passwort: raspberry), sollte man zunächst mit passwd das Passwort ändern. In das Konfigurationsmenü gelangt man über:

sudo raspi-config

Dort wählen wir den Menüpunkt „advanced options“ und erweitern das Dateisystem über „expand filesystem“. Außerdem müssen SSH und SPI aktiviert werden.

Hat man alle Änderungen gespeichert, verlangt der Raspberry einen Neustart und man muss sich erneut über SSH verbinden.

Der Grabber mit dem STK1160 sollte von Raspbian sofort erkannt und spätestens nach dem Neustart dem Device „video0 “ zugeordnet werden. Daher kann nun über die Befehle:

sudo apt-get update 
sudo apt-get install libqtcore4 libqtgui4 libqt4-network libusb-1.0-0 libprotobuf7 ca-certificates python-dev 

die passende Software-Grundlage geladen werden. Hyperion selbst installiert man über:

cd /tmp
wget -N raw.github.com/tvdzwan/hyperion/master/bin/install_hyperion.sh
chmod +x install_hyperion.sh
sudo ./install_hyperion.sh

Um Hyperion komfortabel konfigurieren zu können, benötigt man noch HyperCon, welches man sich auf der Github-Seite des Projektes laden kann. Es handelt sich dabei um eine .jar-Datei, entsprechend benötigt man Java auf seinem Rechner für die Ausführung.

HyperCon zur Konfiguration des Aufbaus

Mit diesem Tool kann zunächst die Anzahl und Anordnung der verwendeten LEDs eingestellt werden. In meinem Beispiel beginnt die erste LED Leiste von der Mitte ausgehend unten links. Man stellt die LEDs also so ein, wie sie angeordnet sind, wenn man auf den Fernseher schaut.

Im nächsten Tab habe ich die Glättung aktiviert, um etwas sanftere Übergänge zwischen den einzelnen Farben zu erhalten. Hier muss jeder probieren, was ihm am besten gefällt.

Bei der Farbkalibrierung habe ich nichts weiter angerührt. Zwar besteht unsere Wohnzimmertapete aus hell-beigen Streifen, ich war doch aber überrascht, dass mir die Farbwiedergabe von Anfang an zusagte. Unter dem Reiter „Grabber“ lässt sich der USB-Grabber selbst konfigurieren.

Zwar wird überall geraten, den Grabber auf PAL laufen zu lassen, mein Modell liefert so aber kein brauchbares Signal, so dass ich auch hier die Einstellung bei NTSC gesetzt habe. So wird zwar ein kleines Stück vom rechten Bildschirmrand nicht vom Grabber erfasst, dies fällt aber bei der späteren Verwendung (zumindest bei mir) kaum auf.

Unter dem „SSH“ Reiter lässt sich die erstellte Konfigurationsdatei (vorher speichern und „Generiere Konfiguration“ betätigen) auf den Raspberry laden. Wird der Dienst nun einmal gestoppt und erneut gestartet, wird auch die neue Konfiguration geladen. Über SSH können auch hier auch Farbbefehle direkt an Hyperion gesendet werden. So kann man testen, ob die LEDs richtig angesteuert werden. Andernfalls kann man im Reiter „Allgemein“ die RGB Byte Reihenfolge ändern.

Je nachdem, welchen Grabber und welchen Converter man verwendet, wird man noch einige Zeit auf das Feintuning des Bildformats verwenden. Um überhaupt zu erkennen, was der Raspberry aus dem Bild des Wandlers macht, benötigt man wieder eine SSH Verbindung über Putty. Dort gibt man folgenden Befehl ein:

hyperion-v4l2 --screenshot 

Somit wird ein Screenshot des Grabber-Bildes erstellt. Mit einem Programm wie WinSCP kann man anschließend auf den Raspberry zugreifgen und unter „/home/pi“ die Datei screenshot.png einsehen. Je nachdem, wie sich dieser darstellt, können die Werte unter dem Punkt „Grabber“ angepasst werden.

Hat man alles nach seinen Vorstellungen konfiguriert, kann man andächtig die neue Beleuchtung bestaunen. Besonders geeignet dazu sind Kinderfilme und Konzert-Mitschnitte. Alternativ lässt sich über HyperCon oder die offizielle App auch eine statische Farbe oder ein Lichtspiel (z.B. der Knight Rider Effekt) einstellen.

Hintergrundbeleuchtung über Hyperion
Die LEDs im Betrieb

Sollte ich mir doch irgendwann einen 4K-fähigen Fernseher zulegen, müsste die Gerätekette entsprechend angepasst werden. So bräuchte es einen HDMI-CVBS Wandler, welcher 4k unterstützt oder ein neues Gerät in der Kette, welches das Signal herunterrechnet.

Mittlerweile gibt es auch Anbieter, die fertige Lösungen auf Basis von Hyperion anbieten, … aber wo bliebe da der Spaß am Basteln 😉

Quellen: bite-in.com, serhan.in

2 Gedanken zu “DIY-Ambilight mit Hyperion”

Schreibe einen Kommentar zu Lars Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert