HTPC im Eigenbau

Diese Seite soll ein wenig über meine Erfahrungen mit meinem HTPC berichten und dient mir in erster Linie dazu, die Schritte zu dokumentieren, die zur Einrichtung nötig waren bzw. sind. Vielleicht findet der ein oder andere in diesem Artikel ein paar nützliche Tipps oder lässt sich damit über die Vorteile aufklären. Bei Fragen oder Anregungen könnt ihr mich jederzeit anschreiben.

Inhalt

Anforderungen

Ich hatte ganz konkrete Anforderungen an mein “Media Center”, bevor ich überhaupt auf den Gedanken gekommen bin, mir einen HTPC aufzubauen:

  • Fernsehen gucken und aufnehmen (DVB-T)
  • Aufnahmen planen und ansehen
  • Videos zentral verwalten und über das Netzwerk einspeisen können
  • Unterstützung für sämtliche Video-Formate, von einfachen MotionJPEG-Videos von Digitalkameras über normale DivX-Videos bis hin zum FLV-Format
  • Musik zentral verwalten
  • DVDs abspielen und rippen
  • Auf USB-Sticks zugreifen
  • Anschlussmöglichkeiten für ein 5.1-System

Hardware

Um möglichst flexibel zu sein und auch für die Zukunft (HD) gerüstet zu sein, wollte ich relativ aktuelle Komponenten einbauen, preislich aber nicht über 400 EUR gelangen: Ich entschied mich für folgende Hardware:

Motherboard: Abit AN-M2HD mit nForce4-Chipsatz und HDMI-Ausgang, ca. 50 EUR
Gehäuse: Antec Fusion, ca. 130 EUR
TV-Karte: Hauppauge Nova-T 500 DVB-T Karte mit 2 Tunern, ca. 70 EUR
CPU: AMD X2 EE 5000+, ca. 70 EUR
CPU-Kühler: Scythe Ninja Mini, ca. 25 EUR
RAM: MDT 2048 MiB DDR2 800 MHz CL5, ca. 30 EUR
DVD-Brenner: Samsung SH-S202N, ca. 22 EUR

Die Preise sind Richtwerte auf dem Stand von Mai 2008. Mit dieser Konfiguration kommt man in jedem Fall günstiger und flexibler weg, als zum Beispiel mit Fertigsystemen, wie sie MSI anbietet, außerdem ist diese Konfiguration ziemlich leise, da die CPU mit einer Passivkühlung auskommt und die Gehäuselüfter auf der niedrigsten Stufe betrieben werden können. Sollte Blu-Ray irgendwann die DVD ablösen, ist es ein leichtes, das Laufwerk auszutauschen und sollte man nach einem Umzug Satellitenfernsehen erhalten, lässt sich leicht auf DVB-S umrüsten. Vielen Dank an den Artikel von IronEagle, woher ich die Ideen für Gehäuse, CPU und Mainboard bekam. Allerdings ist mir das Gehäuse in der Standardkonfiguration leise genug, weswegen ich auf ein leiseres Netzteil und leisere Gehäuselüfter verzichtet habe. Das Gehäuse ist super durchdacht. Es enthält ein 3-Kammern-System für Netzteil/Laufwerke, Motherboard+Komponenten und Festplatten. Durch diese Aufteilung wird eine geringe Hitzeentwicklung erreicht und die Gehäuselüfter können die Abwärme optimal nach außen befördern. Zur optimalen Einstellung auf den CPU-Kühler sind noch “Bausteine” beigelegt, um den Luftstrom optimal zu lenken. Die Festplatten hängen frei im Gehäuse an Trägern und durch eine Silikondämpfung wird eine sehr niedrige Lärmentwicklung erreicht.

Installation

Als Software sollte MythTV dienen. Nach einigen Tests mit anderer Software, war MythTV am unkompliziertesten und brachte die meisten Features. Außerdem existieren schon 3 fertige Distributionen mit vorinstalliertem MythTV: Mythdora auf der Basis von Fedora, Mythbuntu von Ubuntu und KnoppMyth als Knoppix-Derivat. Da ich auf meinem Notebook hauptsächlich Ubuntu nutze, bot es sich also an, Mythbuntu einzusetzen. Mythbuntu ist als Live CD verfügbar, welche auch direkt als Live-Frontend verwendet werden kann. Die Installation erfolgt ganz unkompliziert über einen Assistenten, der dem Ubuntu-Installer stark ähnelt.

Wenn man das System wie in meinem Fall als HTPC aufsetzt, sollte man “Hintergrunddienst mit Oberfläche” (Backend und Frontend) auswählen. Wer sein Backend zusammen mit all seinen Komponenten und Peripherie z.B. im Keller aufbauen möchte, der sollte das System nur als Backend bzw. Hintergrunddienst einrichten und sich ins Wohnzimmer lieber einen netten kleinen ThinClient bzw. eine Set-Top-Box stellen. Bei den Plugins empfehle ich auf jeden Fall folgende zu installieren:

  • MythGallery – Zur Verwaltung der eigenen Fotos
  • MythMusic – Für die Jukebox-Funktion
  • MythVideo – Wohnzimmer-Videothek aus der eigenen Filmsammlung
  • MythWeb – Sehr funktionales und übersichtliches Webinterface mit Streaming-Funktionen
  • MythStream – Damit auch die Internetradios nicht zu kurz kommen
  • MythArchive – Zum Brennen der Aufnahmen

Wer einen NetFlix-Account hat (hierzulande wahrscheinlich eher unüblich) sollte sich auch noch MythFlix installieren. VoIP ist auf dem HTPC auch eher selten, dafür wäre aber MythPhone zuständig. MythDVD braucht nicht mehr installiert werden, da es in neueren Versionen in MythVideo aufgenommen wurde und die Installation nur zu Konflikten führt. Sinnvoll ist, bei den Diensten gleich VNC und SSH zu aktivieren und den Remote Zugriff zu erlauben. So hat man die beste Kontrolle über sein System und kann mit dem Laptop auch in der ganzen Wohnung Aufnahmen ansehen oder Live-Fernsehen gucken. Sehr nützlich ist das MythWeb-Plugin, welches ein sehr komfortables Web-Interface zur Verfügung stellt. Darüber kann man ganz simpel das TV-Programm abrufen und Aufnahmen planen, Aufnahmen abrufen, direkt streamen sowie Musik-Playlists zusammenstellen und streamen, Videos verwalten und abrufen u.v.m. Das Interface ist eine echte Erleichterung und wenn man es nach aussen öffnet (Portforwarding) kann man sogar Freunde und Familie an dem System teilhaben lassen. Ich stoße immer wieder auf Begeisterung.

Partitionen

Um möglichst flexibel zu sein, ist es am Besten, das Grundsystem von den Daten zu trennen. Deswegen habe ich eine System-Partition mit 12 GiB eingerichtet, die auf / gemounted wird. Der Rest der Festplatte wird dann auf /var/lib/mythtv gemounted, dort werden alle Medien abgelegt (insbesondere Aufnahmen, Musik, Videos und Bilder)

Auf den neusten Stand bringen

Nun sollten wir das System noch aktualisieren, entweder über den Update-Manager, welcher rechts oben im Panel auftaucht, oder im Terminal mit “sudo apt-get update && sudo apt-get upgrade”. Da wahrscheinlich viele Updates zu erwarten sind, kann man erstmal einen Kaffee trinken gehen, bevor man mit der Einrichtung fortfährt. Testen und sich mit den vorhandenen Funktionen vertraut machen könnte man jedoch schon.

DVB-T Karte einrichten

Die Hauppauge Nova-T 500 wird zu diesem Zeitpunkt leider noch nicht nativ von Mythbuntu unterstützt und muss noch entsprechend eingerichtet werden. Hier kann man am Besten auf folgende Anleitung zurückgreifen: http://www.mythtv.org/wiki/index.php/Hauppauge_WinTV_Nova-T_500_PCI Zur Sicherheit die Anleitung in Kurzform (nur Shell-Befehle, [TAB] deutet das Drücken der [TAB]-Taste an):

wget http://www.wi-bw.tfh-wildau.de/~pboettch/home/linux-dvb-firmware/dvb-usb-dib0700-1.10.fw
sudo cp dvb-usb-dib0700-1.10.fw /lib/firmware
sudo apt-get install linux-headers-$(uname -r) linux-source build-essential mercurial
cd /usr/src/ sudo tar -xjvf linux-source-[TAB]
sudo ln -s /usr/src/linux-source-[TAB] /lib/modules/$(uname -r)/source
cd ~/
hg clone http://linuxtv.org/hg/v4l-dvb
cd v4l-dvb
sudo apt-get install ncurses-dev sudo make menuconfig

Wähle “Audio devices for Multimedia” und entferne das Häkchen bei “ACI mixer”, speichere und schließe die Konfiguration, ansonsten kommt es vielfach zu Fehlern.

make
sudo make install
sudo gedit /etc/modprobe.d/options

Folgende Zeile hinzufügen:

options dvb-usb-dib0700 force_lna_activation=1

Anschließend komplett herunterfahren und wieder starten, denn bei einem einfachen Neustart befindet sich die Karte nicht im “cold state” und dann wird die neue Firmware nicht greifen. Anschließend ruft man das MythTV-Backend Setup auf.

Surround Sound

Für den Surround Sound sorgt bei mir ein Teufel Concept E Magnum Power Edition. Die Verbindung erfolgt über 3 Stereo-Klinkenkabel, da ich keinen Digital-Decoder habe. Die Software (mythtv, xine, mplayer) ist standardmäßig auf Stereo eingestellt, und muss erst auf “surround51″ eingestellt werden. Bei MythTV geht man dazu im Frontend auf

Zubehör/Konfiguration -> Grundeinstellungen -> 3. Seite “Audio”

Audio-Ausgabegerät: ALSA:surround51 Max Audio Channels: 5.1 Mixerregler: PCM

Bei Xine öffnet man einfach Xine, geht in die Konfiguration, stellt das “experience level” auf “Expert” und stellt unter dem Reiter “audio” auf “surround51″ Auch mein Notebook (bzw. dessen Docking-Station) ist mit dem HTPC gekoppelt, sodass ich den Sound durch den HTPC auch aufs Sound-System bekomme. Per Fernbedienung kann ich dann zwischen HTPC-Sound und Notebook-Sound umschalten, sodass es nicht zu Überschneidungen kommt. Wie die Umschaltung funktioniert, steht im LIRC-Kapitel.

Fernbedienung (LIRC)

Da ich bisher noch keine Zeit fand, den integrierten IR-Receiver vom Antec-Gehäuse einzurichten, benutze ich vorübergehend den IR-Receiver, der von Hauppauge mitgeliefert wird, was auch den Vorteil hat, dass die Fernbedienung auf jeden Fall kompatibel ist. LIRC ist bei Mythbuntu schon vorinstalliert. Sollte das nicht der Fall sein, lässt es sich im Paketmanger (z.B. Synaptic oder aptitude) nachinstallieren (das Paket heißt logischerweise “lirc”) oder einfacher im Terminal per:

sudo apt-get install lirc

Das Programm legt seine Konfigurationsdateien in /etc/lirc ab, dort ersetzt man einfach im Terminal folgendermaßen die Dateien hardware.conf und lircd.conf:

wget http://www.youplala.net/~will/htpc/LIRC/hardware.conf
wget http://www.youplala.net/~will/htpc/LIRC/lircd.conf
sudo mv -b hardware.conf /etc/lirc/hardware.conf
sudo mv -b lircd.conf /etc/lirc/lircd.conf

Wie hier erklärt, legen wir nun eine udev-Rule an, da sich die event-Nummer – auf der der IR-Receiver angesprochen wird – sich bei jedem Neustart ändern könnte und die Fernbedienung dann nur noch auf die vorkonfigurierten Befehle reagiert:

sudo nano /etc/udev/rules.d/10-local.rules

Dort fügen wir folgende Zeile ein:

KERNEL==”input*”, ATTRS{name}==”IR-receiver inside an USB DVB receiver”, SYMLINK+=”input/dvb-ir”

Speichern mit Strg+X und “Y”. Jetzt öffnen wir die hardware.conf:

sudo nano /etc/lirc/hardware.conf

Dort ersetzen wir:

DEVICE=”/dev/input/event4″

mit:

DEVICE=”/dev/input/dvb-ir”

Lirc neustarten:

sudo /etc/init.d/lirc restart

Nun konfigurieren wir endlich die Fernbedienung und sagen lirc damit, was bei welchem Tastendruck passieren soll. Dazu stellt lirc eine Konfigurationsdatei namens .lircrc zur Verfügung, welche man einfach ins Home-Verzeichnis legen kann. In dieser Datei kann man für jedes Programm eigene Befehle für die Tasten festlegen, diese werden als ganz normaler Tastendruck im System verarbeitet. In der lircd.conf wurde für jede Taste ein eindeutiger Name vergeben, und diese Namen lassen sich in der .lircrc einfach ansprechen. Das sieht dann z.B. folgendermaßen aus:

begin
remote = irrecord.nova-T-usb
prog = mythtv
button = ArrowLeft
config = Left
end

In den meisten .lircrc-Dateien, die es im Internet zu dieser Fernbedienung gibt, werden viele der Sondertasten nicht ausreichend konfiguriert, deswegen habe ich mir die Arbeit gemacht und die Sondertasten folgendermaßen belegt:

  • Go -> Zurück zum Hauptmenü (Alt+G)
  • Power -> MythTV ein- und ausschalten (irexec muss dazu gestartet sein)
  • TV -> Zu den Aufnahmen (Alt+T)
  • Videos, Music und Pictures ist selbsterklärend (Alt+V,Alt+M,Alt+P)
  • Radio -> Zu MythStream (Alt+R)
  • Rot -> Audio-Kanäle durchschalten, dazu hier mehr
  • Gelb -> Filter (F)
  • Blau -> Informationen aufrufen (I)

So werden nahezu alle Tasten belegt und jede Funktion lässt sich mithilfe der Fernbedienung aufrufen. Die .lircrc-Datei von mir kann einfach folgendermaßen ins home-Verzeichnis geladen werden.

cd ~
wget http://myhome.i24.cc/.lircrc

Sobald man MythTV neugestartet hat, wird die Datei eingelesen und MythTV lässt sich komfortabel steuern.

Allerdings ist es noch nötig in MythTV selber in der Konfiguration unter “Tastenbelegung ändern” folgendes einzustellen (angeschlossene Tastatur oder VNC-Zugriff vorausgesetzt):
JumpPoints -> Main Menu: Alt+G
JumpPoints -> MythGallery: Alt+P
JumpPoints -> MythStream: Alt+S
JumpPoints -> MythVideo: Alt+V
JumpPoints -> Play music: Alt+M
JumpPoints -> Recording Playback: Alt+T

Audio-Kanäle

Mithilfe der roten Taste auf der Fernbedienung schalte ich zwischen den Kanälen “PCM” und “Line” hin und her. PCM (”Pulse Code Modulation”) ist der “Kanal”, welcher das digitale Audio-Signal im PC repräsentiert und “Line” entspricht dem Kanal, der die Line-In-Buchse repräsentiert. Nun habe ich ein Script namens toggleAudio geschrieben, welches diese beiden Kanäle jeweils an- und ausschaltet. Der “Line”-Kanal, ließ sich ganz einfach on und off schalten, wohingegen PCM sich nur über die Lautstärke an- und ausschalten lässt. Dazu war es nötig, die vorherige Lautstärke zwischenzuspeichern und diese beim nächsten Umschalten wieder zu setzen.

Das Script gibt’s hier: http://myhome.i24.cc/toggleAudio
Bei dem Script muss noch die numid angepasst werden, die sich unterscheiden könnte (in meinem Fall 28), diese lässt sich folgendermaßen herausfinden:

amixer contents | grep PCM

Die Zahl hinter “numid” tauscht man nun im Script einfach aus.
Das Script habe ich bei mir im Home-Verzeichnis abgelegt, mittels

chmod u+x ~/toggleAudio

macht mans ausführbar.

Sollte man das Script nicht im Home-Verzeichnis abgelegt haben, muss die .lircrc-Datei natürlich angepasst werden.

Remote Frontends

Um Frontends auf anderen Rechnern oder Laptops im Netzwerk starten zu können, ist es nötig, im Backend Setup, die IP anzugeben, die der HTPC im Netzwerk hat, ansonsten weist er die Verbindung ab und hört nur auf lokale Anfragen.

Nützlich ist die Funktion auf jeden Fall, so ist es immerhin nicht mehr nötig, in jedem Raum einen Fernseher aufzustellen, sondern man guckt einfach auf dem Notebook.

LCD

Das Antec-Gehäuse kommt mit einem 2×16-LCD daher. MythTV bringt eine sehr gute LCD-Unterstützung mit, alle wichtigen Informationen lassen sich auf dem LCD anzeigen, z.B. was gerade aufgenommen wird, welches Lied gerade spielt, der Fortschrittsbalken beim Aufnahme/Film gucken, Lautstärke, Uhrzeit, Datum u.v.m.

Allerdings muss erst das LCD eingerichtet werden, ich habs nach folgender Anleitung gemacht: http://venky.ws/projects/imon/#lcdproc

Bevor man LCDproc installiert, müssen noch erst folgende Vorbereitungen getroffen werden:

sudo apt-get install linux-headers-$(uname -r) linux-source autoconf automake

Nach der Installation von LCDproc muss man nur noch in der MythTV-Konfiguration das LCD einschalten.

LVM

Zusammenfassen zweier Festplatten in ein Dateisystem

Da ich das System anfangs mit einer 80 GiB-Festplatte eingerichtet habe und erst nachträglich eine 250 GiB-Festplatte hinzugefügt habe, bietet es sich an, die 2. Partition der 80 GiB-Festplatte mit der 250 GiB-Festplatte zu kombinieren. Dazu bietet sich LVM (Logical Volume Manager) an.

LVM besteht aus 3 Bereichen: Physical Volumes, Volume Groups und Logical Volumes. Die Physical Volumes stellen die speziellen Partitionen einer Festplatte dar, wovon zwei oder mehr zu Volume Groups zusammengefaßt werden können. Diese Volume Group ist erweiterbar, d.h. man kann einfach weitere Festplatten hinzufügen und der Volume Group anfügen. Das Logical Volume ist nun salopp gesagt eine Partition der Volume Group, die vom Betriebssystem einfach als Partition erkannt wird und gemounted werden kann. Auf diese Weise habe ich nun 290 GiB für /var/lib/mythtv zur Verfügung und kann den Speicher jederzeit erweitern.

Hier noch ein paar Links, die mir bei der Einrichtung enorm geholfen haben:

  1. Bisher keine Kommentare
  1. Bisher keine Trackbacks