- A meglévő ethernet hálózat használató a TV adáshoz
- A timeshift funkcióval "megállítható, visszatekerhető" az élő adás
- A felvételekhez nem kell a tv és lejátszhatóak bármelyik eszközön
- Az élő adás nem csak a tv készüléken, hanem számítógépen, projektoron is nézhető.
Szervernek és kliensnek egyaránt Raspberry Pi eszközöket használok, DVB-C tunerként 2 db MyGica T230 dolgozik.
Tvheadend server
Telepítés
A tvheadend szervert Raspbianra érdemes telepíteni. A legfrissebb imagek letötlhetőek a rasperry pi foundation oldaláról ezeket simán ki lehet írni egy megfelelő SD kártyára. Legalább 16GB-os és legalább class 10 sebességű kártyát érdemes használni.
unzip 2016-05-27-raspbian-jessie.zip
dd if=2016-05-27-raspbian-jessie.img of=/dev/mmcblk0
A raspbian hivatalos tárolójában nem található meg a tvheadend, ezért külső tárolót kell használni. A hivatalos tároló armhf-re sajnos gyakran elérhetetlen vagy elavult, ezért egy nem hivatalos repository-t is használok. A források:
# tvheadend for raspberry, official repo
deb https://dl.bintray.com/tvheadend/deb/ jessie release
# tvheadend for raspberry, community repo
deb https://dl.bintray.com/djbenson/deb wheezy stable
A tvheadend mellett még a dvb-tools csomagra van szükség, ezt a Raspbian tartalmazza.
apt-get install tvheadend dvb-tools
A tvheadend telepítésén a dpkg automatikusan végigvezet, az itt megadott felhasználónévre és jelszóra lesz szükség az online felületre belépéshez. A felület a 9981-es porton érhető el.
A tunerek beállítása
A tunerekhez driver telepítése nem szükséges. Bekapcsoláskor DVB-T tunerként viselkednek, a tvheadend is így fogja felismerni őket. Üzemmódot a dvb-fe-tool segítségével lehet átllítani, erre szükség is van a DVB-C adás vételéhez.
# Change adapter 0 to DVB-C mode
dvb-fe-tool -a 0 --set-delsys=DVBC/ANNEX_A
Mivel az üzemmódváltást a tunerek minden bekapcsolásakor el kell végezni, én egyszerűen a tvheadend szolgáltatás indítószkriptjében oldottam ezt meg. A /etc/init.d/tvheadend módosított része:
#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
udevadm settle
# Nasty hack for using DVB-C
dvb-fe-tool --adapter=0 -f 0 --set-delsys=DVBC/ANNEX_A
dvb-fe-tool --adapter=1 -f 0 --set-delsys=DVBC/ANNEX_A
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$ARGS \
|| return 2
}
Minden további beállítást már a tvheadend grafikus felületén el lehet végezni. Az egyetlen félrevezető dolog talán, hogy a klienseknek mindenképpen egy új felhasználót kell létrehozni, a telepítéskor megadott csak az adminisztrációs felületre való belépésre alkalmas. A tvheadeand beállításához a kodi és az openELEC wikiben egyaránt részletesen írnak.

OpenELEC kliens
Telepítés és beállítás
A TV műsor lejátszásához Raspberry Pi 2-ket használok OpenELEC segítségével, bár a Raspberry Pi foundation már a LibreELEC-et ajánlja. A lemezképek az OpenELEC honlapjáról tölthetőek le. Az SD-kártya készítése ugyan úgy zajlik mint a Raspbian esetében, további telepítésre viszont nincs szükség. Az élő TV adás megtekintéséhez a "Tvheadend Kodi PVR" addon-t kell beállítani, ezt az OpenELEC alapértelmezésben tartalmazza.


Beállítás után a menüben megjelenik a TV menüpont, ahol aztán válogathatunk is a TV adások között.
Az adás bármilyen más eszközről is nézhető amire csak Kodit telepíteni lehet. Ubuntu esetében pl. a kodi és a kodi-pvr-hts csomagokra van szükség, utóbbi a tvheadend addont tartalmazza.
sudo apt-get install kodi kodi-pvr-hts
Adatbázis tisztítása
Sajnos a Kodi adatbázisa elég rosszul viselkedik. Ha élő adásokat nézünk, megtelik egyébként használhatatlan nézettségi adatokkal, és ettől fokozatosan lelassul a rendszer. Ez különösen a már letörölt filmek eltüntetését szolgáló "adatbázis takarítása" funkció használatakor vehető észre, ennek a végrehajtása néhány percről több órára is megnövekszik. Szerencsére a problémáról a Kodi fórumon is tudnak és készült is rá egy addon, ami szükség esetén rendbe teszi az adatbázist. A Video Database Cleaner Addon a Black Pudding tárolóból tölthető le, a tárolót pedig a benne elérhető repository.BlackPudding.zip fáj segítségével telepíthető. A kiegészítő futtatása után a Kodi ismét eredeti sebességével fog működni.
MPEG-2 licence kulcs
Raspberry Pi esetén még egy további probléma merül fel: A TV adások MPEG-2 kódolással jönnek, ezt pedig hardveres gyorsítás nélkül a Pi2 nem igazán képes kezelni. Ha a képnek semmilyen utófeldolgozására nincs szükség akkor licence kulcs nélkül is többé-kevésbé elboldogul, de például a szükség esetén automatikusan bekapcsolódó váltott-sorosság mentesítés már lemaradó képet, széteső hangot fog okozni. Szerencsére az OpenELEC képes kihasználni a hardveres MPEG-2 dekódolást és tökéletes képet biztosítani, ehhez viszont egy MPEG-2 licence kulcsra van szükség, ilyet a https://www.raspberrypi.com oldalon vásárolhatunk.
A kulcs megvásárlásához a CPU sorozatszámára lesz szükség, ezt SSH-n keresztül lehet megszerezni az OpenELEC-el ellátott Raspberriből:
ssh 192.168.1.18 -l root
# Password: openelec
cat /proc/cpuinfo
(A példában 192.168.1.18 a lejátszó IP címe. Ez a Rendszer/OpenELEC/Kapcsolatok menüpontban megtalálható. A felhasználónév és jelszó mindig root/openelec.)
Ha a vásárolt licence kulcs megérkezett, az SD kártya boot partícióján található config.txt-ben kell elhelyezni. Legegyszerűbb szintén SSH-n keresztül:
ssh 192.168.1.18 -l root
# Password: openelec
mount -o remount,rw /flash
nano /flash/config.txt
reboot
A fájlban az egy sort kell módosítani:
(0xABCD1234 a kapott licence kulcs, a # törlése fontos)
Régi:
# decode_MPG2=0x00000000
Új:
decode_MPG2=0xABCD1234
Újraindítás után a hardveres MPEG-2 feldolgozásnak már működnie kell.