Bonjour.
Je souhaitais partager avec la communauté mon expérience de mise en œuvre d'un serveur de TNT.
L'objectif était simple, regarder la TNT-HD (puisqu'en France on n'a plus que ça) sur une tablette connectée en Wifi.
Sur le papier c'est simple, et il existe des centaines de tutos et de wiki pour vous expliquer comment faire.
Après des semaines de tentatives infructueuses, j'en suis arrivé aux constations suivantes :
- De nombreux tutos et wiki sont dépassés, y compris ceux qui ont été rédigés il y a moins d'un mois,
- De nombreuses distributions ne sont plus disponibles, plus maintenues, ou dans des versions incompatibles avec des hardwares un peu anciens ou un peu ésotériques (alors que ces même distribution ont un jour été compatibles),
- Les wiki et les tutos ne sont majoritairement pas assez précis sur les matériels employés, ce qui a pour conséquence de compliquer le diagnostic de l'origine d'un dysfonctionnement (est-ce que le programme indiqué n'est valable que pour l'architecture indiquée ? Est-ce que mon installation est suffisante ? Est-ce que les composants sont compatibles ?),
- On peut facilement lire : "Le PC pour le serveur n'est pas assez puissant, le réseau n'est pas assez puissant, le pc client n'est pas assez puisant…
A force de persévérance, j'ai fini par atteindre mon but : regarder la TNT-HD (puisqu'en France on n'a plus que ça) sur une tablette connectée en Wifi ET le faire avec des composants trouvés au fond d'un tiroir, pas comme je l'avais imaginé, mais, dans le cas présent c'est le résultat qui compte.
Je vais en faire ici la liste la plus exhaustive pour que ceux qui sont tentés par l'aventure trouvent une référence un peu plus complète que celles que j'ai pu trouver.
L'objectif n'est pas de faire une installation totale avec toutes les fonctionnalités possibles, mais de permettre d'estimer ce qui peut être le minimum.
Certains tutos et wiki n'ont pas de date, alors, pour le coup, même si le message est daté, nous somme le vendredi 11 juin 2021.
Il nous faut donc :
- Un ordinateur qui va servir de serveur,
- Un tuner TNT-HD (puisqu'en France on n'a plus que ça) qu'on puisse brancher au PC,
- Le driver du tuner TNT
- Un minimum d'infrastructure réseau,
- Une tablette
- Un logiciel de partage de tuner TNT pour le serveur
- Un logiciel de réception de flux réseau pour la tablette
Et vous allez voir qu'il n'y a rien d'exceptionnel dans ma config, très loin de là si je m'en remets aux commentaires que j'ai pu lire avant d'arriver à mes fins.
J'ai commencé une discussion pour y arriver https://forum.hardware.fr/hfr/OSAlt [...] 6881_1.htm et je remercie ses intervenants. Comme j'ai changé à peu près tous les composants pour lesquels j'ai commencé ladite discussion, et dans un soucis de clarté, je poste ici le résultat de mes recherches sur cette nouvelle config.
Version courte : ---------------------------------------------------------------------------------
- Netbook Packard Bell Dot S, Intel Atom N270 1,6 GHZ Monocore 32bits, 1 Go RAM, 60GB SSD, Intel Graphics Media Accelerator 945 GSE
- Linux Mint 19.3 "Tricia" - Xfce (32-bit)
- Clé DBV-T Yakumo QuickStick Basic DVB-T
- Driver dvb-usb-wt220u-zl0353-01.fw
- Tvheadend
- Tablette Klipad KL3839/I746, 7", Allwinner A64 Quad-core 1,3 Ghz, 8Go, 1Go, Mali-400 Mp2, Wifi (802.11 b/g/n), Android dieu seul sais quoi (désolé, mais la tablette plante à chaque fois que j'essaye d'ouvrir le menu paramètres).
- Kodi avec extension TVheadend
- FreeBox crystal
- Switch Linksys EZXS88W 8 ports fast ethernet
- Borne WiFi TP-LINK TL-WA901ND - Ver 4-0 450 Mbps, Wifi (802.11 b/g/n)
Ça marche.
En détail : ---------------------------------------------------------------------------------
Ordinateur serveur :
Très souvent, c'est un Raspberry Pi Modèle 1 B qui est utilisé. J'avais :
Packard Bell Dot S
Processeur : Intel Atom N270 1,6 GHZ Monocore 32bits
RAM : 1 Go
Disque dur : Kingston SSDNow300 60GB
Puce graphique : Intel Graphics Media Accelerator 945 GSE
Taille d'écran : 10,1"
Système d'exploitation "ordinateur serveur" :
Très souvent, c'est l'OS dédié au Raspberry Pi qui est utilisé Raspbian ou Raspberry OS. Après d'interminables recherches j'ai retenu (de toutes façons je n'avais pas le choix) :
Linux Mint 19.3 "Tricia" - Xfce (32-bit)
https://linuxmint.com/edition.php?id=277
Attention, si vous utilisez Rufus pour créer une clé USB bootable, il faut sélectionner, dans la fenêtre qui apparait juste avant le démarrage du formatage par Rufus, l'option 'Write in DD image mode" et pas l'option "Write in ISO image mode".
Il faut démarrer Mint, comme pour s'en servir et seulement une fois démarré, on peut cliquer sur "Installer" qui se trouve sur le bureau.
La clé tuner et son driver :
Je n'avais que ça : Yakumo QuickStick Basic DVB-T
Le test le plus complet que j'ai pu trouver :
https://translate.google.com/transl [...] ch&pto=aue
Je me suis basé sur le tuto TV Technology - Part 3 - Linux DVB-T Adapter Install, très clair https://www.youtube.com/watch?v=asmCMmq06R0
Le gars propose plus d'une dizaine de vidéos dédiées à la TV via réseau et on découvre des infos très intéressantes.
Comme dans le tuto, une fois la clé branchée, on peut lancer la console et la commande "ls /dev/dvb" qui doit donner la réponse "adapter0"
Toujours comme dans le tuto, la commande "dmesg" doit faire apparaitre la clé USB avec la mention "in warm state".
Sinon, dmesg indiquera le nom du firmware manquant.
Il faut chercher le firmware portant exactement le même nom. Inutile de se fier aux descriptifs des essais, ou les avis et conseils des uns et des autres, voir des wikis.
J'ai découvert que ma clé était vendue sous plusieurs marques et que sous certaines marques le firmware pouvait différer d'une série à l'autre. Donc tenez-vous en à ce que demande le PC.
Pour ma clé Yakumo, le driver est "dvb-usb-wt220u-zl0353-01.fw". Je l'ai trouvé ici :
https://github.com/CoreELEC/dvb-fir [...] 0353-01.fw
On le recopie dans /lib/firmware et on reboot.
La clé est reconnue et pour la Yakumo, le voyant passe à orange fixe (et pas orange à peu près, quand on a fait une installation pourrie).
Facultatif, on teste :
Ça n'a rien d'obligatoire dans la démarche, mais quand on ne sait pas si tout peut cohabiter ensemble, ça fait du bien de faire des tests qui donnent des résultats.
Toujours comme dans cet excellent tuto, on lance apt-get install dvb-apps, un utilitaire de gestion de tuner.
Pour lister les fréquences :
cd /usr/share/dvb/dvb-legacy/dvb-t
/usr/share/dvb/dvb-legacy/dvb-t$ ls
more fr-All
En fait, il existe une grande liste, détaillée par ville dans certains pays, mais limitée à fr-Paris et fr-All pour la France. On recopie la liste :
/usr/share/dvb/dvb-legacy/dvb-t$ cp fr-All ~
/usr/share/dvb/dvb-legacy/dvb-t$ cd
On lance une recherche :
scan fr-All
Sur la Yakumo, la diode passe au vert chaque fois qu'un multiplex est syntonisé et affiché dans la liste des chaines trouvées.
C'est vraiment un plus pour savoir ce qui se passe. Mais bon, comme ça coute quand même une particule de centime en plus, peu de fabricants ajoutent cette fonction…
Normalement, on peut s'arrêter là. Le PC, l'OS, le driver et le logiciel arrivent à travailler ensemble.
On peut suivre le tuto jusqu'au bout et créer le très souvent indiqué "channels.conf"
scan fr-All > channels.conf
On peut ensuite, comme dans le tuto, ouvrir le fichier channels.conf dans VLC et regarder la TV. C'est ça preuve que le PC, l'OS, le driver et le logiciel arrivent à travailler ensemble.
Sur mon atom et sur un autre petit PC Celeron j1900 4x1,8ghz 64bits, cette dernière étape n'a jamais marché, quel que soit l'OS testé. J'ai toujours eu une image figée avec le son OK.
Logiciel serveur Tvheadend :
J'étais parti sur VDR, mais Tvheadend m'a souvent été cité et je n'ai pas trouvé de tuto avec VDR et autre chose que VLC, qui n'a jamais marché.
J'ai donc opté pour le duo Tvheadend/Kodi.
Après avoir galéré à installer Tvheadend sur mon Mint et sur d'autres distributions avant, j'ai trouvé ce tuto :
Install Open Source TV Streaming Server TvHeadend in Linux Mint
https://linoxide.com/tvheadend-tv-streaming/
1. Using snap store (Pas utilisé : Snap = pas bien, dixit forum)
2. Using personal package archives (PPA) (Marche pas. Le tuto date de la mi mars 2021 et le dépôt n'existe déjà plus... Bien joué Linux !).
3. Using Tvheadend official repository (ça marche !)
Je vous mets les commandes console ici, il y en a que je ne comprends pas :
$ sudo add-apt-repository ppa:mamarley/tvheadend-git-stable
$ sudo apt-get update
$ sudo apt-get install tvheadend
$ sudo apt-get -y install coreutils wget apt-transport-https lsb-release ca-certificates
$ sudo wget -qO- https://doozer.io/keys/tvheadend/tvheadend/pgp | sudo apt-key add -
$ sudo add-apt-repository 'deb https://apt.tvheadend.org/stable focal main'
$ sudo apt-get update
$ apt-get install tvheadend -y
Incroyablement, je ne suis arrivé à faire marcher la totalité de ces commandes que sur mon duo Atom/Mint 32 bits.
Si j’utilise Mint 19.3 "Tricia" 32 ou 64 sur le celeron j1900 4x1,8ghz 64 bits, les commandes ci-dessus focntionnent jusqu'à la commande "apt-get install tvheadend –y" qui génère le message suivant :
Certains paquets ne peuvent être installés. Ceci peut signifier que vous avez demandé l'impossible, ou bien, si vous utilisez la distribution unstable, que certains paquets n'ont pas encore été créés ou ne sont pas sortis d'Incoming.
L'information suivante devrait vous aider à résoudre la situation :
Les paquets suivants contiennent des dépendances non satisfaites :
tvheadend : Dépend: libc6 (>= 2.28) mais 2.27-3ubuntu1.4 devra être installé
Recommande: xmltv-util mais ne sera pas installé
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».
Et bien sûr, Tvheadend n'est pas installé.
Quand ça marche, on peut se connecter à l'interface web de Tvheadend
Paramétrage Tvheadend :
Je me suis inspiré de ce tuto :
Cutting the cord: setting up a DVB-T2 server with a Raspberry Pi TV-Hat
https://www.youtube.com/watch?v=eTSd8klU_yE
Plus de la moitié de la durée est dédiée à la présentation du matos et de l'installation de l'OS sur le Raspberry.
De plus, le gars utilise un thème d'écran ultra sombre, peu enclin à différencier les logiciels les uns de autres, alors que Tvheadend est plutôt dans les tons bleus.
J'ai complété avec ce tuto :
Configuring Basic setting
https://linoxide.com/tvheadend-tv-streaming/
Contrairement à l'image proposée dans ledit tuto, vous devez voir le nom de votre tuner dans la liste "TV adapters".
On aura besoin de l'adresse IP du PC serveur qu'on peut connaitre grâce à la commande console " ifconfig –a".
On se connecte à l'interface web via un navigateur web à l'adresse ipd.upc.ser.ver:9981
Une fois la configuration de base terminée (L'enregistrement et les timers ne m'intéressent pas et je sais que mon installation ne les suportera pas), on a l'EPG avec la liste des programmes disponibles.
Info complémentaire :
Je ne 'ai pas mis en œuvre, mais c'est bon à savoir :
HTS Tvheadend/ Utilisation
https://doc.ubuntu-fr.org/tvheadend
"L'application doit normalement être arrêtée avant de brancher ou de débrancher une clé USB tuner TV, sinon elle ne prendra pas en compte la disparition ou l'ajout de la clé sur le système. Pour passer outre cette limitation, il y a 2 actions à faire dans les paramètres de la carte dans l'interface web :
• Cocher la case "Close device handle when idle" : libère le pilote
• Décocher la case "Monitor signal quality" : évite à tvheadend de chercher à se synchroniser sur une fréquence pour vérifier si la réception est bonne."
Installation de Kodi avec addon Tvheadend :
Rien de sorcier, dans le playstore on sélectionne Kodi et dans Kodi, on ajoute la ligne Tvheadend.
On redémarre Kodi et on peut regarder la TV partout où le wifi arrive jusqu'à la tablette.
C'est fluide, surtout si la tablette n'en profite pas pour faire des mises à jour.
Si Kodi n'est pas utilisé et donc qu'aucun client (tablette) ne sollicite le serveur pour lui demander un chaine, la clé Yakumo passe à l'orange. Si une chaine est demandée, elle repasse au vert.
Infrastructure réseau :
Le PC serveur est connecté au switch, auquel sont aussi connectés la borne wifi et la FreeBox qui sert de serveur DHCP. Un petit schéma en langage LOGO pour ceux qui ont connu...
|--------| |---------|
| |----------| Freebox |
| | |---------|
| |
| | |------------| |--------------| |---------------|
| Switch |----------| PC serveur |----------| Clé usb tuner |----------| Prise antenne |
| | |------------| |--------------| |---------------|
| |
| | |-----------| |----------|
| |----------| Borne WiFi | ) ) ) ) ) ) | Tablette |
|--------| |-----------| |----------|
Quelques remarques :
Les clés USB tuner, du moment qu'elles sont DVB-T doivent pouvoir recevoir la TNT-HD française, à condition d'avoir le bon driver et le bon logiciel et généralement sous Linux. On doit donc pouvoir recycler presque tous les tuners DVB pour PC qui ont pu être abandonnées lors du passage à la TNT-HD en France.
Je n'arrive plus à retrouver le post où quelqu'un m'a indiqué qu'on s'en fichait un peu de ne pas pouvoir regarder la TV sur le serveur, et qu'il fallait essayer l'installation pour voir si le flux était géré par le client, conseil que je n'ai pas immédiatement suivi puisque je visais VLC comme client et qu'il n'a jamais marché nulle part, même pas sur le serveur où il était en contact direct avec le tuner. Effectivement, même si le serveur est incapable d'afficher une image mobile (dans mon cas, ni avec VLC, ni avec Kaffeine,…), le client y arrive…
Sur l'Atom, quand une chaine est en cours de visionnage sur la tablette, le CPU n'est pratiquement pas sollicité, ou principalement par Mint lui-même et la mémoire est utilisée à 32%. Pas besoin d'une machine de fou pour le serveur, à priori, ce dernier se contente de faire suivre le flux de la clé.
Via un autre logiciel (commande console "dvb-fe-tool –m", confirmé par Kaffeine), j'ai pu constater un signal généralement supérieur à 17% et un SNR généralement supérieur à 87. Pas besoin d'un signal de fou donc, même si ce signal bas peut aussi participer aux les quelques décrochages .
Évidemment, si le signal TNT saute ou si quelqu'un tire à fond sur le réseau, il peut y avoir des coupures. Mais dans l'ensemble, c'est moins coupé que regarder Youtube sur la même tablette. De la même manière, chez moi, il est impossible d'avoir un signal TNT à l’intérieur sans une antenne spécifique. Cette installation imparfaite produit donc un résultat supérieur, même imparfait.
Cette tablette préhistorique et agonisante arrive à gérer le flux envoyé par le serveur. Pas besoin de config sportive pour les clients (même si je soupçonne que même cette tablette doit être équipée d'un décodeur hardware…).
Réseau en 100baseTx (et il me semble que le switch n'est en fait qu'un hub…) donc pas besoin de grosse config de réseau.
Le plus compliqué a été de trouver un OS Linux en 32 bits et d'y installer Tvheadend. Côté tablette, même si il ne faut pas être pressé entre un appui sur l'écran et le résultat, tout c'est très bien passé.
Évidemment, si vous souhaitez allouer à un tel projet des machines plus grosses et des distributions plus récentes à installer dessus, pour bénéficier de plus de fonctions, n'hésitez pas…
Merci à toutes celles et tous ceux qui m'ont apporté leur soutien sur le présent forum et les autres.
J'espère en avoir oublié le moins possible...
Épilogue : Maintenant que je sais que ça marche et à peu pres comment ça marche, je vais le tenter sur une machine encore plus invraisemblable que l'Atom ci-avant, une machine par laquelle j'ai commencé mes essais...
Encore merci.
Message édité par a1c2b3 le 14-06-2021 à 16:27:30