QMagneto : Guide électronique des programmes TV avec fonction d'enregistrement

QMagneto est un EPG (Electronic Program Guide), un guide électronique des programmes TV permettant d'afficher les programmes en cours et à venir. Il permet également de programmer l'enregistrement des émissions par l'appel d'un programme externe comme VLC ou Mencoder. Il est ainsi possible d'enregistrer les programmes en provenance d'une BOX (Freebox ou Neufbox) ou d'un décodeur TNT.

Pré-requis

Installation

Ajoutez le PPA ppa:qmagneto/ppa1) dans vos sources de logiciels, rechargez la liste des paquets, et installez le paquet qmagneto.

ou en une ligne dans un Terminal :

sudo add-apt-repository ppa:qmagneto/ppa && sudo apt-get update -qq && sudo apt-get install qmagneto

Utilisation

Lancez l'application via le tableau de bord Unity ou ou via la commande suivante :

qmagneto

L'interface est assez simple. La fenêtre principale affiche les programmes télé sous forme d'une grille. Les ascenseurs permettent de se déplacer. Toutes les émissions affichent dans une case de la grille leur nom et l'horaire de début et de fin du programme. Certains possèdent des étoiles (3 maximum) qui indiquent la qualité du programme. D'autres enfin affichent des images miniatures illustrant l'émission.

En cliquant sur un programme, celui-ci est sélectionné (sur fond vert) et la fenêtre "Description" affiche des détails supplémentaires.

En double-cliquant sur ce même programme, un dialogue s'affiche afin de programmer l'enregistrement ou le visionnage.

Le bouton "Programmer" restera grisé si le canal n'est pas configuré correctement

Configuration

Il est possible de programmer l'enregistrement ou la lecture des émissions. Pour cela il est nécessaire que la chaine soit configurée dans le dialogue "Canaux" et que les bons programmes d'enregistrement ou de lecture soient choisis.

Programme d'encodage

C'est le nom du programme à lancer lors des enregistrements. Par défaut ce programme est Mencoder. Il est également possible d'appeler VLC ou tout autre programme. (par exemple : mpv, tzap ou gnutv)

Options d'encodage

Ce sont les paramètres qui vont être transmis au programme d'enregistrement. Deux variables doivent apparaitre obligatoirement dans cette ligne :

  • $STREAM : cette variable sera remplacé par le champ "Correspondance Box" configuré dans le dialogue "Canaux" en fonction de la chaîne choisie
  • $OUT : sera remplacé par le nom du fichier choisi lors de la programmation de l'enregistrement

D'autres paramètres peuvent être ajoutés afin de réencoder ou redimensionner le flux vidéo. Voici un exemple de paramètres pour Mencoder :

"$STREAM" -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1500 -vf scale=-2:400 -ffourcc DIVX -fps 25 -ofps 25 -o  "$OUT.avi"

Exemple avec gnutv :

* programme : gnutv
* options : -channels /home/jp/channels.conf -out file "$OUT" $STREAM

 -channels  /home/jp/channels.conf   -out file "$OUT"    $STREAM 

* format nom de fichier par défaut : [%n]-%t-%d %m %y.ts

Ici, gnutv fait appel au fichier channels.conf qui se trouve dans le dossier /home/jp.
La variable $STREAM contiendra le nom de la chaîne tel qu'il a été configuré dans le champ "Correspondance Box" du dialogue "Canaux".

Dans cet exemple, ce sera par exemple "France 2(GR1 A)" indiqué dans le champ "Correspondance Box" : ce nom doit être le nom de la chaîne tel qu'il apparait dans le fichier channels.conf.
La vidéo enregistrée est lisible avec Vidéos, avec VLC, avec xine, avec MKVToolNix GUI, avec Kaffeine, avec mpv Media Player et avec GNOME MPV.

Programme de lecture

C'est le nom du programme à lancer pour la lecture des programmes. Par défaut ce programme est VLC.

Options de lecture

  • $STREAM : cette variable sera remplacée par le champ "Correspondance Box" configuré dans le dialogue "Canaux" en fonction de la chaine choisie
L'application ne vérifie pas l'existence réelle des programmes externes pour l'encodage ou la lecture. Veillez donc à installer le paquet du programme désiré et vérifiez qu'il peut être lancé en indiquant éventuellement le chemin complet.

Exemple avec mpv :

* programme : mpv
* options : dvb: ⁄⁄ $STREAM

dvb://$STREAM 

Ici, mpv fait appel au fichier channels.conf qui se trouve dans le dossier ~/.mpv
La variable $STREAM contiendra le nom de la chaîne tel qu'il a été configuré dans le champ "Correspondance Box" du dialogue "Canaux".

Dans cet exemple, ce sera par exemple "France 2(GR1 A)" indiqué dans le champ "Correspondance Box" : ce nom doit être le nom de la chaîne tel qu'il apparaît dans le fichier channels.conf.

Fichier XML des programmes

QMagnéto peut lire tout fichier XML au format compatible avec XMLTV. Ce format est décrit sur la page de OnTV. Malheureusement la récupération avec XMLTV est souvent assez longue et échoue même parfois. Rassurez-vous, quelqu'un se charge (merci à lui) sur le site http://xmltv.dtdns.net/ de récupérer régulièrement ce fichier, il est donc fortement conseillé de l'utiliser. Trois guides sont proposés sur le site :

  • Le guide TNT qui propose toutes les chaines présentes sur la TNT (y compris les chaines payantes et locales)
  • Le guide complet contenant toutes les chaines (TNT, Satellite, etc.)
  • Le guide TNT lite qui propose uniquement les 19 chaînes nationales

Vous avez aussi la possibilité de créer votre propre fichier XML

QMagnéto est capable de lire et intégrer les programmes des deux fichiers. A vous de choisir. Le fichier XML est lu une seule fois (en cliquant sur le bouton lire du dialogue "Configurer") par le programme qui renseigne une base de données SQLITE afin d'accélérer l'affichage des programmes. Lorsqu'il a été lu, ce fichier n'est plus utile et peut être supprimé. Les deux fichiers XML possèdent 9 jours de programmes TV. C'est-à-dire qu'une nouvelle lecture du fichier sera nécessaire au bout de cette échéance.

Images miniatures

Certaines émissions possèdent des images miniatures permettant d'illustrer le programme. Les images miniatures (environ 300 pour le fichier de la TNT) sont téléchargées une à une dès que la lecture du fichier XML est terminée. Ces images sont également sauvegardées dans la base de données et ne sont donc récupérées qu'une seule fois. Comme il faut un certain délai pour récupérer l'ensemble des images, leur affichage dans le guide ne se fera pas immédiatement ce qui est normal. Si vous quittez le programme et que le téléchargement des miniatures n'est pas terminé, il reprendra au lancement suivant avec la suite des images.

Si QMagnéto est lancé dans un terminal, la progression du téléchargement des images est affichée.

Canaux

La configuration des canaux est utile si vous désirez enregistrer ou visionner les émissions. Dans ce cas il faut faire correspondre le champ "Numéro de chaine" présent dans fichier XML au paramètre "Correspondance Box" à fournir au programme d'enregistrement.

Les cases à cocher permettent d'activer ou de cacher les chaines dans lors de l'affichage. Lorsqu'une chaine est décochée, ses programmes ne sont pas chargés lors de la lecture du fichier XML.

Les flèches permettent de changer l'ordre d'affichage des chaines.

Si vous possédez une Freebox

Pour les utilisateurs non dégroupés, une petite visite du site http://tv.freebox.fr/ vous expliquera que ce service est arrêté depuis le 1/02/2011. Plus d'informations ici

Le fichier contenant les chaines accessibles par le multiposte est accessible à l'adresse http://mafreebox.freebox.fr/freeboxtv/playlist.m3u. On peut trouver dans ce fichier des lignes comme :

#EXTINF:0,2 - France 2
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=sd

La première ligne contient le nom de la chaine TV, la deuxième va permettre de renseigner la colonne "Correspondance Box". La ligne "C2.telepoche.com" doit être renseigné avec "rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=sd" qui est le canal de France 2 sur le multiposte. En renseignant le bon paramètre, il est ainsi possible d'enregistrer ou voir différents flux vidéo en provenance des Box mais aussi la TNT. Un champ "correspondance" contenant "NONE" indique qu'il n'est pas possible d'enregistrer la chaine correspondante. Les champs sont pré-renseignés pour le multiposte de la Freebox, mais il est possible de paramétrer comme vous le désirez.

Plutôt que de saisir les numéros de chaine un par un, voici une méthode pour configurer toutes les chaines d'un coup2). Vous allez devoir commencer par fermer Qmagneto et afficher les fichiers cachés de votre Dossier Personnel. Déplacez-vous ensuite dans le dossier .qmagneto et faites une copie du fichier qmagneto.ini, pour revenir à votre configuration précédente suite à une fausse manipulation. Puis, ouvrez le fichier qmagneto.ini.

Ce fichier contient une section [Channels] qui définit quelles chaines apparaissent dans Qmagneto et dans quel ordre, ces lignes sont de la forme suivante :

C117.telerama.fr-isEnabled=0
pos66=C117.telerama.fr

Ce fichier définit aussi l'URL associé à une chaine. Les lignes sont alors de la forme suivante :

C2.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=sd"

Supprimez toutes les lignes définissant les URL et remplacez-les par ce qui suit :

URL_Channels
C28.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=753&flavour=sd"
C7.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=sd"
C15.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=400&flavour=sd"
C39.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C4.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C43.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C47.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C293.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C66.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=438&flavour=sd"
C70.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=227&flavour=sd"
C8.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=372&flavour=sd"
C17.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=678&flavour=sd"
C89.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C2.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=sd"
C3.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=sd"
C95.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=283&flavour=sd"
C96.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=280&flavour=sd"
C97.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=284&flavour=sd"
C98.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=285&flavour=sd"
C99.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=298&flavour=sd"
C100.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=279&flavour=sd"
C101.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=286&flavour=sd"
C102.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=287&flavour=sd"
C103.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=288&flavour=sd"
C104.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=289&flavour=sd"
C105.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=290&flavour=sd"
C106.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=291&flavour=sd"
C107.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=297&flavour=sd"
C108.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=292&flavour=sd"
C109.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=293&flavour=sd"
C110.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=294&flavour=sd"
C111.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=295&flavour=sd"
C112.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=296&flavour=sd"
C113.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=257&flavour=sd"
C114.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=299&flavour=sd"
C117.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=300&flavour=sd"
C115.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=301&flavour=sd"
C116.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=302&flavour=sd"
C118.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=303&flavour=sd"
C13.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=376&flavour=sd"
C5.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=203&flavour=sd"
C119.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=238&flavour=sd"
C18.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C294.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=689&flavour=sd"
C16.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=679&flavour=sd"
C14.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=226&flavour=sd"
C133.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C283.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=414&flavour=sd"
C136.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C6.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C166.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=389&flavour=sd"
C12.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=375&flavour=sd"
C174.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=686&flavour=sd"
C11.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=374&flavour=sd"
C186.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=213&flavour=sd"
C188.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C212.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=880&flavour=sd"
C214.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=389&flavour=sd"
C1.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C228.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C231.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=267&flavour=sd"
C10.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=497&flavour=sd"
C233.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C244.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"
C245.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=493&flavour=sd"
C241.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=268&flavour=sd"
C242.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=319&flavour=sd"
C9.telerama.fr="rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=NONE&flavour=sd"

Pour finir, enregistrer le fichier qmagneto.ini et ouvrez Qmagneto. Double-cliquez sur une des chaines fournies par Free3). Si les boutons Vue et Programme sont dégrisés, c'est que cette chaine a bien été configurée.

Comme on n'est jamais à l'abri des coquilles, vérifiez que la chaine configurée par cette méthode est bien la bonne avant de faire un enregistrement !

Si jamais vous rencontrez un problème, n'hésitez pas à supprimer le fichier qmagneto.ini que vous venez d'éditer et à le remplacer par le fichier de sauvegarde fait au début de ce paragraphe.

Si vous possédez une Neufbox

Récupérer les infos dans le fichier suivant http://tv.sfr.fr/tv-pc/televisionsurpc.m3u

Pour une chaine prendre l'url dans le m3u qui est un fichier htm Le récupérer : wget url -O a.htm Dans a.htm il y a 3 URL. Prendre n'importe laquelle et la mettre dans la colonne "Correspondance Box".

le fichier m3u ne donne pas le flux mais l'adresse du flux. VLC sait gérer cette indirection mais pas Mencoder donc si on met l'URL du m3u on peut visionner avec VLC mais pas enregistrer avec Mencoder.

Désinstallation

Pour supprimer cette application, il suffit de supprimer son paquet. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leur dossier personnel sont toujours conservés.

Problèmes connus

Erreur au lancement

Si au lancement de Qmagneto vous avez un message de ce genre :

Unable to establish a database connection.Agenda needs SQLite support. Please read the Qt SQL driver documentation for information how to build it.

Installez le paquet libqt4-sql-sqlite, puis supprimez le dossier caché .qmagneto qui se trouve dans votre Dossier personnel.

source: discussion sur le forum Ubuntu-fr

Aucune recuperation des programmes (depuis que l'URL a changé)

Depuis que l'URL des guides TV a changé (le FQDN http://xmltv.dtdns.net/ a remplacé xmltv.myftp.org et xmltv.dyndns.org), certaines anciennes versions de QMagneto ne fonctionnent plus, il faut donc arreter QMagneto puis taper la commande suivante pour mettre a jour l'URL des guides TV :

sed -ri "s/xmltv.(myftp|dyndns).org/xmltv.dtdns.net/g" ~/.qmagneto/qmagneto.ini

puis relancer QMagneto.

Pas de support de la chaîne BFM Business Paris (anciennement Cap 24)

Actuellement, QMagneto ne supporte pas cette chaîne : il n'y a pas d'EPG pour la chaîne BFM Business Paris, donc pas d'enregistrement en différé possible, ni de lecture possible. Néanmoins, on pourra juste se contenter pour l'instant de lire cette chaîne avec un simple VLC et un channels.conf qu'on aura pris soin de générer avec w_scan.

Cependant selon le développeur de QMagneto, "le guide TV est fourni par le site http://xmltv.dtdns.net/ et c'est à lui d'intégrer la modification concernant la chaîne".

Néanmoins, d'après le développeur de XMLTV, "les infos récupérées proviennent du site de Télérama et ils n'ont pas encore fait le changement de leur côté (programme vide aussi sur leur site)".

Nous pouvons donc espérer le support de la chaîne BFM Business Paris par Télérama dans les jours ou semaines qui viennent…

Au 7 mai 2011 à 20h54, aucune mesure n'a été prise par Télérama bien qu'il en soit informé depuis trois mois.

Au 11 mai 2011 à 12h03, le flux web comportait aussi la chaîne BFM Business Paris mais pas le flux iPhone qui sert lui à XMLTV.

Au 23 septembre 2011 à 16h48, on apprend à ce propos : ""Nous [Télérama] préparons une mise à jour.".

Il ne reste plus qu'à vérifier dans les heures ou jours qui suivent…

Au 10 novembre 2011 à 0h45, je ne vois toujours pas BFM Business de disponible… Affaire à suivre (Kévin, webmaster de http://xmltv.dtdns.net)

Impossible d'enregistrer ou de lire une chaine

Si vous n'avez pas installé les paquets VLC et mencoder, vous ne pourrez pas lire et enregistrer une chaine. En effet, par défaut Qmagneto utilise ces programmes, sans pour autant vérifier qu'ils sont effectivement installés. Pour régler ce problème, installez les paquets vlc et mencoder.

Plus d'informations sur ce bogue ici.

Voir aussi


Contributeur principal : jlbrd (l'auteur de QMagnéto). Contributeurs secondaires : HackerLiberty, Kévin Patault (http://xmltv.dtdns.net)

2)
pour le fichier TNT.zip évoqué précédemment, les chaines manquantes sont Canal 32, Canal+, Canal+ Cinéma, Canal+ Sport, Cap 24, Eurosport, Gulli, LCI - La Chaine Info, LM TV Sarthe, M6, Planète, TF1, TF6, TPS Star, TV Rennes et W9. Free ne fournit pas ces chaines
3)
pour rappel, Free ne fournit pas les chaines Canal 32, Canal+, Canal+ Cinéma, Canal+ Sport, Cap 24, Eurosport, Gulli, LCI - La Chaine Info, LM TV Sarthe, M6, Planète, TF1, TF6, TPS Star, TV Rennes et W9
  • qmagneto.txt
  • Dernière modification: Le 28/04/2018, 11:21
  • (modification externe)