Abonné à Canal j’utilise MyCanal au quotidien pour regarder la TV. L’appli est super pratique (prévisualisation des chaines depuis la grille, contrôle du direct, replay intégré, …) même si il y a régulièrement des bugs qui vont et viennent au gré des mises à jour.
Le principal défaut de l’appli est le fait de ne pouvoir enregistrer les chaînes.
Le second (depuis quelques jours) c’est le fait de ne plus avoir accès aux chaînes du groupe TF1. Pas celles que je regarde le plus mais potentiellement embêtant par exemple pour des évènements sportifs comme les matchs de l’équipe de France. Canal avait déjà coupé ces chaînes pendant environ 2 semaines en 2018 et visiblement c’est reparti pour un tour.
Heureusement il existe un outil qui permet de contourner ces deux problèmes pour peu que l’on dispose d’un SBC et d’une antenne TNT ou d’une playlist IPTV pour son opérateur (Free le propose officiellement, mais chez SFR c’est possible aussi de trouver une playlist pour les chaînes non chiffrées sur leur réseau cf. par exemple ici) : le logiciel Tvheadend.
Ce soft est très léger car il se « contente » de transmettre le flux brut (à moins d’activer les options de transcodage vidéo ce qui semble difficilement possible sur un SBC) en le ré-encapsulant. Un raspberry pi premier du nom peut donc suffire.
Note : il existe d’autre outils permettant d’exploiter sa clé TNT via le réseau comme VDR qui a le mérite d’être plus léger mais il est moins complet. A vous de comparer quel outil vous conviendra le mieux parmi ceux disponibles
Installation
Tvheadend n’est pas dispo dans les dépôts d’ubuntu/debian mais il est possible de l’ajouter à partir de leur dépôt :
https://tvheadend.org/projects/tvheadend/wiki/AptRepositories
Le plus simple pour un SBC avec un proc ARM est donc d’exécuter la commande suivante :
wget -qO- https://doozer.io/keys/tvheadend/tvheadend/pgp | sudo tee /etc/apt/trusted.gpg.d/tvheadend.asc
echo "deb http://apt.tvheadend.org/stable raspbian-stretch main" | sudo tee -a /etc/apt/sources.list.d/tvheadend.list
Note : les branches stable et unstable n’ont pas été mises à jour récemment. Pour avoir une version récente il vaut potentiellement mieux se tourner vers le PPA non officiel indiqué sur la page précédente. Celui-ci propose des builds à jour mais potentiellement moins stables. Pour débuter la branche stable semble toutefois suffisante.
De plus il faut savoir que les versions récentes utilisent des Web Sockets ce qui peut compliquer la configuration d’un reverse proxy (qui permet par exemple de rendre l’ihm et les flux disponibles en https et sur le port 443)
On peut alors l’installer :
sudo apt-get update
sudo apt-get install tvheadend
Pendant l’installation on est invité à choisir un login/mdp pour l’accès admin.


Une fois installé on peut se connecter à l’IHM Web via l’adresse http://<IP_SBC>:9981
Configuration
Lors de la première connexion un assistant nous guide.
On choisit la langue de l’interface et la langue pour l’EPG. Puis on configure un compte admin (on peut remettre celui utiliser pendant l’installation) et un compte utilisateur. Il est bien sûr possible d’en ajouter d’autres par la suite (avec des droits limités au streaming, à certaines parties de l’IHM, …)

Puis on définit les sources :

Pour l’IPTV on peut indiquer « IPTV Automatic Network » pour spécifier par la suite un m3u listant les flux. Côté TNT on doit indiquer une liste de mux prédéfinis. En l’absence de liste spécifique pour la France, on peut choisir auto-Default pour avoir toutes les fréquences. Ou au besoin prendre sa déclinaison incluant les offsets à 167kHz. En effet certaines clés gèrent directement l’offset mais d’autres en ont besoin.

Un scan démarre alors.

Note : on peut supprimer un certain nombre de fréquences inutiles en France : inférieures à 474MHz ou supérieures à 698.167MHz
A la fin du scan on peut « mapper » les chaines trouvées.
On peut alors retrouver les chaines dans l’onglet Channels et les réordonner ou changer leurs numéros. On peut aussi y gérer/supprimer les doublons si on reçoit les signaux de deux émetteurs.

Enregistrements
Tvheadend permet de programmer des enregistrements de plusieurs façons:
- manuellement : en saisissant une heure de début, une heure de fin et une chaine
- depuis l’onglet EPG : Tvheadend scan périodiquement les données EPG des chaines et propose la liste des programmes à venir
- en « autorec » : on définit des règles (nom du programme, jours de la semaine, créneau horaire, …) et Tvheadend va automatiquement programmer l’enregistrement lorsque les données EPG correspondent. C’est très pratique pour les programmes récurrents (par exemple pour un prime-time revenant régulièrement). Le choix des créneaux horaire permet d’éviter les rediffusions (par exemple un prime rediffusé en après-midi) et Tvheadend propose de gérer les doublons (à partir des données EPG : numéro d’épisode, résumé, …)
Tip : le dossier pour stocker les enregistrements est configurable et peut être un dossier partagé monté au préalable (autofs est votre ami) ce qui permet par exemple de tout mettre sur un NAS.
Il est possible de modifier la configuration par défaut des enregistrements : format (ts ou mkv), durée de pré et post-enregistrement (pratique si les données EPG ne sont pas respectées précisément par les chaines), …
Regarder la TV depuis votre réseau
Tvheadend permet de visionner les flux en live, notamment en http. Cela permet de streamer des flux à la base en UDP de manière efficace y compris sur Internet.
On peut utiliser plusieurs moyens pour ce faire :
- utiliser la playlist générée : http://<IP_SBC>:9981/playlist/channels.m3u utilisable par exemple via VLC
- utiliser une application dédiée (dispo sur iOS ou Android par exemple)
- utiliser un plugin Kodi
- …
Les applications ou plugin permettent de plus d’accéder facilement aux enregistrements réalisés.
On peut streamer autant de flux que l’on veut sur un même mux (par exemple diffuser la 5, la 6, la 7, la 9 et la 22, potentiellement envoyer une même chaine sur plusieurs appareils, …). Seule limite : la bande passante du SBC et du réseau. Un port gigabit peut donc être conseillé pour ce type d’usage, un flux TNT pouvant faire des pics à plus de 10Mb/s.
Pour regarder en même temps deux chaines sur deux multiplex différents il faut connecter 2 clés TNT (ou plus) et les relier à une antenne (soit via un splitter si le niveau de signal le permet soit sur plusieurs prises antenne). Il est également possible d’avoir un tvheadend qui pilote un autre tvheadend pour avoir une seconde source à distance.
Détecter les problèmes de réception
Tvheadend propose un onglet statut qui indique lorsque qu’un multiplex est lancé sur la clé TNT les éventuelles erreurs de réception (et suivant la clé le niveau de signal et la qualité reçue).
En cas de problème de réception il faut bien sûr vérifier l’antenne (notamment si c’est la mini antenne souvent fournie avec les clés). Mais également l’alimentation du SBC. Ce n’est pas intuitif mais une alim un peu juste peut entraîner une mauvaise réception et potentiellement seulement sur certaines fréquences.