Freebox TV avec un Hauppauge MediaMVP

Hauppauge MediaMVPLe MediaMVP est un petit boitier sous Linux doté d’une interface PERITEL permettant de le connecter sur un téléviseur et d’une interface Ethernet. Il est fourni de base avec un logiciel serveur sous Windows permettant de lire Musique Vidéo et Photos disponibles sur le PC (d’où son nom), mais il y a moyen de faire bien mieux: la communauté des utilisateurs a développé un Media Player appelé mvpmc qui est capable de lire (entre autres) les flux MP3 et MPEG2 sur HTTP, et supporte aussi d’autres types de serveurs multimedia gratuits (GB-PVR, Myth-TV, VLC …) J’ai acheté ça il y a déjà un petit moment pour pouvoir regarder la TV Freebox sur une deuxième télé, et après quelques expériences (en particulier avec GB-PVR, qui ne marche pas mal du tout mais que j’ai eu beaucoup de mal à faire fonctionner avec les flux Freebox TV), je trouve que finalement la configuration suivante ne marche pas trop mal. Elle nécessite :

  • un serveur DHCP. Dans mon cas dnsmasq sur un routeur Linksys WRT54GS sous OpenWrt. Mais il y en a d’autres;
  • un serveur TFTP permettant de booter la bébête sur le réseau. Dans mon cas un petit serveur NAS NSLU2 sous Debian (affectueusement appelé par sa communauté d’utilisateur slug, ou la limace, pour ses performances);
  • un relais RTSP – HTTP. En effet Free diffuse les flux freebox avec RTSP et UDP et pas en HTTP. J’ai adapté le script Python rtsp2http du programme F2XTV (Freebox to XBOX TV: voir ici pour son installation sur XBOX), installé sur ce même serveur NAS NSLU2.

Cette configuration a les avantages suivants :

  • les serveurs sont en permanence allumés (ils servent aussi à d’autres usages), consomment peu et sont silencieux
  • le MediaMVP est complètement silencieux (contrairement à une XBOX avec XBMC et F2XTV par exemple) et consomme peu (mais autant quand il est en standby que quand il est allumé…)
  • une fois booté le MediaMVP peut lire les radios internet shoutcast même sans serveur (le serveur rtsp2http est toutefois nécessaire pour la TV freebox

Elle a les inconvénients suivants :

  • le slug n’est pas adapté pour faire le transcodage de flux MPEG4 vers MPEG2 nécessaire pour lire un certain nombre de chaines freebox TV.
  • La navigation d’un chaine de TV à l’autre nécessite de passer par l’interface à la « gestionnaire de fichiers » pour sélectionner la chaîne désirée (pas de sélection directe avec les touches de changement de chaîne)
  • Pas de guide des chaînes

Une configuration avec un serveur GB-PVR + le plugin UbuStream est plus puissante mais ça nécessite un PC sous Windows comme serveur. La configuration avec un serveur Myth-TV serait aussi plus puissante mais nécessite un PC comme serveur Linux.

Une amélioration serait de compiler Python et installer rtp2http sur le MediaMVP de manière à ce qu’il soit complètement autonome une fois booté (mais y a-t-il assez de mémoire pour faire tenir python?)

Installation

Ma config

Les fichiers de configuration sont construits avec les noms et des adresses IP des machines:

  • asterix = serveur DHCP
  • obelix = serveur de boot , d’adresse 192.168.1.2
  • assurancetourix = MediaMVP

Configuration de boot

Voir le howto dans le WIKI de mvpmc pour toutes les options possibles (on peut aussi booter sur Windows…). Ma configuration DHCP avec dnsmasq est bien documentée dans HOWTO: Boot From OpenWRT. Pour le serveur TFTP sur le slug :

  1. Installation du serveur tftp

    apt-get install atftpd

  2. Vérifier (ou modifier) l’emplacement des fichiers de boot en éditant /etc/inetd.conf . J’ai gardé le défaut /var/lib/tftpboot .
  3. Copier le fichier de boot du MediaMVP dongle.bin dans /var/lib/tftpboot . Par exemple celui-çi qui permet aussi d’utiliser les versions 7.X du serveur audio Open Source  SqueezeCenter de Logitech . Sinon chercher sur mvpmc.org
  4. Copier le fichier de configuration dongle.bin.config de mvpmc dans /var/lib/tftpboot  . Par exemple celui-çi: donglebin.config

Update 28/09/2009

Voir Limace Kamikaze: d’une pierre deux coups avec dnsmasq pour utiliser le serveur DNS/DHCP (dnsmasq) comme serveur tftp.

Installation de rtp2http

  1. décompresser l’archive rtp2http.tar dans / . Elle contient les fichiers /etc/init.d/rtsp2http ,  /etc/rc2.d/S99rtsp2http ainsi que le répertoire /usr/local/rtsp2http

obelix:/usr/local/rtsp2http# ls

rtsp2http-0.0.7.py  rtsp2http.ini  rtsp2http.py  rtsp2httpChangelog.txt

Configuration

Freebox TV logo(Re)configurer les chaînes TV

  1. Récupérer la playlist des chaînes freebox http://mafreebox.freebox.fr/freeboxtv/playlist.m3u
  2. Créer un fichier playlist pour chacune des chaînes (MPEG2 seulement) qui vous intéressent selon le modèle suivant (192.168.1.2 est l’adresse d’obelix) :

    obelix:/var/lib/tftpboot# more France2.m3u
    #EXTM3U
    #EXTINF:0,2 – France 2
    http://192.168.1.2:8083/freeboxTV/201&flavour=sd

  3. modifier dongle.bin.config pour copier la playlist sur le mediaMVP au boot

Mes playlists Freebox TV pour mvpmc et rtsp2http

Utilisation

Télécommande:

  • La touche TV donne un accès direct à la liste des chaines, dans laquelle on peut naviguer avec les touches Up et Down, et sélectionner avec la OK la chaine choisie.
  • Pour revenir à la liste appuyer sur la touche Exit

Liens