Tvheadend topic deel 1 |
Inhoudsopgave:
Tvheadend is een linux service welke het mogelijk maakt om met behulp van (digitale) TV kaarten (digitale) televisie te kunnen ontvangen, opnemen en te streamen op een netwerk. Het ondersteund het importeren van EPG gegevens volgens de XMLTV standaard welke dan gebruikt kunnen worden om opnamen te plannen. Het geheel is te beheren en configureren via een krachtige Web GUI.
Het is ontwikkeld door Andreas Öman en de ontwikkeling is al reeds in 2006 gestart. Tvheadend is de backend voor de Showtime Media player welke in combinatie met Tvheadend het mogelijk maakt om Live Televisie te kijken op een Linux machine. Samen vormen ze het "Home Theater System" of te wel HTS. Tvheadend kan ook gewoon los gebruikt worden en maakt gebruik van HTSP (Home TV Streaming Protocol) om met andere clients te communiceren. Naast de Showtime media player is er sinds de introductie van XBMC 9.11 ook een HTSP client ingebouwd in XBMC. Hierdoor is de belangstelling voor Tvheadend enorm toegenomen. (Google Trends grafiek voor TV Headend http://www.google.com/tre...d&ctab=0&geo=all&date=ytd)
De laatste versie van Tvheadend (versie 2.11) kan gedownload worden op deze locatie:
http://www.lonelycoder.com/hts/tvheadend_download.html
Hier vindt je .deb bestanden voor Debian en Ubuntu en de volledige source code voor TV Headend in de vorm van een tar.gz file. Ook kan je de source code van de laatste release versie (2.11) downloaden vanaf de TV Headend SVN server op de volgende locatie:
svn://svn.lonelycoder.com/hts/releases/hts-tvheadend-2.11/
Hieronder staat een beschrijving van de installatie van Tvheadend onder verschillende linux distributie's
Debian/Ubuntu
Naast de installatie door middel van het downloaden van de .deb bestanden van de hier boven beschreven locatie is er ook een HTS repository waar de laatste release versie's van Tvheadend en Showtime op staan.
Om deze repostitory te gebruiken moet je de volgende regel toevoegen aan de /etc/apt/sources.list of maak je gebruik van het Software Source programma om deze toe te voegen.
deb http://www.lonelycoder.com/debian hts main
Om deze repository te gebruiken moet je ook de public key toevoegen van deze repository. Deze kan je vinden op deze locatie: http://www.lonelycoder.com/public.key
Als deze repository is toegevoegd moet je de software package lijst up to date maken:
sudo apt-get update
Nu kan je Tvheadend instaleren via Aptitude, Synaptic of vanaf de command line
sudo apt-get install hts-tvheadend
Tijdens de installatie vraagt Tvheadend om een gebruikers naam en wachtwoord. Dit is de "master" gebruikers naam en wachtwoord voor toegang tot de Tvheadend Web GUI. Deze is NIET aan te passen vanuit de Web GUI. Mocht je een andere master user/wachtwoord willen hebben dan kan deze veranderen door het volgende command te geven.
sudo dpkg-reconfigure hts-tvheadend
Nu is Tvheadend geinstalleerd en kan je de GUI bereiken via http://<server ip>:9981/.
Als het nodig is om de Tvheadend opstart parameters aan te passen dan kan je dit doen door het volgende bestand aan te maken
sudo touch /etc/defaults/tvheadend
In dit bestand kan je de opstart parameters kwijt welke je wilt gebruiken. De standaard opstart parameters zijn:
DAEMON_ARGS="-f -u hts -g video"
Hieronder een lijst met de verschillende opstart argumenten en wat ze doen:
HTS Tvheadend 2.11 usage: tvheadend [options] -a <adapters> Use only DVB adapters specified (csv) -c <directory> Alternate configuration path. Defaults to $HOME/.hts/tvheadend -f Fork and daemonize -u <username> Run as user <username>, only works with -f -g <groupname> Run as group <groupname>, only works with -f -C If no useraccount exist then create one with no username and no password. Use with care as it will allow world-wide administrative access to your Tvheadend installation until you edit the access-control from within the Tvheadend UI -s Log debug to syslog Development options -j <id> Statically join the given transport id -d Debug logging -r <tsfile> Read the given transport stream file and present found services as channels -A Immediately call abort() For more information read the man page or visit http://www.lonelycoder.com/hts/
Standaard maakt Tvheadend dus gebruik van de gebruikersnaam hts om het programma te draaien. De configuratie staat standaard ook in de .hts directory in de home directory van deze gebruiker. Dit is eventueel aan te passen met de -c optie. Ook de groep waaronder de tvheadend service draait is standaard ingesteld op video. Dit omdat onder Debian/Ubuntu de meeste TV kaarten toegangelijk zijn voor deze groep.
De configuratie van Tvheadend wordt in zijn geheel gedaan via de Web GUI van Tvheadend. Deze Web GUI is te bereiken via de volgende URL
http://<server ip>:9981/
Waarbij <server-ip> vervangen moet worden door het IP adres of DNS naam van de server waar Tvheadend op draait.
In deze beschrijving ga ik er vanuit dat Tvheadend draait op een server welke tenminste 1 DVB kaart bevat.
Als je ingelogd bent op de Web GUI dan zie je 4 tab bladen staan:
- Electronic Program Guide
- Digital Video Recorder
- Configuration
- About
Hier zie je 8 sub tab bladen voor de verschillende onderdelen die je kan configureren binnen TV Headend
- Channels
- XML TV
- Channel Tags
- Digital Video Record
- TV Adapters
- IPTV
- Access control
- Code Word Client
Om te starten gaan we naar de TV Adapters tab. Hier kan je alle parameters die gelden voor de TV Adapter in de server configuren. Hiervoor moet je eerst de TV adapter selecteren uit de dropdown lijst. Ik ga er vanuit dat je een DVB adapter in het systeem hebt zitten.
Op de General Tab kan je verschillende zaken instellen die voor de gehele DVB Adapter gelden. Hier kan je aangeven of Tvheadend automatisch nieuwe multiplexes moet zoeken in de DVB data, en of Tvheadend de verschillende multiplexes en services moet blijven scannen als er geen opnamens of streams lopen. Hierdoor kan Tvheadend up to date blijven met aanpassingen hier op. Ook kan je aangeven of Tvheadend de kwaliteit van het ontvangst moet monitoren.
Op deze pagina kan je ook aangeven of Tvheadend gebruik moet maken van een NIT-o netwerk ID om de DVB transports te vinden. Dit heb je nodig wil je gebruik maken van Ziggo in combinatie met Tvheadend. De benodige network ID's kan je vinden in de standaard Ziggo documentatie
Aan de linker kant zitten 2 knoppen
- Add DVB Network by location...
- Map DVB services to channels...
Voor Nederland is er een Ziggo (en een Ziggo Zwolle) netwerk beschikbaar voor DVB-C netwerken.
Door een netwerk te kiezen worden de gegevens die staan in de initial tuning file gebruikt om Mutliplexes toe te voegen aan de multiplexes tab. Hier kan je zien welke multiplexes are allemaal gevonden zijn. Als je op het General tab blad de optie "Autodetect muxes:" hebt aangezet dan zal je zien dat Tvheadend vanzelf andere multiplexes gaat toevoegen als deze gevonden worden in de DVB data. Als je een NIT-o netwerk ID hebt opgegeven dan zal deze gebruikt worden om de andere multiplexes te vinden.
Op het moment dat een multiplex is gevonden zal Tvheadend ook automatisch de verschillende services welke op deze multiplex aanwezig zijn vinden. Alle gevonden services worden toegevoegd aan de Service Tab.
Nu Tvheadend verschillende services gevonden heeft kan je weer terug naar de General tab. Hier staat de knop "Map DVB services to channels...". Als je hier op klikt dan gaat Tvheadend per gevonden service kijken of het deze kan begrijpen en bekijken. Mocht dit lukken dan zal Tvheadend de service zelf toevoegen aan de lijst van Channels op de Channels Tab van het configuratie gedeelte.
Code Word Client
De meeste DVB netwerken maken gebruik van versleutelde services. Deze services kunnen door Tvheadend niet zonder meer bekeken worden. Om ze te kunnen ontsleutelen zijn er sleutels nodig. Deze sleutels worden door de Smartcard van je DVB provider terug gegeven als je de juiste gegevens naar deze smartcard stuurt om ze op te vragen. Tvheadend kan gebruik maken van een zogenaamde "Code Word Server". Dit is een stuk software welke in staat is met de smartcard van de DVB provider te praten en de juiste sleutels terug te geven. Op dit moment ondersteund TV Headend "Code Word Servers" die gebruik maken van het newcamd protocol. Dit zijn oa NewCS and oscam. Het opzetten van zo'n server valt niet onder deze configuratie handleiding. Om een connectie te maken naar een "Code Word Server" kan je de gegevens die nodig zijn om hier op in te loggen ingeven op de "Code Word Client" tab. Op het moment dat je dan weer op de knop "Map DVB services to channels.." klikt dan zal Tvheadend zien dat een service versleuteld is en dan de ontsleutel code opvragen bij de geconfigureerde "Code Word Server". Als dit lukt dan zal Tvheadend de service ontsleutelen en deze mappen naar een channel.
XML TV
Standaard zal Tvheadend gebruik maken van de EIT informatie uit de DVB stroom om een EPG op te bouwen. Omdat deze niet altijd uitgebreid genoeg is kan je deze aan laten vullen door gebruik te maken van een XML TV grabber. Deze grabber kan EPG informatie van een website ophalen en in XML TV formaat aanbieden aan Tvheadend. Op de "XML TV" configuratie tab kan je instellen welke grabber gebruikt moet worden, en om de hoeveel tijd deze gestart moet worden.
Het kan zo zijn dan de XML TV grabber eerste geconfigureerd moet worden voordat deze werkt. Tvheadend kan dit (nog) niet doen. Hierdoor kan het zo zijn dat je eerst moet zorgen dat er een juiste grabber configuratie beschikbaar is voor de gebruiker waar Tvheadend onder draait. In de meeste gevallen betekend dit dat er in de hts home directory een .xmltv directory moet staan met de configuratie. Dit is per XML TV grabber anders dus volg de handleiding van de grabber om dit te doen.
Channels
Hier kan je alle volledig geconfigueerde kanalen zien welke Tvheadend gevonden heeft. Hier kan je instellen welke XML TV id gebruikt moet worden om de EPG te vullen van dit kanaal. Ook kan je op de "play" knop drukken om het kanaal via RTSP af te spelen.
Access control
In de Access Control tab kan je extra gebruikers (naast de master user) aanmaken welke in kunnen loggen op Tvheadend. Ook voor de verschillende HTSP clients kan je hier "gebruikers" defineren. Hier voor zal je dan niet gebruik maken van echte gebruikers, maar van IP adressen welke streaming rechten hebben.
De huidige release versie (2.11) biedt volledige ondersteuning voor Ziggo. Ook het doorgeven van zogenaamde EMM berichten naar de CWC server door Tvheadend wordt ondersteund voor het encryptie prototcol wat Ziggo gebruikt (irdeto2)
Ook biedt Tvheadend op dit moment geen ondersteuning voor het gebruik van een hardware CAM in een CI die op een DVB kaart is aangesloten. (ps. hardware donaties om dit mogelijk te maken zijn welkom)
Hier komen de veel gestelde vragen over Tvheadend te staan.
Momenteel zijn er nog geen veel gestelde vragen :-)
- TV Headend Home page
- HTS development site
- Nederlandse XMLTV grabbers
- W3ird_N3rd: Digitenne met OSCam+TVheadend
[ Voor 20% gewijzigd door Anoniem: 151270 op 21-08-2010 11:44 . Reden: Toevoeging Digitenne + OScam link ]