Un serveur SAT>IP à base de Raspberry Pi

Chez moi, depuis un moment, j’utilise des tuners réseau de chez Elgato. Ça marche relativement bien, mais la solution reste très dépendante d’EyeTV ou de logiciels compatibles, ce qui est un problème : la liaison est en partie propriétaire. Et puis j’ai découvert le SAT>IP et j’ai pensé (à tort nous allons le voir) que j’avais la solution miracle.

L’idée derrière SAT>IP est intéressante : faire passer le nécessaire pour la réception satellite (DVB-S et DVB-S2) sur un réseau IP. Il n’y a pas de recompression ou autre : le serveur SAT>IP reçoit le signal DVB-S(2) et transmet les données. Un client SAT>IP, lui, réagit comme s’il était relié au tuner. Le protocole est documenté et prend en charge (en option) le DVB-C (câble) et le DVB-T (hertzien, la TNT). Sur le papier, c’est génial : on installe un serveur SAT>IP qui contient les tuners, et tous les appareils du réseau peuvent y accéder.

Le serveur

Les serveurs SAT>IP physiques restent assez onéreux, comme les clients (il y a une liste là). Comme souvent, je comptais utiliser un Raspberry Pi couplé à un tuner DVB-T (un PlayTV, mais des tas de tuners TNT fonctionnent sous Linux). En effet, il existe deux serveurs SAT>IP pour Raspberry Pi, Minisatip et Satpi. J’ai testé les deux et l’installation ne pose pas vraiment de soucis : on récupère les sources, on compile, on lance. Les deux logiciels proposent une interface web basique qui affiche l’usage des tuners. Techniquement, ça marche, et un Raspberry Pi 3 ne pose aucun souci. J’ai testé les deux et ils réagissent bien tous les deux.

Le client

C’est tout mon problème. EyeTV (sur Mac) est normalement compatible, mais il ne permet pas de chercher les chaînes. Visiblement, il ne fonctionne qu’avec des tuners DVB-S (satellite) en face. Impossible, donc de récupérer une image. Et c’est sans même prendre en compte le fait qu’EyeTV est complètement à la ramasse technologiquement en 2018 : uniquement 32 bits (donc bientôt problématique), sans accélération vidéo, etc. J’avais acheté il y a longtemps pour des tests une application iOS édité par Elgato (EyeTV Sat>IP). En dehors du fait qu’elle m’avait coûté 1 € en 2016 et qu’elle vaut 47 € (?) actuellement, cette application a un gros défaut : elle ne supporte pas la HD, ni le codec audio utilisé en France. Sur la petite trentaine de chaînes de la TNT, il n’y en a donc que deux qui sont accessibles totalement : France Info et LCI. Les quelques chaînes qui utilisent du MPEG Audio (et pas le codec de Dolby) passent, mais sans l’image. Il s’agit des chaînes de France TV et parfois quelques chaînes locales (BFM Paris chez moi). J’ai testé la version Android de l’application (1 €), elle a les mêmes défauts idiots. Le problème, ensuite, c’est que les clients pour Mac ou iOS sont rares, chers, et fonctionnent mal avec le serveur Raspberry Pi. Ca peut venir du serveur, certes, mais c’est dommage. Je n’ai rien trouvé de gratuit, ou – au minimum – que je peux tester. SAT>IP Viewer sur Mac vaut 17 € et la version iOS (4,5 €) plante lamentablement quand je cherche des chaînes.

1 € en 2016. 47 € en 2018.


LCI en SAT>IP


L’interface web, basique

Plus largement, même si visiblement SAT>IP est un standard, il y a encore pas mal de soucis d’interopérabilité et les clients restent malheureusement assez rares. Du coup, je comptais au départ expliquer comment installer un serveur sur Raspberry Pi et automatiser le lancement, mais ça ne sert pas tellement en pratique. Après, si vous avez un tuner satellite en USB (ou un machine Linux avec un bon tuner en PCIe), ça peut fonctionner avec des logiciels comme TVHeadEnd. Et si la version 3.0 de VLC annonce une compatibilité SAT>IP, je n’ai pas trouvé comment chercher les chaînes. Le logiciel permet bien de streamer (il voit les serveurs) mais du coup, sans la liste des chaînes, ça n’a aucun intérêt.