Tvheadend
Tvheadend je linuxová služba, ktorá prevádza (transformuje) signál z DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV do sieťového streamu. Umožní Vám streamovať živé televízne vysielanie z Raspberry PI do akéhokoľvek zariadenia v sieti. Cieľom tohto tutoriálu je nastavanie Tvheadend servera na Raspberry PI, pre účely streamingu vstupného signálu v mojom prípade IPTV do domácej siete s možnosťou spracovania na XBMC klientovi.
Hardware
- Raspberry PI (256MB alebo 512MB verziu... ja mám tu slabšiu)
- Pamäťovú kartu (SanDisk 32GB micro SD a k tomu SD adapter alebo aku máte po ruke minimálne 4GB. Pre TimeShift a nahrávanie je lepšie voliť vačšiu veľkosť.)
- Napájací adaptér minimálne 1A. Ja používam tento 5V/1A spínaný adaptér.
- Klávesnica a myš (najlepšie bezdrôtovú) ide to aj bez s použitím putty.
OS
Za operačný systém som volil Raspbian (Wheezy), ktorý je možné stiahnuť odtiaľ. Po nainštalovaní je dobré rozšíriť root partíciu na celú SD kartu inak sa môže stať, že dôjde voľné miesto na karte.Po prihlásení zadať príkaz
raspi-config
zobrazí sa nasledujúca obrazovka kde vyberieme položku "expand_rootfs" potvrdíme voľbu a reštartujeme
začíname ...
pridanie kľúča príkazom curl http://apt.tvheadend.org/repo.gpg.key | sudo apt-key add -aktualizácia source listu sudo nano /etc/apt/sources.list
pridanie nového riadku deb http://apt.tvheadend.org/stable wheezy main
sudo apt-get update
Konfigurácia tvheadend servera
zadať http://<rasppi_ip>:9981
záložka Configuration -> General: nastaviť požadovaný jazyk a uložiť zmeny.
Pozn. výber jazyka slúži pre potreby EPG informácii, nie je to jazyk rozhrania.
záložka Configuration -> IPTV: s Add service postupne pridať jednotlivé stanice a priebežne to ukladať.
Channel name - názov stanice,
Interface - eth0,
Group - zadáva sa tu IP adresa stanice,
UDP Port - číslo portu príslušnej stanice
záložka Configuration -> EPG Grabber: dôležité je vybrať správny grabber v mojom prípada XMLTV: Slovakia. Tento súbor (modul) po inštalácii neexistuje a preto si ho treba vytvoriť priamo na Raspberry PI.
zadáme sudo nano /usr/bin/tv_grab_sk
#!/bin/sh
dflag=
vflag=
cflag=
if [ $# -lt 1 ]
then
wget -qO - "http://frantisheq.eu/tvguide/xmltv/sk.xmltv"
exit 0
fi
for arg
do
delim=""
case "$arg" in
#translate --gnu-long-options to -g (short options)
--description) args="${args}-d ";;
--version) args="${args}-v ";;
--capabilities) args="${args}-c ";;
#pass through anything else
*) [[ "${arg:0:1}" == "-" ]] || delim="\""
args="${args}${delim}${arg}${delim} ";;
esac
done
#Reset the positional parameters to the short options
eval set -- $args
while getopts "dvc" option
do
case $option in
d) dflag=1;;
v) vflag=1;;
c) cflag=1;;
\?) printf "unknown option: -%s\n" $OPTARG
printf "Usage: %s: [--description] [--version] [--capabilities] \n" $(basename $0)
exit 2
;;
esac >&2
done
if [ "$dflag" ]
then
printf "Slovakia\n"
fi
if [ "$vflag" ]
then
printf "0.1\n"
fi
if [ "$cflag" ]
then
printf "baseline\n"
fi
exit 0
Uložíme súbor (CTRL + X, Yes) a nastavíme súboru práva na to aby bol spustiteľný
sudo chmod 755 /usr/bin/tv_grab_sk
Reštatujeme tvheadend
zadáme sudo nano /usr/bin/tv_grab_sk
#!/bin/sh
dflag=
vflag=
cflag=
if [ $# -lt 1 ]
then
wget -qO - "http://frantisheq.eu/tvguide/xmltv/sk.xmltv"
exit 0
fi
for arg
do
delim=""
case "$arg" in
#translate --gnu-long-options to -g (short options)
--description) args="${args}-d ";;
--version) args="${args}-v ";;
--capabilities) args="${args}-c ";;
#pass through anything else
*) [[ "${arg:0:1}" == "-" ]] || delim="\""
args="${args}${delim}${arg}${delim} ";;
esac
done
#Reset the positional parameters to the short options
eval set -- $args
while getopts "dvc" option
do
case $option in
d) dflag=1;;
v) vflag=1;;
c) cflag=1;;
\?) printf "unknown option: -%s\n" $OPTARG
printf "Usage: %s: [--description] [--version] [--capabilities] \n" $(basename $0)
exit 2
;;
esac >&2
done
if [ "$dflag" ]
then
printf "Slovakia\n"
fi
if [ "$vflag" ]
then
printf "0.1\n"
fi
if [ "$cflag" ]
then
printf "baseline\n"
fi
exit 0
Uložíme súbor (CTRL + X, Yes) a nastavíme súboru práva na to aby bol spustiteľný
sudo chmod 755 /usr/bin/tv_grab_sk
Reštatujeme tvheadend
Ak je všetko OK t.j EPG sa načítalo na záložke Electronic Program Guide sa zobrazí kompletná programová ponuka.
Existujú aj alternatívy ďalsích programov pre Android ako je TV Guide TIVIKO alebo TVHGuide.
Ahoj,
OdpovedaťOdstrániťMam troska problem s tymto postupom.
V tej najnovsej verzii z https://github.com/tvheadend/tvheadend.git mi vobec neponukalo nastavenie IPTV. :-(
Potom som z https://github.com/tvheadend/tvheadend/tree/release/3.6 stiahol a prekompiloval verziu 3.6, ktora mi uz IPTV transformuje do sietoveho streamu, ale problem mam s EPG.
Pouzil som script /usr/local/bin/tv_grab_sk co mas tu uvedeny.
A zmenil som tam:
wget -qO – “http://xmltv.frantisheq.eu/sk.xmltv“
na toto:
wget -qO - "http://frantisheq.eu/tvguide/xmltv/sk.xmltv"
Pretoze ten povodny odkaz boll uz nefunkcny.
Umiestnil som ho ako pises tu: /usr/local/bin/tv_grab_sk
Ale v Internal Graber:
Module: mi neponukne nastavit XMLTV: Slovakia
(v podstate ponuka iba none)
Nasledne som dalej experimentoval, a v ramci toho som presiel na verziu TVHeadend 3.4
V ramci toho som nasiel jednoduchsi sposob instalacie:
- odpada manualne vytvaranie uzivatela a skupiny
- odpada manualne vytvaranie suboru /etc/init.d/tvheadend s pravami a nastavovanim auto startu
Zaroven uz funguje nastavenie EPG grabrov (aj nejake uz ponuka) aj ked ich umiestnenie je v /usr/bin/tv_grab_
No aj ked uz to nastavenie funguje tak script co tu uvadzas tv_grab_sk aj po mojej uprave je nadalej nefunkcny.
Vedel by si mi s tym EPG grabrom nejako helfnut ?
Mas nejaku novsiu verziu toho scriptu ?
(v nasledujucom prispevku uvediem moj postup instalacie zatial bez EPG)
Instalacia Raspbian
OdpovedaťOdstrániť1. Nainstaluj Raspbian "wheezy" (http://www.raspberrypi.org/downloads/)
+ pripadne expanduj filesystem - maximalizuj dostupne miesto na SD
Updatovanie Raspbian
2. Naloguj sa na konzolu
3. Zadaj: sudo apt-get update
4. Zadaj: sudo apt-get dist-upgrade
Instalacia TVHeadend
5. Zadaj: sudo curl http://apt.tvheadend.org/repo.gpg.key | sudo apt-key add -
6. Zadaj: sudo nano /etc/apt/sources.list
7. Dopln na novy riadok: deb http://apt.tvheadend.org/stable wheezy main
8. Zadaj: sudo apt-get update
9. Zadaj: sudo apt-get install tvheadend
- odpovedaj 'yes' na pripadne otazky ....
- nastav tvheadend admin uzivatela a heslo ak sa bude pytat
Konfiguracia TVHeadend
10. V prehliadaci otvor: http://:9981
11. V zalozke Configuration -> DVB Inputs -> IPTV: pomocou 'Add service'
postupne pridaj jednotlive stanice a priebezne to ukladaj:
* Channel name - nazov stanice,
* Interface - eth0,
* Group - zadava sa tu IP adresa stanice,
* UDP Port - cislo portu prislusnej stanice
(dufam, ze som sa nikde nesekol a na nic som nezabudol)