MythTV-Konfiguration
Es empfiehlt sich, das Mythtv-Usermanual zu lesen. Sehr nützlich sind auch die Howtos zu bestimmten Themen.
MythTV trennt streng zwischen Frontend (LiveTV und Filme schauen) und Backend (SAT-Karte ansteuern für TV und zeitgesteuerte Aufnahmen). Man kann damit z.B. Systeme mit gut ausgebautem Backend als Server (welcher aufgeräumt z.B. im Keller stehen kann) und mehreren kleinen und leisen Frontends bauen.
Das hier vorgestellte System ist ein kombiniertes Front- und Backend, beides läuft auf demselben System. Es versorgt momentan keine weiteren Frontends, so dass sich das System ausschalten kann, wenn es nicht benutzt wird und keine Aufnahme läuft.
TV-Karten konfigurieren und Sender suchen
Die wichtigste Einstellung, welche man wohl als erstes vornehmen wird, ist die Einrichtung der TV-Karten und das Durchführen eines Sendersuchlaufes. Dies geschieht im Backend-Setup und verläuft in drei Schritten: TV-Karten (Capture Cards), Videoquellen (Video Sources) und Verknüpfungen (Input Connections). Eine deutschsprachige, kurze Anleitung zur Einrichtung findet sich z.B. im Ubuntuusers-Wiki.
Ich habe dies folgendermaßen eingerichtet:
Capture Cards
Für die Twin-Tuner Karte 2 Capture Cards einrichten.
Video Sources
Video Sources sind dazu da, EPG-Informationen zuzuordnen. Dies muß man nur einmal für jede Art des Empfangs machen. Für den SAT-Empfang genügt es also, eine Video Source einzurichten. Diese kann man dann z.B. "Videosource-DVB-S2" nennen.
Input Connections
Es werden 2 Input Connections eingerichtet und jede der beiden mit der Videosource-DVB-S2 verbunden.
Ein- und Ausschalten des Systems
Das Einschalten des Systems per Fernbedienung stellt kein Problem dar. Das Antec Fusion-Gehäuse unterstützt dieses Feature bereits. Dazu muß man das Power-Kabel wie in der Anleitung beschrieben verbinden. Der rote Power-Knopf rechts oben auf der Fernbedienung schaltet das Gerät dann ein, ohne dass eine weitere Konfiguration nötig ist.
Komplizierter wird es, wenn sich das System zeitgesteuert von selbst einschalten soll, was für Timeraufnahmen nötig ist. Hierzu muß das System die geplante Aufwachzeit vor dem Herunterfahren im BIOS programmieren. Wie dies zu konfigurieren ist, ist stark vom BIOS und Motherboard abhängig. Hierzu befolgt man am besten die Anleitung im MythTV-Wiki zum ACPI Wakeup.
Auf meinem System war die wichtigste Einstellung dazu: hpet=disable als Option beim booten des Kernels anzugeben. Dies kann man zum einmaligen Testen beim starten von grub als Option hinzufügen (Taste "e" für edit drücken und die Kernel-Parameter ergänzen).
Dauerhaft richtet man dies ein, indem man die Option in der Datei /etc/default/grub hinzufügt. Auf meinem System lautete die Zeile dann so:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash hpet=disable"
Um dies wirksam werden zu lassen, "sudo update-grub" ausführen).
Mit diesen Befehlen kann das automatische Aufwachen getestet werden:
sudo sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
sudo sh -c "echo `date '+%s' -d '+ 5 minutes'` > /sys/class/rtc/rtc0/wakealarm"
cat /sys/class/rtc/rtc0/wakealarm
sudo shutdown -h now
Wenn dies funktioniert, dann kann man die Datei /usr/bin/setwakeup.sh wie in der ACPI Wakeup-Anleitung angegeben erstellen.
Mythwelcome
Wenn Front- und Backend auf separaten Systemen laufen, kann jedes für sich entscheiden, ob es gerade aktiv ist oder sich abschalten kann. Laufen beide auf demselben Computer, so ist eine weitere Instanz notwendig, die zwischen den beiden Komponenten vermittelt und die Entscheidung zur Abschaltung trifft. Diese Instanz heißt MythWelcome und präsentiert dem Benutzer einen Status-Bildschirm, der Auskunft darüber gibt, ob gerade Aufnahmen laufen und wann die nächste geplante Aufnahme stattfindet.
Mythwelcome aktiviert man, indem man die folgende Zeile in der Datei /etc/mythtv/session-settings aktiviert (Kommentarzeichen entfernen):
MYTHWELCOME=true
In Mythwelcome kommt man mit der Taste "m" ins Menü und der Taste "i" in einen Setup-Screen.
Einstellungen im Setup ("i"):
- Mythfrontend automatisch starten
Einstellungen für MythSutdown/Mythwelcome (F11):
- Befehl um Weckzeit zu setzen: sudo sh -c "/usr/bin/setwakeup.sh $time"
- Format der Weckzeit: time_t
- nvram-wakeup Neustart Befehl: (leer)
- Befehl zum Neustart: /sbin/reboot
- Befehl zum Herunterfahren: sudo shutdown -h now
- Befehl zum Starten von Xterm: xterm
- Befehl um das Frontend zu starten: /usr/bin/mythfrontend
Ausschaltoptionen im Backend-Setup
Im Backend werden im Wesentlichen die Satellitenkarten eingerichtet und die Sendertabelle erstellt. Aber auch die Ein/Ausschalt-Optionen im Zusammenspiel mit Mythwelcome:
Unter Allgemeines, Optionen sollten die folgenden Einstellungen gemacht werden:
- Auf Frontend warten: nicht abgehakt
- max Leerlaufzeit (Sek.): 60 (zum testen so klein)
- Wartezeit zw. zwei Aufnahmen (Min.): 10
- Startzeit (Sek.): 120 (im Betrieb vielleicht etwas vergrößern)
- Format der Weckzeit: yyy-MM-ddThh:mm:ss
- Befehl zum Weckzeit setzen: mythshutdown --setwakeup $time
- Abschaltbefehl: mythshutdown --shutdown
- Abschalt-Testprogramm: mythshutdown --check
Komfortableres Ausschalten mit der Fernbedienung
Was mir persönlich etwas ungewohnt am Konzept von MythTV vorkam, ist die Tatsache, dass man zum Ausschalten des Systems die MythTV-Oberfläche (das Frontend) beenden muß, z.B. in dem man die Escape-Taste (oder den entsprechenden Knopf auf der Fernbedienung) so oft drückt, bis man damit im Hauptmenü die Beendigung des Programmes auslöst. Falls nicht anders konfiguriert, muß man hier sogar das Beenden noch in einem Dialog bestätigen. Von Wohnzimmerelektronik ist man es dagegen gewohnt, dass ein einfaches Drücken des Powerknopfes genügt. Doch natürlich lässt sich dies bei MythTV auch einrichten:
Hierzu einfach das folgende Skript z.B. in /usr/local/bin/mythpowerbutton.sh mit folgendem Inhalt erstellen (und executable machen):
#!/bin/bash
PROG=mythfrontend.real
STATUS=`ps -e | grep $PROG | grep -v grep | wc -l | awk '{print $1}'`
if [ `echo $DISPLAY | grep -c ":0"` -ge 1 ]
then
if [ $STATUS -eq 0 ]
then
( $PROG & )
else
killall $PROG
fi
fi
exit 0
(Quelle: http://wilsonet.com/mythtv/tips.php, allerdings habe ich die zweite Zeile leicht abgeändert: mythfrontend.real statt nur mythfrontend)
Zuerst kam mir das Prinzip komisch vor, das Frontend so "hart" zu beenden. Aber vom Konzept her ist das bei MythTV durchaus korrekt. Die Kontrolle fällt damit zurück an Mythwelcome, welches dann entscheidet, ob das System heruntergefahren werden kann und welches sich um das programmierte Aufwachen für Timer-Aufnahmen kümmert. Falls das Backend gerade etwas aufnimmt, wird dies vom Beenden des Frontends nicht beeinflusst.
Ausschalten mit dem Gehäuseknopf
Die oben beschriebene Ausschaltfunktion kann man auch ganz leicht auf den Gehäuse-Ein/Ausschaltknopf legen. Dazu einfach die letzte Zeile in /etc/acpi/powerbtn.sh durch den Aufruf des mythpowerbutton.sh-Skriptes ersetzen:
#/sbin/shutdown -h now "Powerbutton pressed" # alte Zeile
/usr/local/bin/mythpowerbutton.sh
Suspend statt shutdown
Die oben beschriebenen Einstellungen fahren das System beim "Ausschalten" immer komplett herunter und es muss dann natürlich auch immer den kompletten Bootvorgang durchlaufen. Dies dauert bei mir zwar nur max. 1 Minute, das ist aber immer noch wesentlich länger als sonst übliche Wohnzimmerelektronik. Schneller ginge es, wenn stattdessen der Suspend-to-RAM Modus (oder auch ACPI S3-Zustand) benutzt würde. Das System braucht dann nur noch max. 5 Sekunden, um zu starten.
Allerdings funktioniert bei mir nach dem Aufwachen aus Suspend der Empfang nicht mehr. Ich vermute, dass dies daran liegt, dass der TBS-Treiber oder ähnliches nach dem Aufwachen nicht korrekt initialisiert wird, bzw. die Hardware nicht korrekt initialisiert. Wahrscheinlich kann man dies zum Funktionieren bringen, indem man die entsprechenden Kernelmodule vor dem suspend "entlädt", so dass sie nach dem Aufwachen neu geladen und initialsiert werden. Daran arbeite ich momentan noch.
Weitere Einstellungen im Backend
xmltv EPG
Die EPG-Daten (Electronic Program Guide: Elektronische Programmzeitschrift) per EIT (Daten, die direkt vom Sender mitgesendet werden) sind manchmal etwas allgemein gehalten. Man kann deswegen die Daten auch von Internetseiten grabben. Das habe ich allerdings noch nicht ausprobiert, es steht aber auf meiner Todo-Liste. Desweiteren gibt es auch komerzielle Anbieter von EPG-Daten, die ebenfalls eingebunden werden können. Allerdings ist mir nicht bekannt, ob so etwas auch in Deutschland für Privatanwender angeboten wird.
Weitere Einstellungen im Frontend
Hier werde ich einige Einstellungen beschreiben, die man unbedingt im Frontend vornehmen sollte.
Ich beschreibe die Einträge z.B. in der Form Konfiguration->TV->Allgemeines, d.h. man findet die Einstellungsseite im Menü Konfiguration, dann unter dem Menüpunkt TV und weiter unter Allgemeines.
Wichtige Einstellungen zur optimalen Bildwiedergabe
Die beste Bewegtbilddarstellung bekommt man, wenn die Bildwiedergabefrequenz auf die Bildfrequenz des gesendeten Materials abgestimmt ist, d.h. die gleiche ist oder ein ganzzahliges Vielfaches davon. Wenn z.B. SD-Sendungen mit 50Hz interlaced gesendet wird, sollte der Fernseher auch mit 50Hz Bildwiederholfrequenz betrieben werden, z.B. im Modus 1080p@50Hz. Dies kann man durch folgende 2 Einstellungen erreichen (dies wird in der Sektion JudderFree im MythTV-Wiki erklärt):
1) Konfiguration->Erscheinungsbild->Bildschirmeinstellungen(2):
"Getrennte Einstellungen für GUI und TV-Wiedergabe" aktivieren.
GUI: 1920x1080
Videoauflösung: 1920x1080
Bildwiederholfrequenz: jede
Seitenverhältnis: Standard
2) Unbedingt notwendig ist auch das ausschalten der Option "Force Full GPU scaling" im Programm nvidia-settings, bei mir unter GPU0 - DFP0 zufinden.
Diese Einstellungen gelten für meinen FullHD LCD-Fernseher, ein LG 42LH9000. Ale diese noch nicht aktiviert war, wurde der Fernseher mit 1080p@60Hz angesteuert.
Desweiteren empfiehlt es sich Konfiguration->TV->Wiedergabe: "Nutze OpenGL Vertikalsynchr." anzuschalten, um Tearing und Flackern zu vermeiden.
Weitere Einstellungen
Konfiguration->TV->Allgemeines: "Konflikte zwischen LiveTV und geplanten Aufnahmen vermeiden"
Diesen Punkt sollte man aktivieren, sonst kann es passieren, dass eine Aufnahme läuft und im LiveTV kann man nicht mehr direkt auf ein anderes Programm umschalten, sondern hängt bei Sendern eines Bouquets fest. Umschalten geht in diesem Fall nur, wenn man vorher manuell auf mit der Taste "Y" den Tuner wechselt. Dies halte ich jedoch aus Benutzersicht zu umständlich. Daher empfehle ich, diesen Punkt zu aktivieren.
Direkt darunter ist die Option "Erlaube LiveTV geplante Aufnahmen zu verschieben"
Dies hilft vermutlich auch das LiveTV-Erlebnis zu verbessern. LiveTV schauen bekommt dadurch Priorität vor Aufnahmen, die gerade gemacht werden. MythTV kann dann die laufende Aufnahme abbrechen, falls es festgestellt hat, dass dieselbe Sendung zu einem späteren Zeitpunkt erneut gesendet wird und dann aufgenommen werden kann.