Heute wollen wir euch zeigen, wie man aus dem Hummingboard i2eX einen perfekten TVServer bauen kann. Dieser wird auf Debian mit TVHeadend basieren.
Was wir dazu verwendet haben:
- SolidRun Hummingboard i2eX
- Kingston mSATA SSD
- 8GB SD-Karte
- 2 x Sundtek DVB-C Stick (können auch DVB-S oder T sein)
- 4 Port USB Hub mit Netzteil
TVHeadend hat uns als TV Backend bisher am besten gefallen. Er ist super einfach zu Konfigurieren und sehr zuverlässig. Er bietet uns eine schöne iOS App, beherrscht perfekt Aufnahmen Planung, wie automatische Suche im EPG etc.
Als erstes fangen wir mit dem passenden OS an. Aktuell zeigt sich das Debian Image von Igor Pečovnik als das zuverlässigste und schnellste. Echt Top Arbeit! Danke nochmals. Dieses könnt ihr direkt auf seiner Webseite herunterladen: http://www.igorpecovnik.com/2014/08/19/cubox-i-hummingboard-debian-sd-image/
Dort ist auch ein kleiner Donate Button 😉
Dieses Image kopieren wir wie immer auf die SD-Karte. Entweder per DD oder dem win32 Diskimager.
Während des kopierens, könnt ihr schon die SSD auf die Rückseite des HummingBoards montieren. Falls ihr die passenden Schrauben sucht, dies sind M2,5. Z.B. bei uns im Shop.
Wenn ihr das Image von Igor das erste Mal booted, wird es automatisch die komplette Größe der SD-Karte ausnutzen.
Der erste Login erfolgt mit root und Passwort 1234. Danach werdet ihr direkt aufgefordert das Passwort zu ändern.
Als erstes legen wir uns ein Dateisystem auf der SSD an.
fdisk /dev/sda
p -> Sollte keine Partitionen liefern.
Ansonsten die vorhandenen Partitionen mit d löschen.
die neuen legen wir über
n -> p -> enter -> enter -> enter -> w
an.
Nun noch das Dateisystem mit
mkfs.ext4 /dev/sda1
anlegen.
Ich persönlich mounte die SSD unter /mnt/ssd wie folgt:
mkdir /mnt/ssd
danach die /etc/fstab anpassen und folgenden Eintrag hinzufügen:
/dev/sda1 /mnt/ssd ext4 defaults,noatime,nodiratime,data=writeback,commit=600,errors=remount-ro 0 0
per „mount /mnt/ssd“ mounten. Per „mount“ überprüfen. Dort sollte /dev/sda1 unter /mnt/ssd gelistet sein
Nun zur Software. Als erstes sollten wir die Paketlisten per
apt-get update
aktualisieren.
Alle Pakete aktualisieren über
apt-get upgrade
Für TVHeadend fügen wir uns das passende Repository hinzu. Dazu /etc/apt/sources.list editieren und folgende Zeile hinzufügen:
deb http://apt.tvheadend.org/stable wheezy main
Dem Repository sollten wir auch vertrauen, daher:
wget http://apt.tvheadend.org/repo.gpg.key
apt-key add repo.gpg.key
Nun wieder die Paketlisten einlesen über
apt-get update
Jetzt können wir endlich TVHeadend installieren.
apt-get install tvheadend
Die Installation fragt euch nach einem administrator Benutzer und Passwort. Denn falls ihr, z.B. für die HandyApp den Port des TVHeadend ins Internet freigebt, sollte nicht jeder drauf kommen. 🙂
Nun teilt euch TVHeadend noch seinen Standardport 9981 mit:
Hierüber erreicht ihr später das Webinterface.
Fertig ist die Installation.
Aber wir benötigen noch die Tuner. Wir haben uns für die USB-Tuner von Sundtek entschieden, diese bieten einen perfekten Linux Support.
Die Treiber installieren wir, indem wir dieses Script ausführen:
wget http://www.sundtek.de/media/sundtek_netinst.sh
chmod +x sundtek_netinst.sh
./sundtek_netinst.sh
Das Script von Sundtek lädt automatisch die passenden Treiber und installiert diese.
Wir können nun die USB Tuner anschließen. In unseren Tests hat sich gezeigt, dass ihr unbedingt einen USB-Hub mit Netzteil nutzen solltet. Die Sticks benötigen jede Menge Strom (besonders DVB-S Varianten) dies führt direkt am Hummingboard oder jeder anderen Hardware zu Instabilitäten.
Nach einem reboot solltet ihr die Tuner hier finden: /dev/dvb
Die SSD haben wir für den TimeShift und Recordings Ordner vorgesehen. Daher legen wir die passenden Ordner direkt an:
mkdir /mnt/ssd/timeshift
mkdir /mnt/ssd/recording
Den Rest erledigen wir im TVHeadend Webinterface: http://hostname:9981
Zunächst müssen wir die Tuner einrichten. Dies geschieht unter Configuration -> DVB Inputs -> TV Adapters.
Im DropDown den ersten Tuner auswählen.
Der Einfachheit benennen wir diesen um und hängen eine 0 an, damit wir beide unterscheiden können. Am zweiten dann die 1. So wie es rechts in den Hardwaredetails steht.
Beide Tuner aktivieren wir über den Haken enable.
Jetzt fehlt dem Tuner noch das passende DVB Network
In unserem Fall Unitymedia, damit erhält TVHeadend die Frequenzen auf denen er suchen muss
Die Config speichern.
Der Status auf der rechten Seite sollte sich direkt ändern:
oder direkt im Reiter Status:
TVHeadend beginnt die Sender zu suchen.
Das gleiche Wiederholen wir natürlich für den zweiten Tuner oder für die restlichen.
Unter Configuration -> DVB Inputs -> TV Adapters -> Adapter 0 -> Services sollten nun langsam die Sender einlaufen. Kleiner Tipp, wartet bis der Scan durch ist, sonst bekommt ihr alle 2 sek einen AutoRefresh auf die Liste. Da macht das mapping absolut keinen Spaß! (In der neuen Version kann man diesen Refresh abschalten ;-))
Jetzt beginnt die Fleißarbeit! Kanalzuordnung. Wählt den passenden Kanal aus und wählt Map selected.
Danach natürlich Save changes!
VORSICHT! Dies müsst ihr für BEIDE bzw. ALLE Adapter einzeln erledigen! In der neuen Version (unstable) ist dies eine gemeinsame Config. Wer die neue Version schon testen möchte, kann dies tun, indem er in /etc/apt/sources.list
deb http://apt.tvheadend.org/unstable wheezy main
einträgt. Aber dann beschwert euch nicht über Bugs! 😉
Wenn ihr eure Sender gesammelt habt, können wir diese testen. Dafür nutzen wir den VLC Player.
Ihr wählt „Open Networkstream“
URL: http://hostname:9981/playlist/channels
In der Wiedergabeliste sollten alle eure Kanäle auftauchen. Natürlich sollten wir auch direkt ein LiveBild erhalten.
Zum Leistungstest haben wir auf beiden Tunern Das Erste HD und ZDF HD gemapped. Wir starten zwei VLC und verbinden uns einmal auf Das Erste HD und einmal auf ZDF HD. Das schafft das Hummingboard Problemlos. Damit müssen beide Tuner HD liefern. Weitere Verbindungen auf die Tuner liefen auch ruckelfrei.
Das EPG wird sich mit der Zeit auch füllen. Einfach etwas Geduld.
Kommen wir zum Recording und Timeshift.
Für die Recording Einstellungen gehen wir unter: Configuration -> Recording -> Digital Video Recorder
Wir ändern den Pfad in unseren angelegten auf der SSD: /mnt/ssd/recording
DVR Log retention auf 900 Tage (sonst vergisst TVHeadend nach 31 Tagen eure Aufnahme (aber löscht sie nicht))
Extra time before recordings -> 5
Extra time after recordings -> 5 (die meisten Sender sind beim EPG nicht allzugenau, daher etwas Luft für die Aufnahmen einplanen)
Die restlichen Haken sind Geschmackssache 🙂
und natürlich Save config.
Für die Timeshift Einstellungen gehen wir unter: Configuration -> Recording -> Timeshift
Natürlich geben wir wieder unseren Pfad auf die SSD an: /mnt/ssd/timeshift
Der Haken ondemand sorgt dafür, ob das Timeshift nur beim anfordern oder immer ausgeführt wird.
Wieder Save Config.
Damit ist unser TVHeadend Server schon fertig.
Als Clients empfehlen wir OpenELEC mit Live TV Plugin für den TVHeadend. Natürlich auf einer CuBox oder dem Hummingboard.
Zu beachten gilt es dafür nur folgendes:
- Vergebt jedem Kanal eine eindeutige Nummer!
- In den LiveTV Einstellungen auswählen, dass die Kanalnummern des Backends genutzt werden sollen
Als App für TVHeadend auf iOS empfehlen wir euch TVH Client. Damit könnt ihr super einfach Aufnahmen planen.
Solltet ihr eine SmartCard haben und wollt diese nutzen, könnt ihr euch entweder das passende CI Modul suchen, oder in der Grauzone nach OSCAM und einem Smargo Reader googeln.
Wie wir das ganze ordentlich montiert haben, zeigen wir euch demnächst im Blog!