TDT, UBUNTU Y LINUX PARA SERES HUMANOS (actualización 2020)

Publicado el 29 noviembre 2020 por Ferlanero @ferlanero
Reconócelo, ver la TV o escuchar la radio en el PC te mola. No sufras más, te voy a contar cómo puedes llenar tu cabeza de basura periodística sin que te despeines lo más mínimo.
Este artículo, que consta de 4 puntos principales, te dará la perspectiva suficiente para  que puedas ver tu programa de tele-basura preferido en el monitor de tu PC basándome en mi propia experiencia:
Mi primera toma de contacto con la TDT en Linux fue hace ya casi 10años. De aquella primera instalación, lo que mejor recuerdo son los dolores de cabeza que me dio; y la sensación que tengo de aquellos días no es de estar plácidamente tumbado en el sofá viéndole el jeto a algún presentador. Esa dificultad en la configuración, junto con tener ya todos los archivos necesarios respecto a frecuencias y rangos de señal, es lo que me motiva a escribir este artículo para que todos, y especialmente los que vivís en la provincia de León -España- (aunque perfectamente extrapolable), os sea lo más sencillo posible el sintonizar tanto televisión como radio a través de TDT en vuestro Linux.

¿QUÉ NECESITAS?
Conocer la nomenclatura de todo lo que nos vamos a encontrar por aquí. No es que sea compleja, pero ayuda. Verás, en España, llamamos a la Televisión Digital Terrestre: TDT, ¿no?. Bueno, pues olvídalo. En cualquier rincón del mundo civilizado, a todo esto se le denomina DVB-T, es decir, Digital Video Broadcasing - Terrestrial, que incluso en castellano es Difusión de Vídeo Digital - Terrestre (DVD - T). Como puedes comprobar, eso de "TDT" se le ocurrió a algún iluminado, que "copy-pasteó" a algún periodista, sin saber muy bien de qué hablaba y así nos hemos quedado :/
Más cosas antes de empezar. Es necesario disponer de 4 elementos fundamentales:
  • Una instalación de Ubuntu: es recomendable versiones 12.04 o superiores, aunque yo disfrutaba de todo perfectamente funcionando en 10.04, eso sí, la configuración del dispositivo TDT-USB probablemente sea más compleja debido a la antigüedad del núcleo Linux. Para este tutorial utilizaré Ubuntu 20.04
  • Receptor TDT: probablemente tu PC no disponga de una tarjeta sintonizadora de TDT, en ese caso, lo más recomendable es que consultes en linuxtv.org qué dispositivos son compatibles con Linux. En este punto, te recomiendo que escojas uno de los dispositivos que estén soportados nativamente en el kernel (es decir, que en el apartado "Supported" ponga expresamente "Yes, in kernel since x.x.xx". Esto es así, porque al escoger un modelo soportado por el kernel, simplemente tendrás que conectarlo al puerto USB del ordenador y todo estará listo para funcionar, cosa que de no ser así, deberás compilar un nuevo kernel con el firmware del dispositivo, etc, etc. Llegando a complicarse la cosa hasta extremos insospechados.
  • Conexión a antena: olvídate de las ridiculeces de antenas que traen los sintonizadores TDT-USB. No sirven para nada. Necesitarás una antena de verdad, como esa que tienes en el salón de casa: si tu TV tradicional no funciona si no la conectas a una antena con buena recepción, ¿por qué diablos iba a tener que hacerlo un sintonizador para el ordenador?
  • Un buen reproductor de vídeo: he probado todos, y créeme cuando digo TODOS, son TODOS, los reproductores de vídeo en Ubuntu para ver cual era el que mejor se defendía con la señal MPEG de DVB-T y mi experiencia me ha llevado a utilizar y recomendar VLC. No hay nada mejor.

MANOS A LA OBRA
Daré por hecho que ya tienes toda la instalación física necesaria montada. Es decir, PC con el TDT-USB conectado y éste con su correspondiente toma de antena. Eso lo dejo de tu mano o de la de tu electricista, como prefieras. Vamos a ponernos a configurar todo.
Para instalar el software para configurar los canales de TV y radio, y poder reproducirlos posteriormente, abre la terminal y escribe:
sudo apt-get install dvb-apps

sudo apt-get install vlc

Ya tenemos todo lo necesario (en cuanto a software, no te calientes). El siguiente paso será comprobar si nuestra región está contemplada entre la configuración por defecto de las dvb-utils. Navega hasta la ruta
/usr/share/dvb/dvb-t
Allí verás un montón de ficheros con la sintaxis "prefijo-Región", por ejemplo, "es-Madrid". Si la región en la que vives aparece, enhorabuena, sáltate el resto de este punto y ve directamente al apartado "Sintonización".

Si por el contrario, no ves tu zona, no te desanimes, voy a ponértelo fácil. Y si vives en León, más fácil aún, que alguna ventaja tenemos que tener los leoneses. Comencemos por este último punto.
Los habitantes de la provincia de León, simplemente tendréis que descargaros el fichero "es-Leon":
 
Con ello, obtendréis el fichero de sintonización "es-Leon" completamente actualiado a noviembre de 2020. Lo copiáis en la ruta:
/usr/share/dvb/dvb-t
Y ya podéis pasar al apartado de "Sintonización".
Para el resto de mortales, que ni tenéis un fichero de región predeterminado, ni vivís en León, también tengo solución, es un poco más engorrosa pero igual de efectiva que la anteriormente comentada. Veamos: Si accedes a la carpeta que anteriormente he citado
/usr/share/dvb/dvb-t
donde se encuentran todos los ficheros de configuración de señales TDT que trae por defecto dvb-utils y abres, por ejemplo, es-Leon (el fichero que os he dejado para descargar), te encontrarás con este tipo de contenido:

# DVB-T León
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 554000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE   # C31: MUX
T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE   # C33: MUX
T 578000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE   # C34: MUX
T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE   # C37: MUX
T 658000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE   # C44: MUX
T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE   # C54: MUX
T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE   # C57: MUX


Como puedes ver, estos ficheros son ficheros de texto plano fácilmente modificables para adecuarlos a tu región en función de los valores necesarios.
Por partes. Crea una copia de otro fichero de forma que tengas algo sobre lo que trabajar:
sudo cp /usr/share/dvb/dvb-t/es-Leon /usr/share/dvb/dvb-t/es-TU_REGION

Cambia "es-TU_REGION" por... ¡adivínalo!
Y ahora, vamos a editar el fichero que has copiado de forma que sea el adecuado a tu zona:
sudo gedit /usr/share/dvb/dvb-t/es-TU_REGION

Inmediatamente después de las líneas precedidas por almohadillas,
# DVB-T León
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

que son simples líneas informativas, aparecen ya los datos de sintonización.
El primer número (T 554000000) es la frecuencia en hz (Hertzios), después hay una serie de datos sobre la codificación, y tecnología usada (8MHz 2/3 NONE QAM64 8k 1/4 NONE) esta información es común a todos los canales de España. Finalmente, tras la almohadilla (#) hay un comentario (para humanos, no para programas) sobre los canales disponibles, vamos que puedes poner lo que quieras tras la almohadilla.
Resumiendo, lo único que tienes que cambiar son la frecuencias por las de tu región, que la puedes buscar aquí:
http://www.tdt1.com/canales-leon/
Si te fijas, los canales están agrupados en bloques de frecuencias:

Aquí, la información realmente útil para crear tu propio fichero de sintonización de canales, es la de la columna "MUX". Ahí se muestra la información de los Mhz en los que emiten los canales que aparecen en "CANAL" y que deberás copiar y pegar en tu fichero "es-TU_REGION" correspondiente. Es decir, si en la primera fila, tal y como aparece en el ejemplo, ves en la casilla "MUX" los valores "31" "554", deberás completar nuestro fichero con los siguientes datos:
# DVB-T León
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 554000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE   # C31: MUX

completando con "000000" después de "554" porque en el fichero de sintonización los valores se toman en Hz y no en Mhz tal y como se exponen en la web http://www.tdt1.com
Los datos que aparecen después, los dejas tal cual están, pues como ya os he dicho, son comunes para toda España. Lo que sí puedes poner son los canales que emiten en esa frecuencia después de la almohadilla "#" pues esos son datos para humanos, a la hora de sintonizar canales no se tendrán en cuenta y te ayudarán a saber qué emisoras emiten en dicha frecuencia (Columna canal de tdt1.com)
La siguiente fila de tu fichero de sintonización será con los datos ya del siguiente bloque de canales: "570". Quedando dicha fila como sigue:
# DVB-T León
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 554000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE   # C31: MUX
T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE   # C33: MUX

...
Y así vas completando tu fichero con todos los bloques de frecuencias.
Una vez completado, guarda el fichero con la sintaxis "prefijo-TU_REGION" (por ejemplo "es-Leon") en la ruta
/usr/share/dvb/dvb-t
Y pasa al punto siguiente.
SINTONIZACIÓN
Ahora que ya has creado un fichero de sintonización válido para buscar los canales que emiten en tu zona, vas a sintonizarlos para poder verlos en tu PC.

Doy por hecho que ya tienes tu receptor TDT USB conectado a tu PC y correctamente configurado. Yo utilizo un "pctv nanostick 73E ultimate plus" que está soportado por el núcleo de Linux y sobre el cual no hay que hacer ninguna configuración adicional para hacerlo funcionar adecuadamente.

En el caso de que tengas otro tipo de sintonizador como por ejemplo un AverMedia AVerTV Volar Black HD, que no está soportado por el kernel Linux, deberás buscar, primero, si el fabricante da soporte para Linux y, segundo, de qué forma. En el caso del AVerTV Volar Black HD, es bastante fácil de solucionar. Escribe en la línea de comandos:
sudo apt-get install linux-firmware-nonfree

Antes de nada, si vives en León, te dejo los ficheros de canales de televisión y radio listos para descargar y usar.
Televisión:
 
Radio:

Ahora ya puedes ir directamente a "MIRAR LA TELE". Son las ventajas de vivir en León ;)
Si tienes la desgracia de no estar en León, tendrás que sintonizar los canales. Pero tranquilo, estás de enhorabuena, porque te voy a contar "la forma más sencilla de sintonizar canales TDT en Ubuntu". Abre la terminal y escribe:
scan /usr/share/dvb/dvb-t/es-Leon | tee channel.conf

Espera a que Linux busque por ti todos los canales disponibles en tu zona. Una vez que haya terminado, tendrás en
/home/TU_NOMBRE
Un fichero "channel.conf" con todos los canales, tanto de TV como de radio, listos para ser disfrutados (sólo te quedará organizar un poco esa información discriminando entre radios y televisiones... ¿ves? Si vivieses en León, no tendrías que hacer nada de esto). Yo te recomiendo que junto con "channel.conf" crees un fichero "tv.conf" para las televisiones y "radio.conf" para las radios, obviamente. Tal y como están los ficheros que te he dejado para descargar.
Lo último que nos queda es...
MIRAR LA TELE

Pero para ello necesitamos un buen reproductor multimedia y el mejor para esto es VLC, no lo dudes.
Instala la última versión de VLC:
sudo apt-get install vlc vlc-plugin-pulse

Ya sólo nos queda abrir cualquiera de los ficheros que queramos reproducir (channels.conf, tv.conf o radios.conf) directamente en VLC y a disfrutar viéndole la impoluta dentadura a Jordi Hurtado.

En la terminal de nuevo:
vlc /home/TU_NOMBRE/tv.conf