Raspberry Pi

Transformer un Raspberry Pi en tuner TNT : j’ai essayé !

S’il y a bien une chose dont je rêve depuis que je suis étudiant, c’est d’un Media Center dans mon salon.

Avec la sortie du Raspberry Pi, ce micro ordinateur d’une trentaine d’euros, le coût d’une telle installation peut même se comparer à un produit fini issus du commerce. Les quelques accessoires font à peu près doubler le prix : carte micro SD, alimentation micro USB, câble HDMI et bien évidemment un tuner TNT (norme DVB-T).

Mais si vous pensiez vous en tirer si facilement, c’était sans compter la plateforme sur laquelle repose le Raspberry Pi : l’architecture ARM. Fantastique monde de non-standardisation, absence de BIOS et surtout de très mauvais pilotes, en particulier celui de l’USB.

Je suis allé chercher mon matériel chez Farnell (http://fr.farnell.com/), vous y trouverez les accessoires. Tout est arrivé en quelques jours et le moins que je puisse dire c’est que ça en jette :

Raspberry Pi Raspberry Pi Raspberry Pi

Maintenant que le décor a été planté, passons au vif du sujet. La problématique de ce projet est : « où trouver la source des chaînes de télévision ? ». À cela deux réponses :

  • Ou bien dans une playlist, comme la Freebox V6 Revolution propose (incluant TF1 & M6 si elle est raccordé à l’antenne râteau)
  • Ou bien via un Tuner TNT, libérant de la bande passante ADSL pour d’autres activités

Vous l’avez compris, la seconde option est la plus générique bien que non conventionnelle, vous allez comprendre pourquoi.

Trouver un tuner DVB-T ayant un driver compatible pour Raspberry n’est pas chose facile. La liste officielle est plutôt étriquée et propose des modèles si vieux qu’ils ne sont pour certain plus en vente, ou présentent parfois des incompatibilité avec le Pi alors même qu’il s’agit d’une page listant ceux qui sont censés marcher.

Première méthode, aller sur linuxtv.org. Je vous conseille de trier selon la colonne « Supported » (les « No » en haut, pour voir apparaître les tuners supportés par le noyau Linux récemment juste après). Les distributions récentes utilisent à ce jour le noyau 3.12 et j’ai remonté la liste jusqu’au tuners supportés par le 2.26. J’ai lu sur des forums que ceux qui étaient recommandés il y a des années n’étaient parfois plus supportés avec le temps. D’autre part, certaines références sont vendues avec des télécommandes « plates » low cost dont je ne voulais pas, au lieu d’une vraie télécommande de salon. J’ai enfin écarté les cartes à doubles tuners car leur consommation électrique requiers souvent un Hub alimenté.

J’ai ainsi isolé quatre modèles encore en vente répondant à ces critères et garantis d’être supportés sous Linux selon la liste :

  • Avermedia A815U Tuner USB compact Noir, sans prise antenne
  • Terratec Cinergy Hybrid Stick, qui ne propose pas les chaines HD
  • KWorld UB499-2T PlusTV Dual DVB-T souvent acheté avec le Pi mais dont les frais de ports atteignent 20€ avec une télécommande plate
  • Elgato EyeTV DTT Deluxe, satisfaisant mais cher (70€ !)

Je ne savais pas trop quoi choisir. On passe vite beaucoup de temps à faire des recherches et cela en devient exaspérant. J’ai ciblé des tutoriels de personnes ayant réussi à coupler un tuner DVB-T au Raspberry Pi, mais tous les résultats ont au moins 2 ans, donc peu fiables sur le support actuel.

J’ai choisi le quatrième modèle, qui présente l’avantage d’être livré avec un tas d’accessoires (cordons, connecteurs) et qui est si compact que je pouvais connecter sans soucis d’autres équipements à ses côtés.

Elgato eyeTV DTT Deluxe Elgato eyeTV DTT Deluxe

De nombreuses pages assurent sa compatibilité avec Linux :

  • cette page linuxtv.org
  • le wiki d’Archlinux (même l’une des seules références)
  • et linux-hardware-guide.com
  • J’ai reçu mon paquet une semaine après l’avoir commandé, il est arrivé comme prévu avec un tas de choses dedans. Mis à part les piles qui avaient coulées, le produit est d’excellente facture. Sans se tortiller on peut parler de haut de gamme.

    Le Pi est connu et réputé pour son support très hasardeux des périphériques USB : le pilote est loin d’être stable et provoque des erreurs de toute sorte qui ne se produisent pas sur d’autres architectures.

    J’étais parti pour vous faire un tutoriel sous Raspbmc, mais il s’est avéré que j’ai perdu une demi journée à me hérisser les poils dessus. J’ai cru que mon joujou n’était plus ou pas encore compatible Linux mais il s’est avéré que sous Ubuntu 14.04LTS la clé est reconnue. Cependant même sur mon PC portable et relié à la prise antenne, impossible de scanner la moindre chaîne. Je viens d’imprimer mes feuilles de retour de produit sur Amazon.

    Je suis attiré par le logiciel XBMC depuis ses débuts, je trouve ce projet Open Source fantastique et aux finitions impeccables. J’ai lu avec étonnement que le projet allait être renommé Kodi dès la prochaine version, visiblement pour acquérir les droits incontestables d’une marque qui ne pose plus de risque juridique.

    Trois « micrologiciels » dédiés à XBMC cohabitent : Raspbmc, Xbian et OpenElec. Ce dernier cache totalement l’accès au système Linux qui le propulse, ce qui le rend à mon sens difficilement utilisable car Raspberry Pi reste synonyme de cambouis. Raspbmc et Xbian se partagent quant à eux une base commune (la distribution Raspbian) et diffèrent par leur support matériel -Xbian n’ayant pas reconnu mon clavier USB sans fil- ainsi que par leur fréquence de mise à jour -Raspbmc se voulant plus stable-.

    Ces trois systèmes sont livrés avec un « backend PVR » appelé TVHeadEnd, c’est à dire un serveur de streaming et d’enregistrement de flux de tuners TNT destiné à unifier la manière dont les chaînes de TV doivent être lues pour sortir dans VLC, XBMC et autres applications de smartphone. XBMC dispose d’un frontend TVHeadEnd qui affiche normalement les chaînes de la manière suivante :
    tvheadend

    On trouve sur Internet tout ce qu’il faut pour parvenir à ses fins.

    Pour Raspbmc par exemple, une fois votre tuner reçu, il se configure en quelques étapes :
    – Survolez le menu « Programme » de l’écran d’accueil et sélectionnez « Raspbmc Setting »
    – dans le premier onglet de la fenêtre intitulé « Network configuration », lisez l’adresse IP de votre Raspberry Pi
    – Naviguez jusqu’à l’onglet « System configuration », cherchez dans le bas de la longue liste la ligne « TVHeadEnd Server » et activez le service. Un numéro de port à quatre chiffres est indiqué. Cliquez sur « OK » en bas de la fenêtre.
    – Accédez à l’adresse IP depuis un navigateur Web en ajoutant le port à sa suite. Exemple : « http://192.168.0.209:9981 »

    Une interface apparaît ! L’onglet « Configuration » dispose d’un sous onglet « DVB Inputs », où un champ « Select TV adapter » n’attend qu’un clic de votre part pour vous suggérer l’adaptateur USB que vous avez connecté.

    Ah ? Le votre n’y est pas ? Pas de panique, branchez un clavier USB, servez vous un chocolat chaud et suivez mes instructions :
    – dans l’interface, utilisez la flèche du bas pour aller sur le bouton carré d’extinction en bas a gauche de l’écran, et sélectionnez « Sortir ». Vous passez du côté obscur de la Force.
    – l’interface disparaît, pressez alors frénétiquement la touche « Echap » jusqu’à rendre l’écran noir.
    – À présent, seuls quelques mots apparaissent à l’écran. « login: » vous invite simplement à entrer les lettres « pi », qui apparaissent à l’écran. Appuyez sur la touche « Entrée » du clavier.
    – Une nouvelle ligne apparaît « Password: », tapez « raspberry ». Ne soyez pas déboussolé, aucun texte n’apparaîtra à l’écran pendant votre frappe. En cas d’erreur, la touche A de votre clavier peut être intervertie avec Q, dû à une disposition à l’anglaise. Appuyez à nouveau sur la touche « Entrée » du clavier.

    C’est le moment de reprendre du chocolat, de serrer votre chat une dernière fois dans vos bras :

    – tapez « sudo apt-get install bash-completion firmware-linux* »
    – tapez « sudo reboot » et laissez respirer ce pauvre chat. Le Raspberry Pi redémarre et l’interface réapparaît.

    Si à la suite de ces étapes votre tuner n’est pas reconnu, vous attraperez des cheveux gris.

    Raspbmc install Raspbmc install Installation Raspberry Pi

    Le décodage des codecs de la norme DVB-T est censé se faire matériellement, soit gratuitement pour les chaînes HD encodées en H264/MPEG?4 AVC, soit en payant une licence MPEG-2 de 2€ depuis le site du projet pour les chaînes SD.

    Il serait parfaitement envisageable d’ajouter des services tels qu’un serveur Torrent, un émulateur de jeux ou encore un partage de fichier pour pousser le Raspberry Pi dans ses derniers retranchements et exploiter sa capacité de NAS à son maximum. Vous aviserez selon la fluidité de votre installation !

23 commentaires sur “Transformer un Raspberry Pi en tuner TNT : j’ai essayé !

  1. Un bon article DIY comme je les aime !

    Merci beaucoup d’avoir partagé ça avec nous ! C’est fou tout ce qu’on arrive à faire avec ce petit ordinateur 🙂

  2. J’ai aussi de mon côté faire du Raspberry un média centre. Mais je trouve que ce n’est pas assez fluide et que ça plante régulièrement. C’est passable sans la fonctionnalité du tuner TV, mais ça devient vite agaçant.

    J’ai donc opté pour une petite machine, non ARM du coup.

    Voici mon installation (plus coûteuse mais plus confortable): http://blog.neolao.com/media-center/

  3. Je ne conseille pas du tout le RPI comme NAS. Comme unité de « calcul » (domotique / multimedia / …) il est très bien mais pour du stockage réseau, vous l’avez dit vous même, l’USB est instable.

    Sinon je suis d’accord que pour bidouiller OpenElec n’est pas idéal parce que tout est caché, il n’empêche que c’est la distro qui se débrouille le mieux pour installer XBMC. J’ai mon RPI avec OpenElec et un poil d’overclock, ça lit tout au poil, même du gros 1080p. Par contre le son est décodé par mon HC.

  4. Le plus gros manque du Raspberry Pi à mon sens est un port Sata, je me demande toujours pourquoi révision après révision il n’y en a toujours pas, même pour quelques euros de plus.

  5. Oulà, je ne pense pas. Du moins s’il n’existe pas un accès console, je ne vois pas comment installer les pilotes de telle ou telle carte qui en nécessitera.

  6. je tiens a signaler que ça marche pas du tout donc inutile de suivre son tutoriel et un achat pour rien
    merci

  7. Il faut lire entre les lignes avant peut-être, j’ai bien précisé, je cite :

    « Le Pi est connu et réputé pour son support très hasardeux des périphériques USB : le pilote est loin d’être stable et provoque des erreurs de toute sorte qui ne se produisent pas sur d’autres architectures.

    J’étais parti pour vous faire un tutoriel sous Raspbmc, mais il s’est avéré que j’ai perdu une demi journée à me hérisser les poils dessus. J’ai cru que mon joujou n’était plus ou pas encore compatible Linux mais il s’est avéré que sous Ubuntu 14.04LTS la clé est reconnue. Cependant même sur mon PC portable et relié à la prise antenne, impossible de scanner la moindre chaîne. Je viens d’imprimer mes feuilles de retour de produit sur Amazon. »

    Il n’y a donc aucune surprise, ce tutoriel est parfaitement valable avec du matériel qui fonctionnerait sur le Pi.

  8. j’ai la v2…il serait utile de préciser une date ou de réediter v1 car ce n’est pas du tout la même chose

    y’a 5000 tutoriaux pour elgato mais aucune date, pour trouver la valider, faut se lever tot

    elle n’est toujours pas fonctionnel pour mon dmesg m’indique que le firmware est fonctionnel

  9. bonjour a tous

    je compte installer mon RaspBMC dans ma voiture et j’aimerais pouvoir installer ce systeme avec la Tele pour mes enfants a l’arriere
    y a t il une solution pour moi ?

  10. Bonjour,

    je m’intéresse aussi à un système de réception TNT via un Rpi…

    Je me demande s’il est possible :

    – d’enregistrer la TNT sur un disque dur connecté au Rpi (2 chaines HD en même temps)
    – d’accéder aux enregistrements TNT sur le disque dur via ethernet (pendant un enregistrement en cours ?)
    – de programmer des enregistrements depuis un canapé avec une télécommande infrarouge (style logitech harmony)

    Merci par avance pour vos conseils…

  11. Bonjour,

    – Pour ce point je ne vais pas m’avancer, je pense que cela doit être possible logiciellement avec XBMC et une extension appropriée, mais cela dépend surement aussi des capacités du récepteur en ce qui concerne la lecture et écriture simultanée.
    – Ça en revanche oui, tout serveur Linux est équipé d’un serveur SSH qui propose notament SFTP qui permet de transférer des fichiers par le réseau avec les identifiants de connexion SSH. Le fait que ça enregistre ou pas n’a pas d’incidence, sinon que le fichier en cours d’écriture sera évidemment verrouillé.
    – Là encore, trouver du matériel compatible est le parcours du combattant. Partant du principe que la télécommande infrarouge est reconnue par Linux et/ou XBMC, oui parfaitement, bien que les applications pour téléphone qu’on trouve aujourd’hui dans tous les stores applicatifs sont souvent des télécommandes enrichies (avec une portée/précision beaucoup plus importante que l’IR).

  12. Bonjour,

    Est-il possible de le faire avec un Raspberry Pi Zero ?
    Si oui, quelqu’un peut-il m’expliquer les différentes étapes à réaliser ?
    Sachant que sur le Pi Zero il n’y a qu’une entrée micro USB.
    Merci

  13. Bonjour.

    je viens de lire la méthode pour recevoir la tv avec un tuner tnt.

    Mais peut-on recevoir de la même manière en réception par adsl, à la place du tuner tnt ?

    Merçi

  14. Bonjour tous les deux !

    @dealmeidaj pas sûr, le Zero est 40% plus rapide qu’un Pi de première génération avec lequel je fais tourner OSMC sans problème, mais il y a en effet ce problème d’USB auquel s’ajoute l’alimentation. Je sais que le Pi 3 a été pensé pour enfin pouvoir auto-alimenter des périphériques, aucune idée pour le Zero. Le problème d’alim peut être source du problème évoqué dans cet article.

    @Pédro La TV par ADSL n’est pas toujours permise par les opérateurs, on appelle ça du « multiposte », ce qui permet de regarder la TV via cette même source à plusieurs endroits de la maison. Les opérateurs qui le pratiquent mettent à disposition un fichier playlist contenant les flux vidéos des chaines. Je n’ai pas connaissance d’une prise en charge correcte d’OSMC de ces playlist, ni la possibilité de les interfacer avec le PVR. Si tu as la réponse je pourrais l’intégrer à l’article 🙂

  15. tvheadend est la réponse
    les dernieres moutures de osmc permettent meme d’installer le packaging via « my osmc > appstore »

  16. Pour le pi0 , tout est possible avec un hub alimenté mais tout perd son charme,
    Avoir un hub ,une alim, un dongle usb et l’antenne branché au tout .
    Le tout avec des perfs au ralenti quand meme dans le mediacenter qui va bien (osmc fonctionne bien mais j’ai des latences aux changements de menu)
    Par ailleurs, passer a un rpi3 m’a permis de passer d’une erreur par heure (relance de la chaine tnt) a une fiabilité de 100% acquise , uptime continu
    Bref

    RPI3 + dongle usb linux > OSMC + TVHeadEnd
    Un peu de config et vous avez une freebox puissante maison (tvcenter/mediacenter/nas(samba)/seedbox(transmission)/ et vous pouvez meme y rajouter « Retrosmc » une variante de Retropie sous forme d’addon ! la bascule entre les 2 univers est tres bien prévu et n’empeche en rien le visionnnage TV ou média depuis un 2e rpi !

  17. le premier prix de chez darty « compatible linux » acheté l’an dernier plus précisement :
    Afatech AF9033 (chipset)
    je croit que la marque est avermedia mais rien n’est ecrit sur le dongle et je n’ai plus le cd
    le pilote est a copier dans /lib/firmware
    il m’avait été fourni avec un cd dans la boite « dvb-usb-it9135-02.fw »
    je vais tenter de retrouver la doc pour marque & modele plus précis
    jvais ptete ouvrir un blog ou mémoire en ligne a l’occasion je te ferai signe 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqué du signe *