Project örlie
.
[currently under update]
[new features and experiences from the contributions below will be consolidated with the head entry within the next weeks, counted from christmas 2018, first review done: 28.12.2018]
.
Objective of the project is reception and presentation of HEVC/H.265 coded DVB-T2 broadcast as well as publicly accessable IPTV streams utilizing open source software and single board computer. Focus is the reception of public TV programs in Germany. That's why I call it öffentlich-rechtlicher linux empfänger örlie.
General information on DVB-T2 in Germany is taken from http://www.dvb-t2hd.de/ especially the reception areas, the available programs, and the available regional programs.
.
Abstract
This blog is work in progress and will be updated step by step. Target is to get DVB-T2 with HEVC as used in Germany and IPTV working on base of Kodi/LibreELEC platform.
Latest tests proved that DVB-T2 is working on ODROID-C2 with LibreELEC 8.95 and August DVB-T210. A comparable configuration with Raspberry PI 3 and LibreELEC 8.95 works almost due to significant improvements in software HVEC decoding. Nevertheless I experienced sometimes stuttering and asynchronous audio and video on Raspberry PI 3. Details of setting and step by step instruction are still work in progress.
.
Zusammenfassung
In diesem Blog teile ich meine Erfahrungen zum DVB-T2 und IPTV Empfang mit LibreELEC. Ziel ist es, eine auch für unerfahrene Nutzer konfigurierbare OpenSource Lösung bereitzustellen.
Meine aktuellen Versuchsaufbauten
- ODROID-C2, LibreELEC 8.95 und "Geniatech T230 aka August T210"
- Raspberry PI Mod. 3 B+ und Raspberry PI Mod. 3 B, LibreELEC 8.95 und "Astrometa DVB-T2"
geben die frei empfangbaren öffentlich rechtlichen Programme wieder. Auf den beiden Raspberry PIs ist jedoch wegen der fehlenden Hardwareunterstützung für die HEVC Decodierung gelegentliches Ruckeln (z.B. bei Landschaftsschwenks) und das Auseinanderlaufen von Ton und Bild zu beobachten. Der Beitrag wird fortlaufend weiter ergänzt und ist noch nicht abgeschlossen
.
As this description is still under construction, some of the hints and instructions below may be outdated.
.
Credits
- Thanks to wrxtasy who provided the LibreELEC media build which was needed in the past to get DVB hardware working. Current LibreELEC versions provide extended DVB support via the LibreELEC Module Drivers Addon.
- Thanks to CvH for providing backported media_build & DVB driver support for LibreELEC platforms and frequent participation in the discussion.
- Thanks to Raybuntu who provided the addon package with TVHeadend client and server which was needed in the beginning oft the project but is now obsolete.
- Thanks to kszaq for 32bit AML DVB Kernel bug busting according to wrxtasy comment below, but meanwhile obsolte.
- Thanks to backslash providing the frequency for Cologne
.
Open tasks
.
Some of originally the open tasks (from 2017) are meanwhile closed or nearly closed, e.g. simplified i.e. non manual proceeding with TvHeadend Mux configuration, utilization of LibreELEC official build, remote control keys, ...
Others are still open but will be closed hopefully in beginning 2019.
Describe a minimum/typical AddOn Set with E.g. broadcaster mediacenters, youtube, weather, news, spotify, ...Evaluate Hifi expansion board Find more valuable enclosure for ODROID + expansion board Provide some prepared configuration files and installation guideChange TVHeadend server configuration instructions to English
.
Installation (expert)
All steps needed to get DVB-T2 reception working are already published. This is just the compilation the respective existing documentation.
- Acquire necessary hardware.
(a) Single-board computer ODROID C2 + ODROID C2 case + ODROID C2 power supply + Micro SD Card
(b) USB DVBT receiver stick Geniatech T230 aka August T210
(c) HDMI cable (CEC capable) + LAN cable
(d) TV set or HDMI Monitor as well as additional computer for configuration tasks - Install LibreELEC 8.95.001 on SD-Card as described on LibreELEC Wiki page
- Assemble hardware ODROID C2, DVB stick, ...
- Start LibreELEC
- Configure Kodi with TV/TVHeadend
- That's all.
- (for more details see step by step instructions below)
.
Details on Working Configuration on base of ODROID-C2
.
Hardware
.
In this section I describe which hardware components you'll need. Some are mandatory [m] others optional [o]. The core element, the ODROID-C2, most likely cannot be replaced by another single-board computer without changing also other (software) components of the solution, whereas other components, like the TV set, are replaceable [r] of course.
The core elements I'm testing in multiple configurations are the single board computers ODROID C2 and Rasberry PI 3 as well as the USB tuners Geniatech T230 and Astrometa DVB-T2.
The currently recommended configuration is ODROID C2 with Geniatech 230. Other configurations formerly had multiple limitations and were a source of disappointment. Due to tremendous advancements in software capabilties also configurations Raspberry Pi Mod. 3 and alternative DVB sticks as Astrometa DVB-T2 work with minor restrictions.
- Single-board computer and accessories
ODROID C2 [m]: After experimenting with Raspberry PI 3, which was not capable to decode the German HEVC coded DVB-T2 signal in real-time (i.e. HEVC codec with ffmpeg on Raspberry PI was not implemented efficient enough) I originally stuck with "Raspberry clone" ODROID C2 which offers hardware support in decoding HEVC videos. The major disadvantage of ODROID C2 not running with a kernel to support my DVBT stick (linux kernel 3.14 vs. 3.19 or higher needed) is solved by LibreELEC Module Drivers Addon since LibereELEC 8.95 release.
+ ODROID C2 case [o]
+ ODROID C2 power supply [m]
+ Micro SD Card [m]
+ HDMI cable (CEC capable and as short as possible to avoid CEC transmisson problems) [m]
+ LAN cable [m] to connect the ODROID to the router/internet in order to retrieve additional software (AddOns) and to carry out common configuration tasks from additional remote computer (via ssh and http protocol)
. - USB DVBT tuner stick
(An overview on USB DVBT devices is provided by this LinuxTV page.)
Geniatech T230 [m,r] aka August T210 (disadvantage: needs normally Linux kernel >= 3.19, but works using Addon LibreELEC Module Drivers > DVB drivers for TBS).
This stick works with both the ODROID C2 and Raspberry PI 3 configuration.
. - Alternative USB DVBT tuner stick which supports the original ODROID kernel 3.14 (>= 3.13) is
Astrometa DVB-T2 (sea also teardown, Ebay: USB 2.0 DVB-T2/T DVB-C TV Tuner Stick USB Dongle for PC/Laptop Windows 7/8 H9).
This stick works with with Raspberry Pi 3 configuration only and not with Odroid-C2 (tested 12/2018, LibreELEC 8.95.0001).
For more details on DVB tuners see post #38 below and the investigation in this entry.
This stick bears two different tuners. One is the Realtek RTL2832 only capable to receive DVB-T. The other is Panasonic MN88473 which is capable of receiving DVB-T2..
- TV set and remote control
Philips 42PFL7008K/12 [m,r] and its remote control [m,r]
. - Bluetooh mouse
Logitech Ultrathin [o,r] not really needed
. - Bluetooh keyboard
Apple keyboard [o,r] not really needed
. - Computer for configuration tasks
Notebook with SD-card reader/(writer) under XUBUNTU [r]
.
Software
.
- Operating system and media center bundle
for Odroid-C2 LibreElec 8.95.001
for Raspberry Pi LibreElec 8.95.001
or any latest version from LibreElec download page
. - KODI (comes with LibreELEC bundle)
. - DVBT tuner software (server) and TV client software (aka PVR, Personal Video Recorder)
LibreELEC/Kodi AddOn TVheadend Server
LibreELEC/Kodi AddOn TVheadend Client
. - Alternative TV software is VDR (as server) and VDR VNSI (as client) - not working.
Both are available in the LibreELEC addon repository. From my test in April 2017 I conclude that with the currently available software versions in the repositories DVB-T2 reception is not possible (see also VDR zu Fuß).
.
Cost and sources of supply (as of 2017)
.
What I ordered newly was 141,49€ so far
- ODROID C2 49,95€ + 4,95€ (shipping) = 54,90€
(Shop Pollin, ODROID-C2 Einplatinen-Computer, 1,5 GHz QuadCore, 2 GB RAM, 4x USB)
. - Power supply and case 4,99€ + 6,95€ + 5,99€ (shipping) + 0,67€ (PayPal) = 18,59 €
(Shop Vesalia online (as case was currently, 01/2017, not available at Pollin), Netzteil für ODROID-U3/ODROID-C1, Gehäuse für ODROID-C2/C1+)
. - Samsung 32 Pro Micro SDHC-card (such an high end model is probably not really needed, in fact I used it so far only with my Raspberry Pi 3 experimenting and with ODROID C2 a much slower one - but in the latter configuration I observed an asynchronous audio/video stream watching TV while recording the stream simultaneously) 29,95€ + 5,60€ (shipping) = 35,55€
(Shop reichelt eletronik, SAMS MB-MD32DA :: MicroSDHC-Card 32GB - Samsung - Class10/UHS-1)
. -
CEC capable HDMI connection cable (not to log to aviod transmission problems): my personal electronic drawer 0€
. - LAN cable: cellar 0€
. - USB DVBT Stick comes with antenna and remote control (the latter not needed) 32,45€
(Shop amazon, August DVB-T210 - DVB-T/DVB-T2 USB TV Stick - TV-Tuner und digitaler Videorecorder - PC TV Dongle mit Antenne und Fernbedienung - kompatibel mit Windows 7/8/10, no longer available there currently, 02/2017)
. - Bluetooth dongle labled "Logilink": my personal electronic drawer 0€
. - TV Set Philips 42PFL7008K/12: already in the living room 0€
. - My thinkpad x201 notebook with xubuntu; 0€
.
Howto get it working step by step
.
Section cold preparation
- The cornerstone of success is preparation. The hastily readers will skip but were warned . Nevertheless the objective of this post is to provide an installation guide which is suitable also for laypersons.
- Make yourself familiar with
Kodi (wiki, wiki de, project homepage, kodinerds).
LibreELEC (wiki, project homepage)
LinuxTV (wiki, project homepage)
TVHeadend (wiki, project homepage)
DVBT (wiki, wiki de, wiki de de)
CEC (wiki, wiki de)
.
Section cool preparation
- The first steps are carried out on your personal computer connected to the internet and preferable powered by some Linux distribution. Windows users are not locked out but have to adapt the instruction to their situation.
. - Open a terminal on your computer
.Code
Display More# Assure your location cd mkdir Downloads cd Downloads # Download LibreELEC build #wget https://ftp.fau.de/libreelec/LibreELEC-RPi2.arm-8.95.001.img.gz wget https://ftp.fau.de/libreelec/LibreELEC-Odroid_C2.arm-8.95.001.img.gz # Download LibreELEC USB-SD creator program (in this/may case 64k Linux) wget http://releases.libreelec.tv/LibreELEC.USB-SD.Creator.Linux-64bit.bin # Make LibreELEC USB-SD creator program executable for root chmod 766 LibreELEC.USB-SD.Creator.Linux-64bit.bin # Run LibreELEC USB-SD creator program sudo ./LibreELEC.USB-SD.Creator.Linux-64bit.bin # LibreELEC USB-SD creator program will/should open
.
- Continue on LiberELEC USB-SD Creator window.
. - Select the appropriate file eg. ~/Downloads/LibreELEC-Odroid_C2.arm-8.95.001.img.gz in section (2) of the LiberELEC USB-SD Creator window.
. - Insert a new or old SD-card into your computers SD-card reader and be aware that every data will be erased on it with the next steps.
. - Select the above SD-card in section (3) of the LiberELEC USB-SD Creator window.
. - Close Eyes and select "write" in section (4) of the LiberELEC USB-SD Creator window.
. - Wait for completion of the write process and remove the SD-Card safely from your computer.
. - If this didn't work for any reason, try the following completely within terminal window.
.
# Da das LibreELEC USB-SD creator Programm zurzeit unter XUBUNTU 18.10
# nicht funktioniert, hier die "manuelle Alternative".
# Arbeitsverzeichnis sicherstellen
cd
mkdir Downloads
cd Downloads
# Download LibreELEC build
#wget https://ftp.fau.de/libreelec/LibreELEC-RPi2.arm-8.95.001.img.gz
wget https://ftp.fau.de/libreelec/LibreELEC-Odroid_C2.arm-8.95.001.img.gz
# Entpacke das Systemabbild
# gunzip -d LibreELEC-RPi2.arm-8.95.001.img.gz
gunzip -d LibreELEC-Odroid_C2.arm-8.95.001.img.gz
# Lösche das nicht mehr benötigte komprimierte LibreELEC Systemabbild
#rm LibreELEC-RPi2.arm-8.95.001.img.gz
rm LibreELEC-Odroid_C2.arm-8.95.001.img.gz
# Identifizere die angeschlossenen leere SD-Karte
sudo parted -l
# SD Karte aushängen, unter der Annahme sie wurde als /dev/sda identifiziert
sudo umount /dev/sda
# LibreELEC Systemabbild 1:1 auf die SD-Karte schreiben
# !Achtung: Mit dem Befehl sudo dd kann man sich die eigene Festplatte löschen
# und jede Menge Schaden anrichten!!!
#sudo dd if=LibreELEC-RPi2.arm-8.95.001.img of=/dev/sda bs=4M
sudo dd if=LibreELEC-Odroid_C2.arm-8.95.001.img of=/dev/sda bs=4M
# Sicherstellen, dass der Scheibvorgang auf die SD-Karte abgeschlossen ist
sudo sync
# Lösche das nicht mehr benötigte LibreELEC Systemabbild
#rm LibreELEC-RPi2.arm-8.95.001.img
rm LibreELEC-Odroid_C2.arm-8.95.001.img
# SD-Karte entnehmen und in Zielrechner einsetzen. Sodann Zielrechner starten.
Display More
.
- Put your computer aside. You will need it again for TVHeadend service configuration.
.
Section warm preparation
.
- Assemble ODROID C2 and case
. - Apply above prepared SD-card to SD-card slot of ODROID C2 on the lower side of the board accessible from the long side (different position compared to Raspberry Pi 3, took me some time to identify).
. - Plug in the DVBT Usb stick and connect it to some antenna.
. - Plug in Bluetooth dongle (optional).
. - Connect the ODROID C2 with the LAN cable to your Router and the Internet.
. - Connect the ODROID C2 with the HDMI cable to your TV set.
. - Switch on the TV set and select the appropriate HDMI input connect to ODROID C2 to be displayed.
.
Section hot preparation
.
- Connect the power supply to power and to ODROID C2
. - Follow the automatic part of the installation procedure silently but eager.
. - Enter the required setup information when asked using the remote control cursor and ok keys.
.Code
Display More>Welcome Next >Hostname: oerlie Next >The following Networks are currently available Next (if only one as expected, otherwise select appropriate, also good opportunity to notice the IP adress mentioned, somewhat like 192.168.172.22) >Configure Services Enable SSH and Samba (default only samba is enabled) Next >Thank you Next
.
- Navigate to Configuration (toothed wheel)>LibereELEC>System>Keyboard to select your local keyboard layout.
In my case: de
. - Navigate to Configuration (toothed wheel)>LibereELEC>Services to enable Bluetooth service if needed.
. - Navigate to Configuration (toothed wheel)>LibereELEC>Bluetooth to connect to Bluetooth devices.
. - Navigate to Configuration (toothed wheel)>Interface settings>Regional>keyboard layouts to deselect English QWERTY and select your local layout.
In my case: German QWERTZ
. - Navigate to Configuration (toothed wheel)>Interface settings>Region default format to select your region
In my case: Central Europe
. - Navigate to Configuration (toothed wheel)>Interface settings>Timezone country to select your timezone
In my case: Germany
. - Navigate to AddOns > PVR clients > TVheadend HTSP client (Tvheadend HTSP Client, no further configuration needed).
. - Navigate to AddOns > Services > TVheadend and install (Tvheadend libreelec.tv Server, heavy further configuration needed, but none with the GUI you are just working with).
. - Navigate to Configuration (toothed wheel)>System information and note the IP address of your LibreELEC/ODROID device.
. - Navigate to Configuration (toothed wheel)>LibereELEC>System>Backup>Create System and Kodi Backup in order to create a backup of your work so far by simply selecting "ok" without changing the directory location.
. - Leave TV armchair, change to your computer.
. - Follow the instructions in post #40 to provide "predefined muxes files". Files for Hessen, Rheinland-Pfalz und Nordbaden are available. Files for other regions can be easily created using the given examples as pattern.
.
- Open a browser
. - Enter IP-address of LibreELEC/oerlie device (retrieved in step 11) and port number 9981
. -
.
- You should see the TVHeadend service configuration menu hopefully overlapped by the start-up configuration wizard which will lead you step by step through the configuration. If you leave to early you will be lost in the expert's configuration desert: So many screens - so many Chinese parameters - far from being intuitive (but learn able in finite time and currently best in class compared to some command line tools - probably matter of taste).
. - First language settings straight forward.
. - Second network and account/login settings I left all blank, though this might be a security issue it facilitates the further configuration.
. - Third "Tuner and network type"
in my case only Network #2 with preselected/unchangeable Silicon labs Si2168 : DVB-T#0 and drop down selection DVB-T Netzwerk (obviously language settings partly worked)
. - Fourth "Vordefinierte Muxe zuweisen"
Suggestion: Germany de-generic-all-channels (as generated with post #40)
This is a config doenloaded as described in post #40 (restart LibreELEC/ODROID if its not present).
The german configuration files comming with TvHeadend (28.12.2018) are outdated and useless as considering DVB-T1.
. - Fifth scanning starts automatically and takes some time until scanning progress reaches 100%.
. - Sixth in Servicezuordnung I selected all !alle services zuordnen", "Anbieter Tags anlegen", "Netzwerk-Tags anlegen". Don't ask why and wether that is needed or senseful.
. - You are finished.
Keep the configuration window open for later use ...
. - Also good moment to change again to TV armchair and
Navigate tor Configuration (toothed wheel)>LibereELEC>System>Backup>Create System and Kodi Backup in order to create a backup of your work so far by simply selecting "ok" without changing the directory location.
. - To add additional transmitters on the available transmitters in your area from the wiki page subsection "DVB-T2 HD Senderstandorte" or here.
For Köln see backslash's post below.
. - Translation from channel to frequency is no longer needed as already provided with the above wiki page . If for any reason you need channel to frequency translation depending on your location see this wiki page
Example for me: Westeuropa - Kanal 59 - DVB-T (MHz) 778 MHz
. - Determine the value needed for TVHeadend MUX configuration here 482.000.000 Hz (1/s) by multiplication with 1 million.
. - Back to the hopefully still open browser window fro TVHeadend server configuration
Navigate to Konfiguration>DVB-Inputs>Muxes
Select the MUX for your first DVB-T2 channel e.g. 482 MHz "bearbeten" ("edit"),
Übertragungssystem: DVB-T2
Frequenz (Hz): 482000000
Suchstatus: AUSSTEHEND
finally klick "Speichern" ("save")
. - Repeat the above step for each channel/frequency.
. - Allow TVHeadend server to scan the new Muxes in the background and then
Navigate to Konfiguration>DVB-Inputs>Services
Click on "Services zuorordnen" and then "Alle Services zuordnen"
Wait for completion on the "service mapper" screen
. - Again good moment to change again to TV armchair and
Navigate to Configuration (toothed wheel)>LibereELEC>System>Backup>Create System and Kodi Backup in order to create a backup of your work so far by simply selecting "ok" without changing the directory location.
. - Change to TV>
and all TVheadend Server configured programs should be available.
. - Back to the hopefully still open browser window from TVHeadend server configuration
Navigate to Konfiguration>Kanal-EPG>Kanäle mark chanel to be sorted, click "bearbeiten" and enter an appropriate "Nummer" as channel number. Example "Das Erste" will be most likely "1".
alternatively click on a number in column "Nummer" and enter the new number, press enter to come to next line, and so on. Finalize by clicking on "speichern" in upper left corner.
. - Change to TV/Kodi and navigate to Add-ons>Install from repository>Kodi Add-on repository>Look and feel>Languages, select your language (in my case German) commit the question "Would you like to switch to this language?" by selecting "yes".
. - and again backup if finished.
.
Additional Information Known problems. Faq, Trouble shooting in post #39.