HowTo: HDHomerun + TVHeadend

Door Durandal op maandag 19 augustus 2013 05:00 - Reacties (6)
Categorie: -, Views: 10.811

Ik heb onlangs de HDHomerun HDHR3-EU gekocht, een dubbele digitale TV/Radio tuner voor DVB-C en DVB-T.

Review: HDHomerun HDHR3-EU

De HDH moet onder TVHeadend gaan draaien, een PVR backend dat draait onder linux, maar hij zou ook moeten werken met MythTV.
Verder gaat het hier om de ongecodeerde digitale kanalen die UPC sinds 3 april 2013 doorgeeft. Ik begrijp dat het ook mogelijk is gecodeerde kanalen te bekijken met een card server maar voor die details moet je je vooralsnog op het forum melden.
Mijn setup
  • UPC kabeltelevisie (analoog pakket met nu digitale zenders)
  • Ubuntu 12.04LTS server
  • HDHomerun met firmware 20130328
  • TVHeadend 3.4.27
  • (op elke tv) XBMC op de Raspberry Pi met OpenElec
Heb je dezelfde setup, dan kan je de HDH installatie overnemen. Wijk je af dan kan je dit als leidraad gebruiken en bij vragen kan je terecht op het Digitale Kabel TV op de PC forum of het TVHeadend forum.

Ik ga er van uit dat je Ubuntu draait en hier een beetje bekend mee bent, en dat TVHeadend al geinstalleerd is. XBMC op de Pi laat ik voorlopig buiten beschouwing.
Spoedcursus DVB
Voor de mensen uit het analoge kabel tijdperk, zoals ik, eerst even de belangrijkste DVB termen uitleggen. Digitaal is toch net even wat anders en het helpt als je weet wat je doet.

Een gedeelte van de analoge kabel is tegenwoordig digitaal. Waar in het analoge spectrum de analoge zenders ieder op een eigen draaggolf naast elkaar zitten, zitten in de digitale band Muxen, of multiplexes, naast elkaar. Een Mux is een verzameling digitale zenders die in de tijd gemultiplexed zijn. Dit heeft tot voordeel dat er gelijkmatiger met de bandbreedte wordt omgesprongen; Aangezien er (MPEG2) compressie wordt gebruikt en de ene zender dan soms minder bandbreedte nodig heeft waar de andere zender meer nodig heeft, wordt de bandbreedte netjes uitgemiddeld.
Gevolg van die tijd multiplexing is dat de zenders in een mux allemaal dezelfde draaggolf frequentie hebben. De zenders in DVB heeten overigens Services.
Verder bevatten de muxes metadata, zoals de frequentie van andere muxes en EPG informatie.

Mux (multiplex, ts) - verzameling services op een gezamelijke frequentie
ts - transport stream
Service (channel) - radio of TV zender
Service ID (SID) - unieke service nummer
Network ID (NIT, NID, netwerknummer) - je provider gebruikt deze om Muxes te groeperen in TV regio's
QAM64/128/256 - Modulatietypen
Symbolrate (datarate, rate) - snelheid van de datastream [Baud, of (K)B/s].
EPG - Electronic program guide, de TV Gids.

Een goede site met actuele DVB gegevens van alle providers (?) om er naast te houden is DTV Monitor.
Hier zijn alle bovenstaande gegevens te achterhalen en vindt je ook zaken als codering metadata en screenshots, ook voor Ziggo.

UPC heeft op dit moment de volgende defaults. Heb je ziggo of een andere provider dan moet je zelf even zoeken.
Network IDs: Noord Holland 43136, Gelderland 43142, Flevoland 43138, Brabant 43144, Friesland 43140, Zuid Holland 43146
QAM: 256
Symbolrate: 6900KB/s
Start mux (frequentie): 164000 KHz


Na deze korte uitstap kan de installatie van start gaan. In het Engels, omdat dat zo in mijn eigen installatie notities staat.
Voorbereiding
Voorwaarden:
  • TVHeadend moet al geinstalleerd zijn.
  • vervang hieronder mijn favoriete mcedit editor door jouw favoriet
.
Wil je mcedit gebruiken en je hebt deze niet doe dan:
code:
1
2
sudo apt-get update
sudo apt-get install mc

Installation HDHomerun with TVHeadend
  • connect the HDH to the network and turn it on
  • you can update the firmware under windows, if desired. If so, turn off the windows firewall(s), download the windows setup and install. This will upgrade the firmware.
# On Linux (console)
code:
1
sudo -s



# stop applications using the kernel module (tvheadend, mythtv etc), if available
code:
1
2
3
service tvheadend stop 
service mythtv-backend stop
service dvbhdhomerun-utils stop



# install dvbhdhomerun drivers
# see http://sourceforge.net/ap...merun/wiki/UbuntuPackages
code:
1
2
3
add-apt-repository ppa:tfylliv/dvbhdhomerun 
apt-get update 
apt-get install dvbhdhomerun-dkms dvbhdhomerun-utils hdhomerun-config



# verify that all 3 modules are loaded
code:
1
modprobe -l *homerun*

updates/dkms/dvb_hdhomerun.ko
updates/dkms/dvb_hdhomerun_fe.ko
updates/dkms/dvb_hdhomerun_core.ko


# discover your device ID (or else it's on the bottom sticker of your HDH)
code:
1
hdhomerun_config discover



# if desired you can also use this command to scan channels or upgrade the firmware
# the below code is to download and install the 20130328 firmware.
# check the linux download page to find the current one
code:
1
2
wget -O /tmp/fw.bin http://download.silicondust.com/hdhomerun/hdhomerun3_dvbtc_firmware_20130328.bin
hdhomerun_config <device ID> upgrade /tmp/fw.bin



# edit /etc/dvbhdhomerun and replace with your correct device ID from the bottom sticker on the HDH
code:
1
mcedit /etc/dvbhdhomerun

-----------------------------------
[1210E3DC-0]
tuner_type=DVB-C
use_full_name=true

[1210E3DC-1]
tuner_type=DVB-C
use_full_name=true
-----------------------------------


# add delay for starting TVHeadend to allow the dvb driver to initialize
# set TVH_DELAY to 20.
code:
1
mcedit /etc/default/tvheadend



# restart
code:
1
shutdown -r now



# verify userhdhomerun is running
code:
1
2
sudo -s
ps aux | grep homerun



# verify if you have a control and 2 data devices, and 2 adapters
code:
1
ls -la /dev/*homerun*

crw-rw---- 1 root video 10, 53 Aug 17 17:10 /dev/hdhomerun_control
crw-rw---- 1 root video 251, 0 Aug 17 17:10 /dev/hdhomerun_data0
crw-rw---- 1 root video 251, 1 Aug 17 17:10 /dev/hdhomerun_data1


code:
1
ls -la /dev/dvb/*

/dev/dvb/adapter0:
total 0
drwxr-xr-x 2 root root 100 Aug 17 18:26 .
drwxr-xr-x 4 root root 80 Aug 17 18:26 ..
crw-rw---- 1 root video 212, 0 Aug 17 18:26 demux0
crw-rw---- 1 root video 212, 1 Aug 17 18:26 dvr0
crw-rw---- 1 root video 212, 2 Aug 17 18:26 frontend0

/dev/dvb/adapter1:
total 0
drwxr-xr-x 2 root root 100 Aug 17 18:26 .
drwxr-xr-x 4 root root 80 Aug 17 18:26 ..
crw-rw---- 1 root video 212, 3 Aug 17 18:26 demux0
crw-rw---- 1 root video 212, 4 Aug 17 18:26 dvr0
crw-rw---- 1 root video 212, 5 Aug 17 18:26 frontend0


## configuring TVHeadend
Adapters:
  • browse to TVH: http://your-server-ip:9981
  • Go to TVHeadend | Configuration | DVB Inputs | TV Adapters: this should now list your 2 HDHomerun DVB-C tuners
  • Set Full Mux Reception: off
  • Set Original Network ID: 43146 (choose yours from the UPC list below, or find it elsewhere)
    # UPC Network IDs: Noord Holland 43136, Gelderland 43142, Flevoland 43138, Brabant 43144, Friesland 43140, Zuid Holland 43146
  • Save.
  • Go to Add DVB Network by Location | NL | UPC: Status will now show scanning for channels
  • Wait a bit untill all muxes are discovered.
Multiplexes:
  • if desired, remove all unneeded/encrypted muxes.
    For me the following remain. They contain all unencrypted services. You can cross reference this via DTVMonitor:
    101. 2051-2061, 2098, 2099, 2106, 2112
  • Save.
  • If unsure, or not bothered, just keep all muxes enabled. You will just have more channels to disable in the next section.
Services:
  • disable all encrypted or locked channels.
  • Disable all non-interesting channels or those outside your region.
  • Map the remaining channels so they will show in the EPG/Channel/EPG map. Sort on the enabled colum and do a multi-select. Then use the [Map Selected] button.
  • Save.
Channel mappings:
  • Configuration | Channel/EPG: map, merge, and number the channels you like
  • Save.
  • EPG info will get loaded from the video streams by TVHeadend slowly: give it time.
Tot slot
Na een tijdje is de EPG data geladen en kan je in de Electronic Program Guide tab een of meer programma's selecteren om op te nemen. Als er opgenomen wordt zie je in de Status tab welke tuner met welke parameters bezig is.