NMM

Network-Integrated Multimedia Middleware



Status : MMBox : Hermes PC

Home
News
Status
.
Network
.
QoS
.
Mobile
.
MMBox
.
LCD
.
Streaming
.
amaroK
.
Phonon
.
Video Wall
.
NMM-Oppix
.
VCORE
Download
Publications
Gallery
FAQ
People
Contact
Links

NMM und Multimedia-Box auf einem MSI Hermes PC
freundlicherweise zur Verfügung gestellt von MSI, Deutschland

1. Einführung:

PCs werden immer häufiger im Bereich Home Entertainment genutzt. Ein sogenannter Home Theater PC (HTPC) kann die meisten herkömmlichen Home-Entertainment-Komponenten, wie Fernsehempfänger, Videorekorder oder DVD/CD-Player ersetzen und sie in einem einzigen Gerät vereinen. In Verbindung mit einer gewöhnlichen Fernbedienung kann ein HTPC die zentrale Komponente Ihres Home-Entertainment-Systems werden, indem er die verbleibenden Komponenten miteinander verbindet und Ihre private Musik- und Video-Sammlung verwaltet. Zudem ist es mit einem HTPC möglich, mehrere Aufgaben gleichzeitig zu erledigen - z.B. Fernsehen, Transkodieren von Videos und Programmieren des digitalen Videorekorders. Wenn der PC zusäzlich mit einem lokalen Netzwerk oder dem Internet verbunden ist, können Audio- und Videodaten auch von anderen Systemen empfangen werden.


Das Erscheinungsbild eines solchen HTPC sollte in die bestehende Home-Entertainment-Umgebung passen: er sollte ein kleines, optisch ansprechendes Gehäuse haben. Jedoch erfordern kleine PC-Gehäuse die Verwendung spezieller Mainboards; ausserdem können nur wenige Erweiterungskarten eingebaut werden. Deshalb sind Barebone-PCs, wie die Barebone-Serie von MSI, besonders gut für die Realisierung eines Home Theater PC geeignet: sie haben ein kleines Gehäuse und das eingebaute Mainboard verfügt bereits über die wichtigsten PC-Komponenten wie Soundkarte, Grafikkarte mit TV-Ausgang und Netzwerkadapter. Für ein laufendes System benötigt man nur noch eine CPU, ein Hauptspeichermodul und eine Festplatte. Zusammen mit der von uns entwickelten Multimedia-Box-Anwendung, welche auf NMM basiert und unter Linux läuft, lässt sich so ein kompletter Linux basierter HTPC bauen. NMM und die Multimedia-Box waren bereits Thema im Magazin c't, Ausgabe 22, Seiten 232-237: "Ein Knoten für alle Fälle, NMM - Vernetztes Multimedia Home Entertainment mit Linux"

Auf dieser Seite beschreiben wir unsere Erfahrungen mit dem Zusammenbau eines Home Theater PC, basierend auf dem Hermes Barebone PC 651-P, der uns freundlicherweise von MSI zur Verfügung gestellt wurde, sowie unserer Multimedia-Box-Anwendung, die mit NMM entwickelt wurde. Diese Seite kann als Anleitung verwendet werden, um bei der Auswahl der zusätzlichen Hardware-Komponenten sowie bei der Installation und Einrichtung des Systems zu helfen. Dabei gehen wir davon aus, dass der Leser bereits Erfahrung im Zusammenbau von PCs, der Installation von Linux und dem Kompilieren von Quellcode unter Linux hat.

2. Hardware:

2.1 Benötigte Hardware:

Barebone PC:
  Wie bereits in der Einführung erwähnt, werden wir einen Barebone-PC als Basis für unseren Home Theater PC benutzen. Da die meisten Komponenten onboard sind, z.B. VGA- und Soundkarte, muss sichergestellt sein, dass diese unter Linux unterstützt werden. Wir verwenden einen Hermes Barebone PC 651-P, der uns von MSI zur Verfügung gestellt wurde. Dabei handelt es sich um eine integrierte Lösung, bei der die wichtigsten Komponenten (unter anderem Sound, Grafik und TV-Ausgang) onboard sind und auch unter Linux unterstützt werden. Desweiteren sind die wichtigsten Anschlüsse vorhanden, wie in Bild 1 und 2 zu sehen ist. Das schicke Design und die geringen Abmessungen des Gehäuses erlauben eine dezente Integration in die bestehende Home-Entertainmend-Umgebung. Eine komplette Spezifikation für diesen Barebone-PC ist hier zu finden.
Bild 1: Vorderseite des Hermes PC mit allen Anschlüssen
Bild 2: Rückseite des Hermes PC mit allen Anschlüssen


                  
CPU:
   Es hängt vom Mainboard ab, welche CPU verwendet werden kann. Der Hermes PC unterstützt Socket-478-Prozessoren, weshalb nur ein Pentium 4 in Frage kommt. Die benötigte CPU-Geschwindigkeit richtet sich nach dem Verwendungszweck: für die meisten Multimedia-Anwendungen, wie Fernsehen oder Abspielen von DVDs, reicht eine CPU mit 1.4-2.0 Ghz aus. Wenn jedoch mehrere Anwedungen parallel laufen sollen, z.B. Abspielen einer DVD und Transkodierung mehrerer MPEG-Dateien, sollte eine CPU mit mindestens 2.0 Ghz benutzt werden. Der Nachteil von schnelleren CPUs ist die erhöhte Lautstärke des Lüfters, was oft nicht akzeptabel ist, wenn sich der PC zum Beispiel in einem Wohnzimmer befindet. Es hängt also stark von den Bedürfnissen des Benutzers ab, welche CPU-Geschwindigkeit für ihn die "Beste" ist. Da bei uns die CPU-Lautstärke nicht so wichtig ist, benutzen wir einen 2.6 Ghz Pentium 4.

Arbeitsspeicher:
   Das Mainboard des Hermes PC bietet zwei Steckplätze für DDR-Rams und erlaubt eine maximale Kapazität von 2 GB (laut Handbuch). Für unsere Anwendungen setzen wir mindestens 256 MB Ram voraus, empfehlen aufgrund der geringen Preise von Speichermodulen jedoch 512 MB.

Festplatte:
   Die verwendete Festplatte muss genügend Platz bieten, um das Multimedia-Archiv (MP3-Dateien, TV-Aufnahmen etc.) des Benutzers speichern zu können. Daher schlagen wir eine Festplatte mit 80-120 Gb vor. Um die störenden Geräusche zu reduzieren, kann eine Festplatte mit 5400 rpm benutzt werden.

DVD-Laufwerk:
   Damit man DVDs anschauen oder Audio-CDs hören kann, ist ein DVD-Laufwerk erforderlich. Anstatt eines gewöhnlichen DVD-Laufwerks kann man auch einen DVD-Brenner einbauen - so können z.B. aufgenommene Filme auf DVDs archiviert werden. Das Brennen von DVDs wird durch die Multimedia-Box selbst nicht unterstützt, aber es existieren andere Tools unter Linux, die für diesen Zweck verwendet werden können. Die einzige Beschränkung für dieses Gerät ist, dass es kein Slot-in-Laufwerk sein darf (wie manche Pioneer-Laufwerke), da das Laufwerk hinter einer Klappe versteckt ist, die durch den Laufwerk-Schlitten geöffnet wird.

TV-Karte:
   Um analoges Fernsehen auf dem PC anzuschauen und aufzunehmen, benötigt man eine TV-Karte. Diese Karte sollte einen OnBoard-MPEG2-Encoder besitzen, um Echtzeit-Videokomprimierung zu ermöglichen, ohne CPU-Leistung aufzubrauchen. Hauppauge WinTV PVR 250/350 Karten haben diese Fähigkeit und werden unter Linux und von der Multimedia-Box unterstützt. Mit enthalten ist eine Fernbedienung incl. Empfänger, welche auch unter Linux funktioniert. Falls digitales Fernsehen über DVB verfügbar ist, so braucht man eine DVB-Karte. Eine Liste von DVB-Karten, die unter Linux unterstützt werden, kann man hier finden.

Diskettenlaufwerk:
   
Ein Diskettenlaufwerk ist nicht notwendig, kann aber in manchen Fällen von Nutzen sein (z.B. zur Systemwiederherstellung). Deshalb empfehlen wir die Installation eines 3,5"-Diskettenlaufwerks.

Tastatur & Maus:
    Obwohl der PC mit der Fernbedienung gesteuert werden soll, benötigt man für die Installation, die (Re-)Konfiguration oder ein Update des Systems eine Tastatur und eine Maus. Daher schlagen wir eine kabellose Tastatur und Maus vor, die einfach versteckt werden können, wenn sie nicht benötigt werden. Ein kabelloses Keyboard plus Maus, wie der Logitech Cordless Desktop, kosten ungefähr 45.00 €.

2.2 Hardware-Liste:

Nachdem die Hardware-Anforderungen besprochen wurden, stellen wir zwei verschiedene Hardware-Konfigurationen vor, nach denen man sich einen eigenen HTPC bauen kann. Die erste Hardware-Liste besteht aus leistungsfähigeren Komponenten wie einer schnelleren CPU und einem DVD-Brenner anstatt eines simplen DVD-Laufwerks, während die zweite Liste eher preiswertere Hardware enthält. Für unseren HTPC benutzen wir die Komponenten der ersten Hardware-Liste. Die entsprechenden Preise haben wir dem Online-Shop Alternate am 17.01.2004 entnommen.

Komponenten:
Hardware Liste 1
Preis

Hardware Liste 2
Preis
Barebone PC: Hermes Barebone PC 651-P  174.00€
                                    Hermes Barebone PC 651-P 
174.00€
CPU:
Intel Pentium4 2.66 Ghz
169.00€

Intel Pentium4 Celeron 2.0 Ghz
  64.00€
Speichermodul:
 1x  512 MB DDR Ram (PC 2700)
  74.00€

1x 256 MB DDR Ram (PC 2700)
  42.00€
Festplatte:
Maxtor 6Y120L0 120Gb
  89.00€

Maxtor 6Y080L0  80Gb     67.00€
DVD-Laufwerk
NEC ND-1300A DVD +/-RW burner (black)
109.00€

TEAC DVD 516 drive (black)
   42.00€
TV-Karte Hauppauge WinTV PVR 350
189.00€

Hauppauge WinTV PVR 350
 189.00€
Summe:

 804.00€

Summe:
  578.00€


3 Hardware-Installation:

Obwohl unser Hermes PC (siehe Bild 3) ein kleines Gehäuse hat, ist sein Inneres übersichtlich aufgebaut and ermöglicht eine einfache und schnelle Hardware-Installation. Die wichtigsten Schritte, wie das Installieren der CPU, sind im Benutzerhandbuch ausführlich beschrieben. Deshalb fassen wir die einzelnen Installationsschritte im Folgenden nur kurz zusammen und illustrieren jeden Schritt anhand von Bildern.


Bild 3: Der Hermes PC von MSI.

Nachdem man die Abdeckung, die Frontblende und die installierte Riser Card entfernt hat, hat man bequemen Zugriff auf das Mainboard und kann die CPU, das Speichermodul und die Festplatte einfach einbauen. Zuerst installiert man die CPU und befestigt den Kühler darauf, wie in Bild 4 zu sehen. Der CPU-Kühler ist im Lieferumfang enthalten und wurde speziell an dieses PC-Gehäuse angepasst. Nun muss das Speichermodul im ersten Steckplatz verankert werden (neben der CPU, siehe Bild 4).


Bild 4: Befestigen Sie den im Lieferumfang enthaltenen CPU-Kühler auf der CPU und installieren Sie das Speichermodul.

Als nächstes kann die Festplatte im entsprechenden HDD-Schacht platziert werden. Zum Verbinden mit dem Mainboard müssen speziell gefaltete HDD-Kabel (im Lieferumfang enthalten) verwendet werden. Bei diesem Schritt muss man vorsichtig sein: Das HDD-Kabel und die Stromversorgung müssen mit der Festplatte verbunden werden, bevor die Festplatte komplett in den Schacht geschoben wird.

Installing the hard disk
Picture 5: Installation der Festplatte

Nach diesen Schritten sollte der Hermes PC wie in Bild 6 aussehen.


Bild 6: Nach der Installation von CPU, Arbeitsspeicher und Festplatte sieht der Hermes PC so aus.

Jetzt kann man das Disketten- und das DVD-Laufwerk an der Frontabdeckung festschrauben, wie in Bild 7 zu sehen.

Bild 7: Montieren des Disketten- und des DVD-Laufwerks an der Frontabdeckung.

Anschließend verbindet man das HDD- und FDD-Kabel sowie die entsprechenden Stromversorgungskabel mit dem DVD- bzw. Diskettenlaufwerk. Dann wird die Frontabdeckung wieder in das Gehäuse geschoben (siehe Bild 8).


Bild 8: Die Frontabdeckung wird wieder eingebaut.

Nun kann die TV-Karte auf der Riser Card in einem der zwei PCI-Steckplätze angebracht werden (Bild 9).


Bild 9: Installation der TV-Karte in einem der zwei PCI-Steckplätze auf der Riser Card.

Als nächstes kann die Riser Card wieder in den Hermes PC eingebaut werden, wie in Bild 10 zu sehen ist, und das PC-Gehäuse wieder geschlossen werden.


Bild 10: Die Riser Card wird samt TV-Karte wieder eingebaut.


Zum Abschluss muß noch der Infrarot-Empfänger am PC befestigt werden. Wie in Bild 11 zu sehen ist, haben wir den Empfänger an der linken oberen Ecke neben dem Diskettenlaufwerk angebracht, um einen guten Empfang zu ermöglichen.
 Connecting the remote receive in front of the PC
Bild 11: Der Infrarot-Empfänger wird an der Vorderseite des PCs angebracht.

Damit das Kabel des Empfängers nicht lose in der Luft hängt, haben wir uns für eine einfache Lösung entschieden: Zuerst legen wir das Kabel entlang der Gehäuseseite und fixieren es mit einem Klebeband in der selben Farbe wie unser Gehäuse (Bild 12). Wichtig: Dabei darf man die Belüftungsschächte nicht bedecken. Eine elegantere Lösung, bei der das Kabel durch den PC gelegt wird und der Empfänger in die Vorderabdeckung integriert ist, bleibt dem Hobbybastler überlassen.


Bild 12: Das Kabel wird an der Gehäuseseite mit einem Klebeband fixiert. Nicht die Belüftungsschächte bedecken!

4 Software-Installation:

Auf unserem Hermes PC haben wir eine Debian Woody Distribution mit Linux Kernel 2.4.21 installiert. Abgesehen von den Standard-Softwarekomponenten müssen die folgenden Pakete und Treiber installiert werden.

Treiber für die SiS Grafikkarte:
    Um die OnBoard-SiS-Grafikkarte benutzen zu können und die TV-Ausgabe zu ermöglichen, ist ein spezieller Treiber notwendig, der auf Thomas Winischofer's Homepage zu finden ist. Desweiteren stellt er Binärpakete für die Debian-Distribution zur Verfügung, welche wir für unseren PC verwenden. Eine Beschreibung, wie man den Treiber installiert, befindet sich hier. Nachdem man den Treiber installiert hat, muss die Konfiguration des X-Servers in dual head mode geändert werden, d.h. es werden zwei verschiedene Video-Ausgänge verwendet (der VGA- und der TV-Ausgang). Hier findet man auch einige Beispiele für die entsprechende XF86Congfig-Datei (oder XF86Config-4). Auf unserem Computer wird die folgende XF86Config verwendet, die auch als Vorlage verwendet werden kann. Nach der Konfiguration von X11 sollte das Bild sowohl über TV- als auch VGA-Ausgang sichtbar sein.

Treiber für die TV-Karte:
    Für die WinTV PVR 250/350 mit Hardware-MPEG-Encoder braucht man die Linux-Treiber, die innerhalb des IvyTV-Projekts entwickelt werden. Weil der Treiber noch in Entwicklung ist, sollte man möglichst die neueste CVS-Version downloaden. Auf unserem PC haben wir einen CVS-Checkout vom 18.09.2003 installiert, welcher hier heruntergeladen werden kann. Nachdem man das Archiv extrahiert hat, muss man in das Verzeichnis ivytv/driver wechseln und 'make' und 'make install' eingeben. Desweiteren sollte man die Utilities aus ivytv/utils installieren, da man mit der Anwendung test_ioctl die TV-Karte konfigurieren kann. Eine detaillierte Beschreibung, wie man diesen Treiber kompiliert, kann in der FAQ des IvyTV-Projekts nachgelesen werden. Nach der Installation kann man die Module ivtv und ivtv-i2c laden, indem man 'insmod ivtv' und 'ivtv-i2c' ausführt. Jetzt können TV-Karte und Infrarot-Empfänger unter Linux benutzt werden.

LIRC:
    Nachdem man den Treiber der TV-Karte installiert hat, kann man die Fernbedienung installieren. Für unsere Hauppauge TV-Karte benötigt man die neueste CVS-Version von LIRC. Eine Beschreibung, wie man sich Zugang zum Sourceforge-CVS-Server verschafft, befindet sich hier. Für unseren Hermes PC haben wir eine CVS-Version vom 01.12.2003 verwendet, welche hier heruntergeladen werden kann. Falls Sie nicht das neue dev-Dateisystem (devfs) benutzen, welches benötigte Einträge im dev-Verzeichnis dynamisch erstellt, müssen sie die Datei lirc_dev.c im Verzeichnis <lirc-sources>/drivers/lirc_dev/ öffnen und den Code
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
#define LIRC_HAVE_DEVFS
#endif

durch
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
/*#define LIRC_HAVE_DEVFS*/
#endif
ersetzen. Ausserdem müssen Sie die Device /dev/lirc (neu) erstellen, indem Sie 'rm /dev/lirc' und 'mknod c 61 0 /dev/lirc' als root ausführen.

    Um LIRC zu installieren, wechselt man in das Verzeichnis mit den LIRC-Sources und führt './autogen.sh' und 'configure' aus. Auf dem erscheinenden Bildschirm konfiguriert man den Treiber für Hauppauge TV-Karten und verlässt den Bildschirm mit 'Save configuration &  run configure'. Danach gibt man 'make' und 'make install' ein (als root), um den neuen Treiber zu kompilieren und zu installieren. Schließlich kann man die neuen Module laden und den LIRC-Daemon starten, indem man 'insmod lirc_dev', 'insmod lirc_i2c' und 'lircd' aufruft. Um die Installation zu testen, kann man 'more /dev/lirc' aufrufen. Wenn man jetzt verschiedene Tasten der Fernbedienung drückt, sollten Zeichen in die Konsole geschrieben werden.

NMM:
    Nun muss man nur noch NMM und die Multimedia-Box installieren. NMM benötigt die zwei Bibliotheken libpng und libjpeg, normalerweise sollten diese aber bereits nach einer Standard-Installation der meisten Linux-Distributionen verfügbar sein. Falls nicht, dann müssen sie installiert werden. Entsprechende Debian-Pakete für libpng befinden sich hier und für libjpeg hier. Wir benutzen die vorkompilierten Binärpakete der neuesten NMM-Version (zur Zeit 0.4.1), welche auf unserer Downloadseite zu finden sind. Der Quellcode von NMM ist auch auf dieser Seite verfügbar, so dass Sie auch Ihre eigene NMM-Version kompilieren können. Nachdem man das Binärpaket oder den Quellcode heruntergeladen hat, muss man einfach den entsprechenden Installationsanweisungen auf dieser Webseite folgen und schließlich die Anwendung 'mmbox' starten. Die Anwendung kann mit der Fernbedienung gesteuert werden, wie man auf den Bildern unten sehen kann.
    Falls die Multimedia-Box nach dem Login automatisch starten soll, müssen sie ihre eigene .xsession-Datei schreiben, die sich in ihrem Home-Verzeichnis befinden muss. Diese .xsession-Datei kann als Vorlage verwendet werden. Man muss nur die NMM_DEV_DIR-Variable ändern, um das Verzeichnis des NMM-Pakets zu definieren. Nun wird die Multimedia-Box in einer Schleife gestartet und kann beendet werden, indem man <ALT>-<CTRL>-<Backspace> drückt (was den X-Server killt).

Bilder der Multimedia-Box mit verschiedenen Skins
Multimedia Box mit der Standard-Skin 'blue'
Multimedia Box mit der Skin 'blues'
Multimedia Box mit der Skin 'Las Vegas' Multimedia Box mit der Skin 'icon'
   
                                 
                                                         

Multimedia Box in Aktion
Wählen von Video- oder Audio-Dateien zum Abspielen.
Wiedergabe von Videos.
Einlegen einer DVD zum Abspielen.
Navigation durch das DVD-Menü und Starten des Films.
Wiedergabe des Films.
Starten einer anderen Aufgabe, die während der DVD-Wiedergabe ausgeführt wird.

                                          
                                    
                                
   

5 Links:

In diesem Abschnitt sind die für dieses Projekt relevanten Internetseiten aufgelistet.

[1] MSI, haben uns freundlicherweise den Hermes PC zur Verfügung gestellt.
[2] IvyTV-Projekt, entwickeln einen Treiber für WinTV PVR 250/350 Karten.
[3] Thomas Winischhofer's Homepage, entwickelt Treiber für das SiS-Chipset, welches im Hermes PC zum Einsatz kommt.