SEMISteuereinheit multimedialer Inhalte
Motivation
Es gibt mittlerweile eine Menge Linux-Distributionen, die sich auf
Multimedia-Boxen spezialisiert haben, wie z.B. GeeXboX, Freepia oder
die, wie Epios, die Hardware des im Projekt benutzten Mini-ITX Boards
optimal unterstützen.
Andere Projekte wie MythTV oder Freevo konzentrieren sich auf die
Bereitstellung einer Oberfläche zu Audio/Video Tools. Diese sind
soweit auch ausgereift, dass sie über Fernbedienung steuerbar sind und
auch die Möglichkeit bieten zusätzliche Module hinzuzufügen
(z.B. Wettervorhersage).
Da sich diese Projekte hauptsächlich auf Video und TV konzentrieren und
ich keine Lust habe irgendwelche Linux-Distrubitionen an meine
Bedürfnisse anzupassen beschloss ich eine eigene Oberfläche zu bauen,
die schon vorhandene Tools anspricht. Schwerpunkt sind Musik und
Bilder und nicht TV. Da ich mich FreeBSD gut auskenne habe ich dieses
Betriebssystem als Basis genommen, obwohl es in Multimedia Dingen weit
hinter den Möglichkeiten von Linux-Systemen liegt. Das hier
vorgestellte Bundle wäre mit einigen Anpassungen zur Einbindung der
Konzept
Die Inhalte, wie Bilder, Musikstücke und Videos werden auf einem zentralen File-Server verwaltet. Auf die Daten wird mittels NFS zugegriffen. Die einzelnen Clients (SEMI-Geräte) booten von einer Flash-Karte. Das Sytem selbst arbeitet dann nur noch im RAM. Eine Besonderheit ist noch, dass das usr-Verzeichnis der Clients via Netzwerk vom Server gemountet wird. Der Vorteil hiebei ist, dass eine Änderung an SEMI nur einmal im Server vorgenommen werden muss. Gerade in der Entwicklungsphase erspart dieses Vorgehen zahlreiche Schreibzugriffe auf den Flash-Speicher.
Hardware
Die komplette Hardware ist in einem ausgedienten Hifi CD-Spielergehäuse
untergebracht. Mit 17 x 17 cm ist der Mini-ITX Formfaktor besonders für
den Einbau in begrenzte Räumlichkeiten geeignet. Das augesuchte Board
SP13000 von Via ist mit seinem C3 Prozessor ein stromsparender Rechner.
Der bekanntermaßen etwas laute Prozessorlüfter von VIA wurde durch
einen etwas leiseren ersetzt. Mit Heatpipes und groß dimensionierten
Kühlrippen hätte man auch das komplette Gerät lüfterlos halten können.
Durch die Verwendung eines Flashspeichers anstatt einer Festplatte ist
mir eine weitere Geräuschquelle erspart geblieben.
Der eingebaute CN400 Chipsatz unterstützt hardwareseitig beschleunigte
MPEG2 und MPEG4 Decodierung. Dies wird im Gegensatz zu FreeBSD auch von
einigen Linux-Distributionen unterstützt. XOrg ab Version 6.9
unterstützt durch einen entsprechenden UniChrome Treiber die
Grafikausgabe dieses Chipsatzes.
Notwendige Anpassungen:
Die bestehende Fontblende des ehemaligen CD-Spielers erfordert, aufgrund ihrer Dimension, den Einbau eines SlimLine DVD-Laufwerks. Dessen Front der Schublade mußte seitlich verkürzt werden damit die alte in diese eingeharkt werden konnte. Die Sicherung am An/Aus Schalters des alten Gehäuses wurde auch gleich gegen eine leistungsfähigere ausgetauscht, so dass sie mit dem neuen 60 Watt Netzteil harmoniert. Anstelle der alten LCD-Anzeige wird vorne eine USB-Buchse und der Schacht für CompactFlash und MMC Karten herausgeführt. Eine eigene LCD-Anzeige wäre auch cool gewesen, nur sind die Teile auch etwas teuer.
![]() Das entkernte Gehäuse |
![]() Stromversorgung und Halterung |
![]() Vollständig bestückt |
Hardwareliste:
- VIA SP13000 (Board + C3-Prozessor(1,3 GHz) + Onboard-Grafik)
- CompactFlash Karte 128 MB (überdimensioniert) + IDE Adapter
- 12 V Netzteil
- 12V -> ATX Stromanschluss (Morex)
- Slimline DVD-Laufwerk + 40/44 Anschlussadapter
- Altes HiFi CD-Spieler-Gehäuse
- CF/MMC Lesegerät
- 256 MB DDR-400 RAM
- Soundkarte
- USB-Buchse
Software
Betriebssystem:
Wie schon erwähnt wird ein FreeBSD 6.0 als Betriebssystem verwendet. Das System ist aber von einigen Balast manuell befreit worden. Eine gute Anleitung um ein schlankes FreeBSD zu bauen findet man auf der MiniBSD-Seite. Da nur der Kernel und ein Teil des Basissytem auf der Flash-Karte landen, reichen max. 32 MB aus.
Web-Interface:
Gerade für das Abspielen von Musikstücken wird nicht unbedingt ein
Bildschirm gebraucht. Daher läst sich SEMI auch über ein Web-Interface
fernsteuern. Denkbar hierfür ist der Einsatz eines Handys oder PDAs.
Für erste Versuche wurde ein Zaurus PDA mit einer USB-Verbindung zum
SEMI-Gerät verwendet.
Auf dem SEMI-Gerät läuft hierfür der tclhttpd als Web-Server.
Vorteil dieses Servers ist, dass die ganze Logik in Form von Tcl-Modulen
im Server untergebracht werden kann.
Web-Interface und Standalone Bedienoberfläche bieten die selbe
Funktionalität (Siehe Sektionen).
Standalone Bedienoberfläche:
Die Oberfläche SEMI ist in Tcl/TK geschrieben und dient hauptsächlich
dazu die ganze Mediasoftware unter einen Hut zu bringen. Die folgenden
Beispiel-Screenshot beziehen sich auf das Theme 'azteca'.
- Musik
- Albenlisten
- Interpretenliste
- Erstellung einer temporären Abspielliste, welche auch dann als Album abgespeichert werden kann.
- Web-Radio
- Import von Musikstücken von Flash-Disk, Usb-Stick oder CD
- Export auf Flash oder USB-Stick
- Aufnahme
- Bilder
- Video
- Stücke vom Server abspielen
- DVD abspielen
- Privatkopie von DVD erstellen
- Import von Videos von Flash-Disk oder Usb-Stick
- Export auf Flash oder USB-Stick
- Infos
- System
- Ausfahren der Schublade
- Mixer Einstellungen
- Sytem herunterfahren und ausschalten
Notwenige Softwarepakete:
- Tcl/Tk 8.4 (Programmiersprache)
- tclhttpd (Web-Server)
- tcllib (Tcl-Erweiterung)
- libimg (Tk Bibliothek für zusätzliche Grafikformate)
- sqlite (Datenbank)
- Snack (Tcl-Erweiterung Sound)
- Mplayer (Video-Player)
- abcde
- lsdvd (Zum Einlesen des DVD-Inhaltsverzeichnises)
- transcode
- mplex (http://mjpeg.sourceforge.net/)
- cdcontrol (CD-Spieler, im Betriebssystem vorhanden)