Journal Regarder la télévision sur la passerelle multimédia HDP-R1

Posté par (page perso) . Licence CC by-sa
12
7
mar.
2012

La machine

Je viens de m'offrir cette passerelle pour pouvoir regarder des divx tranquillement, loin de mon ordinateur. Bon support du réseau, même à travers le courant porteur en ligne. Le réseau se configure sans problème en DHCP ou en IP fixe.
Testé avec un serveur samba et un serveur Upnp, sous linux.
Les sous-titres sont lus sans problème avec le réseau, ainsi que lorsqu'ils sont encapsulés dans un fichier mkv (par contre dans ce dernier cas, ce n'est pas automatique, il faut passer par la touche ad-hoc de la télécommande).
Ca m'a l'air assez stable, même dans des situations un peu extrêmes. Par exemple, j'ai mis le film en pause, modifié le fichier de sous-titres sur le serveur: quand on remet le film en route, ça reprend bien avec le fichier modifié.
Le constructeur met régulièrement ses firmwares à jour, il y a aussi
des firmwares alternatifs (pas testé). Pour l'instant, il a lu toutes les vidéos que j'ai essayées. Les cables HDMI et vidéo sont fournis.

Devant tous ces succès, je me suis dit que je pourrais l'utiliser pour regarder la télé (il n'y a pas d'antenne à l'étage où est la télé). Ca marche, mais ce n'est pas si simple: asus fournit une playlist fermée d'un certain nombre de chaînes sur le Web. Beaucoup ne s'affichent pas bien.

De la carte DVB à un serveur web

J'utilise le programme léger getstream

Le gros avantage de passer par getstream est qu'on peut regarder la télévision en même temps qu'on l'enregistre, ou même qu'on regarde une autre chaîne du même transpondeur.

Il faut un fichier de configuration par transpondeur.

http { port 8200; };
adapter 0 {
dvb-t {
            frequency 730166000;
            bandwidth 8;
            transmission-mode auto;
            guard-interval auto;
            hierarchy none;
            modulation auto;
};

stream  {
name France_2;
input { pnr 257; };
output-http {
url /France_2;
};
};

stream  {
name France_5;
input { pnr 260; };
output-http {
url /France_5;
};
};

Il est facile de fabriquer ce fichier à partir de ~/.mplayer/channels.conf

On lance le serveur en tâche de fond par
getstream -c fichier_de_config_du_transpondeur &

Editer la liste de lecture des favoris du lecteur

Il faut modifier les fichiers /usr/local/etc/dvdplayer/TVStationUrl et /usr/local/etc/dvdplayer/TVStationFavorite du player.

Chaque chaîne correspond à une ligne

telnet ip_du_HDP-R1

Le login est root, le password est vide. Il est demandé au premier login, mais plus après.
Exemple pour une seule entrée:

echo "http://url_tv" >> /usr/local/etc/dvdplayer/TVStationUrl
echo "Name_of_the_channel" >> /usr/local/etc/dvdplayer/TVStationFavorite

Maintenant, l'entrée est dans les favoris. Malheureusement, ça disparaitra à l'extinction de la machine, d'où l'intérêt d'automatiser, par exemple avec expect.

#!/usr/bin/expect -f

set transpondeur [lindex $argv 0]

spawn telnet hdp-r1
expect "Venus login:"
send "root\r"
expect "/ #"
send "cd /usr/local/etc/dvdplayer; wget http://mon_adresse_ip/~moi/hdp1-r1/$transpondeur/TVStationUrl ; wget http://mon_adresse_ip/~moi/hdp1-r1/$transpondeur/TVStationFavorite ; cd\r"
expect "/ #"
send "exit\r"

Si je lance ce script avec le paramètre 730166000, les fichiers sont copiés sur le HDP-R1 depuis l'adresse web http://mon_adresse_ip/~moi/hdp1-r1/730166000/

Si l'image n'est pas bonne

Visiblement, le logiciel de la machine gère très mal le cache, ce qui fait que très souvent, on perd le son ou alors on a des coupures par intermittences.

Une solution est de passer par vlc qui joue le rôle de cache:

#!/bin/bash
cvlc  http://localhost:8200/France_2 --sout '#standard{access=http,mux=ps,dst=mon_adresse_ip:9002/France_2}' &
sleep 2
cvlc  http://localhost:8200/France_5 --sout '#standard{access=http,mux=ps,dst=mon_adresse_ip:9005/France_5}' &

et on modifie les adresses dans le fichier TVStationUrl en conséquence.
Et là tout baigne, on peut enfin regarder la télé confortablement installé !

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.