Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/07/2021, à 17:35

Jpécé

VLC en visualisation TNT directe Proposition pour un EPG externe

Ce message concerne les utilisateurs de clé usb TNT et la version Bionic 18.04.x ou antérieure.
Sous Fossa, les logiciels proposés s'installent mais ne fonctionnent plus (en date d'avril 2022), gnome-dvb-control ne se lance plus à cause d'un sombre problème de référence dans Python.
========================================================================

Cette proposition concerne l'utilisation de VLC pour visualiser les chaînes TNT à partir d'une clé usb TNT.
Et spécifiquement l'installation d'un EPG externe à VLC, plus convivial et réactif que la fonction interne de VLC.
EPG = Electronic Program Guide, en français programme des diffusions par chaîne TV.

Ma configuration : PC Intel de 2010 environ, Xubuntu Bionic 18.04.5, VLC 3.0.8 installé via Synaptic (dépôts Ubuntu), carte graphique nvidia et driver nvidia installé via Pilotes Additionnels du Gestionnaire des Paramètres, diverses clés usb TNT dont une antique Terratec Cinergy T toujours opérationnelle bien qu'achetée en deuxième solde pour 10 euros début 2008.

VLC permet de visualiser les chaînes TNT directement via une clé usb TNT.
Avec une carte graphique adaptée, il peut être paramétré pour que les processeurs graphiques
déchargent le CPU. Par exemple, avec une carte graphique nvidia et avec le driver spécifique nvidia, j'ai choisi "Sortie VDPAU"
dans la préférence Vidéo / Sortie , et "Décodeur vidéo VDPAU" dans la préférence Entrée/Codecs / Décodage matériel.
La réduction de charge CPU est spectaculaire en comparaison d'un paramétrage standard, c'est visible par exemple par le gnome-system-monitor.
De manière similaire, sur mon ordinateur portable à processeur Intel plus récent, en utilisant l'accélération VAAPI.
Economie d'énergie et meilleur emploi des capacités de la machine même en usage banal...

VLC se lance directement en visualisation TNT (après connexion physique d'une clé usb TNT) en cliquant sur un fichier d'extension xspf contenant les fréquences des multiplex émetteurs.
On peut trouver ces fréquences par l'utilitaire w_scan (attention, le nom du paquet d'installation est w-scan avec un trait d'union - au lieu du caractère _), en connectant une clé usb TNT et par une commande

$w_scan -x -c FR > TNTfreq.xspf

Voir par exemple ici le format à respecter pour un fichier xspf des fréquences
format xspf
En connexion à un multiplex, VLC affiche l'une des chaînes, et alors le Menu Lecture/Programme permet de permuter entre les chaînes du multiplex en cours.
Pour changer de multiplex, il faut utiliser la liste de lecture de VLC, d'où l'intérêt de nommer chaque multiplex dans le fichier xspf
par une combinaison des noms des chaînes diffusées.
Par le menu Outils/Guide des programmes, on peut voir le programme des chaînes du multiplex en cours,
mais cet affichage peut rester incomplet pendant plusieurs minutes, il faut être patient.

On peut aussi lancer VLC sur la TNT par une commande

$vlc channels.conf

(le fichier channels.conf peut être créé par l'utilitaire w_scan

$w_scan -X -c FR > channels.conf

Dans ce cas, le basculement entre chaînes dans VLC ne peut se faire que par la liste de lecture.
La première chaîne visualisée est la première du fichier channels.conf.

NB. VLC permet d'enregistrer la chaîne TNT en cours de visualisation, comme toute autre vidéo.
Pour cela, il est commode de faire apparaître le bouton rouge "enregistrer" dans le panneau des commandes en bas d'écran via Outils/Personnaliser l'interface.

VLC est au total presque parfait comme logiciel de visualisation directe de la TNT via clé usb TNT.
L'imperfection relative la plus importante en usage courant par rapport à un logiciel spécialisé est l'affichage du programme EPG : limité aux chaîne du multiplex en cours, peu réactif, très rustique.

Pour compenser cette relative faiblesse par l'installation d'un logiciel externe destiné à l'EPG, le gnome-dvb-daemon est probablement la solution la plus légère disponible dans la bibliothèque des paquets des distributions Ubuntu.

Installation d'un EPG externe
Les deux paquets à installer avec leurs dépendances sont :
gnome-dvb-client
gnome-dvb-daemon


Dans le sous-menu Multimedia de XFCE, deux lignes supplémentaires apparaissent après l'installation :
Centre de contrôle DVB et Réglage de la TV Numérique.
C'est Centre de contrôle DVB qui fournira l'EPG.

Quelques opérations de configuration sont nécessaires au préalable.
Voir ici la documentation de référence
Guide de référence (en anglais, mais avec des images)

Ce UserGuide nécessite à l'expérience quelques compléments.
1/ Le fichier des chaînes est à créer via Réglage de la TV numérique, une fois, en connectant une clé usb TNT reconnue par le système.
Ce fichier est indépendant de la machine et du modèle de la clé utilisée, il ne dépend que du lieu géographique.
2/ Si on souhaite utiliser une autre clé usb TNT par la suite, il faut tout de même d'abord passer par la première étape de Réglage de la TV numérique en mode expert avec cette nouvelle clé, mais on peut sortir de ce logiciel par "annuler" avant le (long) scan des chaînes, inutile puisque le fichier des chaînes existe déjà.
3/ Pendant que VLC est en visualisation TNT, on peut consulter l'EPG via Centre de contrôle DVB, plus rapide, plus complet, plus commode que l'EPG interne de VLC.
On peut aussi consulter l'EPG externe avant de lancer VLC en visualisation TNT.
Mais attention, si on consulte cet EPG externe et qu'on le referme avant de lancer VLC en visualisation TNT, ce dernier n'aura plus accès au périphérique tuner.
(idem pour SMPlayer). Dans ce dernier cas, avant de pouvoir lancer VLC avec succès, il faut tuer le gnome-dvb-daemon, qui a été activé par l'EPG externe et demeure actif après sa fermeture.

$killall gnome-dvb-daemon

Alors, VLC peut être lancé en visualisation TNT et on retrouve l'utilisation standard de l'EPG externe via Centre de contrôle DVB, sans contrainte et avec tous ses avantages.

NB. Aux heureux utilisateurs de XFCE, je conseille de résister à la tentation de renommer Centre de contrôle DVB et Réglage de la TV numérique dans le menu via l'éditeur de menus. S'il vous prenait l'envie de désinstaller ces logiciels, les lignes renommées dans le menu ne seraient pas effacées automatiquement, il vous faudrait chercher dans plusieurs répertoires de votre /home pour parvenir à les faire disparaître.

Dernière modification par Jpécé (Le 29/04/2022, à 08:16)

Hors ligne

#2 Le 27/05/2023, à 17:51

Jpécé

Re : VLC en visualisation TNT directe Proposition pour un EPG externe

Ma contribution ancienne ci-dessus fournit des informations utiles en vue de la visualisation des chaînes TNT via dvbt par VLC, mais, pour ce qui concerne le programme des chaînes, je propose ici une solution plus satisfaisante selon mon expérience.

Rappel : cette contribution concerne la réception directe des chaînes de télévision TNT via un périphérique dvbt (clé usb), et précisément la création d'un programme complet des chaînes (EPG = Electronic Program Guide) en complément du Menu/Outils/Guide des programmes de VLC. En effet, ce dernier "Guide" n'est réellement performant que pour obtenir les informations du programme en cours sur la chaîne en cours de visualisation.

La création d'un programme des chaînes par des logiciels gnome-dvb est une solution préemballée soumise à des contraintes non documentées.

Voici donc une autre proposition pour la constitution d'un EPG complet, toujours directement à partir des flux dvbt sans recours à aucun service Web.

Dans cette proposition, on utilise deux logiciels.

1/ epgrab pour l'extraction des éléments epg vers un fichier xml à partir des flux dvbt
Ce logiciel peut être téléchargé en zip à partir de l'onglet code de ce site :
https://github.com/hiroshiyui/epgrab
Dézipper, aller dans le répertoire du logiciel, puis compiler en exécutant en Terminal les deux instructions du paragraphe Build de la doc du site (il faut les paquets build-essential et cmake)
Vérifier le résultat :

./epgrab --help

C'est tout pour le moment, car epgrab ne peut fonctionner tout seul.

2/ DVBStreamer pour le service de réception des flux dvbt et leur diffusion locale
Ce logiciel se trouve dans les paquets standards Ubuntu dans sa dernière version connue.
Ne pas confondre avec dvbstream !
La documentation du logiciel existe, dans le fichier README à l'intérieur du source :
https://sourceforge.net/projects/dvbstr … .0.tar.bz2
Inutile de compiler, il suffit d'installer le logiciel à partir des paquets Ubuntu.

Préinitialisation une fois pour toutes par

>setupdvbstreamer -t channels.conf

(même fichier channels.conf que pour VLC, pour  créer ce fichier,  voir la contribution ancienne)

Lancement de session DVBStreamer par

>dvbstreamer -o udp://localhost:2042

A l'intérieur de la session DVBStreamer ainsi lancée, on dispose des commandes
- quit pour quitter le logiciel,
- lsservices pour lister les noms de chaînes,
- select "nom de chaîne" pour choisir la chaîne à diffuser via udp.


3/ Dans ces conditions, et après avoir sélectionné une chaîne par la commande select dans DVBStreamer, on peut lancer epgrab dans une autre fenêtre Terminal

>./epgrab -s -f out.xml

Patience, l'extraction des éléments epg d'un multiplex peut prendre un bonne minute !
Le fichier out.xml obtenu montre que les éléments epg concernent toutes les chaînes du multiplex (fréquence) de la chaîne sélectionnée dans DVBStreamer, mais aussi des chaînes d'autres muliplex, partiellement... Les chaînes n'apparaissent pas en clair mais sous "numéros de service" (ces numéros sont les derniers nombres en fin des lignes de channels.conf). Pour obtenir un EPG plus complet et lisible, il faudra donc sélectionner successivement des chaînes de différents multiplex dans DVBStreamer, en extraire les sorties xml, les fusionner, trier les contenus, éliminer les doublons, traduire les numéros de services en noms de chaînes, etc.

4/ J'ai réalisé un script EGP.py en python pour automatiser la production de l'EPG en pilotant DVBStreamer et epgrab : 300 lignes.
En passant, ce script résoud quelques problèmes "difficiles" en Python, pas traités dans les manuels.
http://cariljph.free.fr/scripts/EPG.py

Voici un extrait du fichier html produit par le script

Extrait_exemple.png

=================================================
Compléments divers

DVBStreamer et VLC ne peuvent être actifs simultanément sur le périphérique dvbt. Autrement dit, on ne peut pas extraire l'EPG en même temps que l'on regarde la télé sur VLC. Le flux udp diffusé par DVBStreamer (pour la seule chaîne sélectionnée en cours) ne peut pas être récupéré par VLC - mais par SMPlayer oui.

A la place de DVBStreamer, on peut utiliser mumudvb, lui aussi disponible dans les paquets Ubuntu. Son installation est plus encombrante (à cause des dtv-scan-tables totalement inutiles pour l'usage envisagé ici), la documentation déborde largement l'utilisation envisagée, et la commande par un script n'a visiblement pas été prévue.
Aucune préinitialisation.
Lancement par :

>mumudvb -d -c mumu.conf

(fin de session mumudvb par Ctrl-C dans la fenêtre terminal)
Appel d'epgrab comme sous DVBStreamer.
Le fichier mumu.conf contient quelques paramètres, dont la fréquence du multiplex à diffuser,
il faut donc clore puis relancer mumudvb pour extraire l'epg de divers multiplex.

Dernière modification par Jpécé (Le 31/05/2023, à 16:55)

Hors ligne