{{tag>tnt dvb-T dvb-T2 dvb-tools mpv vlc v4l-utils}}
====== TNT : regarder et enregistrer en ligne de commande avec v4l-utils et mpv ou vlc ======
Comme indiqué [[https://doc.ubuntu-fr.org/tnt|ici]], la TNT c'est bien, mais
l'utiliser sur son ordinateur sous GNU/Linux, c'est mieux.\\
Cette version tient compte du déploiement de la dvb-T2 en 2024. Les temps de
réponse et de scan indiqués sont avec un processeur Intel I5-4570S de 2014 et
une clé Hauppauge WinTV-dualHD DVB (ID 2040:0265).\\
Ce wiki concerne uniquement la réception de la véritable TNT (DVB-T/T2).
Bien que certaines parties puissent s'y appliquer, il ne concerne pas la
réception par cable (DVB-C) ou satellite (DVB-S).\\
Tous les exemples ci-dessous sont effectués sur l'émetteur Paris-Tour Eiffel.
Les commandes doivent être copiées et exécutées dans un terminal. Mais vous
pouvez aussi les utiliser dans un script ''bash''.\\
Pour les problèmes matériels consultez [[https://linuxtv.org/wiki/index.php/DVB-T_USB_Devices|linuxtv.org]].
===== Pré-requis=====
Si les paquets ''v4l-utils'' et ''mpv'' ne sont pas déjà présents sur votre
système, il faut les installer.
Sur debian et ses dérivés ''v4l-utils'' est réparti en 2 paquets
''dvb-tools'' et ''dvb-apps'' (facultatif).
apt-get install dvb-tools mpv
Il faut télécharger [[http://roro.le.ballot.free.fr/wiki/tnt/dvbv5-helper|dvbv5-helper]]
et le sourcer. Les commandes ''ini_dvb_channels'', ''dvbv5_to_xspf'' et
''lstv'' seront disponibles dans le terminal où vous avez sourcé
''dvbv5-helper''.
. /chemin/vers/dossier-de-téléchargement/dvbv5-helper
ou
cp /chemin/vers/dossier-de-téléchargement/dvbv5-helper .
. dvbv5-helper
===== Recherche de chaîne : les principes=====
==== La formule magique====
(i * 8) + 306 convertit le canal en fréquence en MHz.
==== Liste des canaux====
La liste des émetteurs et des canaux pour votre adresse est
disponible sur [[https://www.csa.fr/matnt/couverture|le site de l'Arcom/CSA]].
==== Principales différences en la dvb-T et la dvb-T2====
* le mode de transmission : 8k pour la dvb-T, 32k pour la dvb-T2
* l'intervalle de garde : 1/8 pour la dvb-T, 1/32 pour la dvb-T2
Ne me demandez pas à quoi ça sert, je n'en sais foutre rien.
===== Recherche de chaîne avec dvbv5-scan =====
''dvbv5-scan'' est rapide ( 15 à 40 sec ), mais il nécessite un fichier initial
indiquant les fréquences à balayer.
==== Génération du fichier initial ( au format channel )====
Dans un terminal où vous avez sourcé ''dvbv5-helper'', utilisez la commande
ci-dessous en remplaçant '22 24T2 42' par les canaux que vous avez trouvés sur
[[https://www.csa.fr/matnt/couverture|le site de l'Arcom/CSA]]. N'oubliez pas
de suffixer le canal du multiplex R9, multiplex de l'UHD 4K, par T2.
ini_dvb_channels 22 24T2 42
> T 482000000 8MHz AUTO NONE QAM64 8k 1/8 NONE
> T2 498000000 8MHz AUTO NONE AUTO 32k 1/32 NONE
> T 642000000 8MHz AUTO NONE QAM64 8k 1/8 NONE
>
==== Génération du fichier des chaînes ( au format dvbv5 )====
[[https://dyn.manpages.debian.org/dvb-tools/dvbv5-scan.1.html?|man dvbv5-scan]]
pour l'explication des paramètres.
dvbv5-scan -F -I channel -o channels.conf fichier_initial
Le branchement la sortie de la commande de génération du fichier initial à
l'entrée de ''dvbv5-scan'' écrit le fichier [[http://roro.le.ballot.free.fr/wiki/tnt/channels.html|channels.conf]]
dans le répertoire courant.
ini_dvb_channels 22 24T2 42 | dvbv5-scan -F -I channel -o channels.conf /dev/stdin
Si vous ne trouvez pas la liste de vos canaux, utilisez les commandes de recherche alternatives
''w-scan-cpp'' ou ''t2scan'' ( voir ci-dessous ).
===== Enregistrer la TNT=====
On utilise ''dvbv5-zap''
([[https://dyn.manpages.debian.org/dvb-tools/dvbv5-zap.1.html?|man dvbv5-zap]]) pour
l'explication des paramètres. Pour utiliser le fichier des chaînes ''channels.conf'' avec
''dvbv5-zap'' sans le passer en paramètre, il suffit de le copier ou de
créer un lien symbolique dans le dossier ''~/.tzap''.
La commande ci-dessous enregistre indéfiniment la chaîne indiquée. ''Ctrl+c''
stoppera l'enregistrement.
dvbv5-zap -c channels.conf -o mon_enregistrement.ts nom_de_la_chaîne
La commande ci-dessous enregistre la chaîne indiquée pendant une heure.
dvbv5-zap -c channels.conf -t 3600 -o mon_enregistrement.ts nom_de_la_chaîne
Pour réaliser des enregistrements différés, on utilisera ''cron'' ou ''systemd''.
===== Regarder la TNT avec dvbv5-zap et mpv=====
Il suffit de diriger la sortie vers la sortie standard ''/dev/stdout'' et de
brancher ''dvbv5-zap'' en entrée de ''mpv''. Le '-' final est trés important, c'est
un synonyme de ''/dev/stdin''. Inconvénient, il y a un décalage de quelques
secondes par rapport au direct.
dvbv5-zap -c channels.conf "France 2 UHD" -o /dev/stdout | mpv -
===== Regarder la TNT avec dvbv5-zap et vlc=====
On procède comme pour ''mpv''. On peut utiliser ''vlc'' ou ''cvlc''. Inconvénient
pour les chaînes UHD, le flux vidéo ne s'affiche pas. En dvb-T, le décalage par
rapport au direct est ~ 1 seconde.
dvbv5-zap -c channels.conf "France 2 UHD" -o /dev/stdout | vlc -
===== Regarder la TNT avec mpv=====
Il faut générer ''channels.conf'' au format zap.
ini_dvb_channels 22 24T2 42 | dvbv5-scan -F -I channel -O zap -o channels.conf /dev/stdin
Pour utiliser le fichier des chaînes avec ''mpv'', il suffit de le copier ou
de créer un lien symbolique dans le dossier ''~/.config/mpv'', puis pour la ''dvb-T2'' :
mpv dvb://nom_de_la_chaîne
et pour la ''dvb-T'', car ''mpv'' traite par défaut la ''dvb-T2'' avant de basculer
vers la ''dvb-T'' après 30 secondes :
mpv dvb://nom_de_la_chaîne --dvbin-timeout=2
===== Regarder la TNT avec vlc=====
Le format ''zap'' ne permet pas de lire la ''dvb-T2''. Il faut générer une liste
de lecture ''channels.xpsf'' avec la commande ci-dessous.
ini_dvb_channels 22 24T2 42 |
dvbv5-scan -F -I channel -o /dev/stdout /dev/stdin | dvbv5_to_xspf -
puis:
vlc channels.xspf
permet de naviguer entre les chaînes avec ''n'' et ''p'' ou directement par la
liste de lecture.
===== Recherche de chaîne avec w-scan-cpp=====
''w_scan_cpp'', lent à l'exécution (~ 4 mn), balaye toutes les fréquences.
La commande ci-dessous écrit le fichier ''channels.conf'' dans le répertoire courant.
w_scan_cpp -f t -c FR -X > channels.conf
La commande ci-dessous génère une liste de lecture lisible par ''vlc''.
w_scan_cpp -f t -c FR -L > channels.xspf
La commande ci-dessous génère le fichier des fréquences ''ini.dvbv5'' et le
fichier ''channels.conf'' au format ''dvbv5'' pour ''dvbv5-zap''. Le ''sed''
intermédiaire corrige un bug de la version 20230125.
w_scan_cpp -x > /dev/stdout | sed 's,MODULATION = AUTO,MODULATION = QAM/AUTO,' - |
tee ini.dvbv5 | dvbv5-scan -F -o channels.conf /dev/stdin
===== Recherche de chaîne avec t2scan=====
''t2scan'' n'est pas dans les paquets mais il se compile facilement.
[[https://github.com/mighty-p/t2scan/#user-content-2-usage|t2san usage]].
Correctement documenté et plutôt complet, il permet de restreindre la recherche
à une liste ou une plage de canaux. Seul défaut, il ne permet pas de générer un
fichier au format ''dvbv5''.
En limitant la recherche au plan de fréquence de juillet 2019, on obtient un
fichier au format ''zap'' en 2'10 minutes avec la commande ci-dessous.
t2scan -c 21 -C 48 -oxine > channels.conf
La génération d'une liste de lecture ''xspf'' ne sera pas plus longue.
t2scan -c 21 -C 48 -ovlc > channels.xspf
===== Pour finir=====
Si vous préférez la plus faible empreinte disque, si un décalage de quelques
secondes avec le direct ne vous gêne pas, ''mpv'' est fait pour vous.
Si vous souhaitez naviguer entre les chaînes avec ''n'' et ''p'' ou directement par
la liste de lecture, ''vlc'' vous conviendra parfaitement.
===== Liens =====
* [[https://doc.ubuntu-fr.org/tnt|La TNT]]
* [[http://roro.le.ballot.free.fr/wiki/tnt/|La page originale (français)]]
* [[https://linuxtv.org/wiki/index.php/DVB-T_USB_Devices|linuxtv.org]].
* [[https://www.csa.fr/matnt/couverture|le site de l'Arcom/CSA]].
//Contributeurs : [[:utilisateurs:avi3000]].//