30 noviembre 2006

Televisión y TDT (televisión digital terrestre) en linux.

El asunto de las tarjetas de televisión suele ser un tema algo complicado en linux. Pocas veces es tan fácil como enchufar y funcionar. Voy a tratar Ubuntu edgy. De todas maneras es extensible a cualquier distribución siempre que se tengan en cuenta los detalles. Las que no están basadas en Debian desconozco si los archivos que comento están en el mismo lugar, aunque supongo que si.

Empezamos con las de televisión analógica. Tengo una tarjeta de televisión de Conceptronic. La CTVFMi. Sirve para oir la radio también, y además cuenta con un mando a distancia. En su momento la probé en windows y he de decir que el manejo del mando es un asco, así como los controladores. El programa incluido era bastante malo. Luego mejoró cuando sacaron la versión 2, pero aun así, el mando no es configurable y el controlador algo chungo. Es el problema de no existir una plataforma común. Va en windows, pero windows no tiene ningún estándar. Cada fabricante se lo monta como quiere. Bueno, realmente, como funcione en windows la verdad es que me importa poco, puesto que lo que a mi me interesaba es que funcionara en Linux, más concretamente en Ubuntu. La cuestión es que la compatibilidad ha ido mejorando poco a poco. Al principio ni se reconocía, y ahora hay compatibilidad incluso con el mando a distancia. Pero como pasa con muchas de estas tarjetas, no se reconoce correctamente al 100% porque al fabricante le da por cambiar su identificador interno. Buscando buscando encontré todo lo necesario.
La conceptronic CTVFMi figura como la tarjeta número 137 del módulo bttv. La cuestión es crear un archivo para que en el arranque quede todo configurado, mando incluido.
Editamos:

sudo gedit /etc/modprobe.d/bttv

y escribimos:
options bttv card=137 pll=1 radio=1 automute=0 tuner=5 remote=1


El mando a distancia funcionará inmediatamente, pero cuidado con el botón de apagar, que sale el menú de apagar el equipo. Podemos usar casi todas las teclas, pero para lo que el quiera en principio, porque no es configurable hasta que instalemos lirc y le asignemos funciones personalizadas. Esto queda para el futuro.

En el caso de otras tarjetas usaríamos el mismo archivo, pero indicando otras opciones. Aquí se puede consultar el listado de tarjetas soportadas.
Por ejemplo, para una pinnacle pctv rave, vemos en el listado que el número de tarjeta es :
card=39 - Pinnacle PCTV Studio/Rave

El archivito debe incluir:
options bttv card=39

pero esta tarjeta se detecta perfectamente, por lo que no haría falta. Al escribir dmesg vemos como se detecta:
bttv0: using: Pinnacle PCTV Studio/Rave [card=39,autodetected]


Con estas tarjetas se pueden usar un gran número de programas para ver la tele. xawtv es el, digamos, más estable, porque no tiene problemas con ninguna tarjeta gráfica. Permite hacer todo lo necesario, incluso grabar en el formato que queramos. El tvtime es bastante bueno, sobre todo gráficamente, comparando el interfaz con el del xawtv, pero puede tener problemas con las ATI, a las que hay que poner un parámetro en el xorg.conf para que marche. Aun así, hay un estúpido problema con ATI: cuando arrancas el programa queda la pantalla en negro. Solución: control+alt+f1 para ir a una consola, y tras ver la linea "login:", control+alt+f7 para volver al Xwindow y ahora si, ver la tele. Hay algún otro programa, pero no lo recuerdo. Con estos dos tenemos bastante.
Editado: si tienes una tarjeta gráfica nvidia seguramente no te funcionará xawtv directamente porque el controlador ya no provee DGA. Para que funcione habrá que modificar el lanzador y ejecutarlo con esto:
xawtv -nodga -device /dev/video0


Con el gnome-radio oimos la radio sin problemas, siempre que la tarjeta que tengamos lo soporte, claro. Curiosamente la conceptronic lleva dos conectores para antena, uno para radio y otro para televisión. En linux con tener conectado el cable de la tele ya vale para las dos cosas, desconozco por qué, pero es mucho mejor.

Ahora vamos al otro tipo de tarjetas, las TDT (Televisión Digital Terrestre). No veo la necesidad de usar siglas, porque simplemente es televisión digital, pero al menos las han adaptado. El futuro seguramente será de la Televisión Digital Satelital (¿TDS?), o sea, por satélite, pero ahora vamos con la que nos entra por la antena de toda la vida.

Tengo una avermedia dvb 777. Es una TDT pura, al contrario que otras mixtas (analógica y TDT) que quizá compliquen un poco la configuración por tener que tocar más de un módulo. Con esta se usa el módulo saa7134. Esta tarjeta se soporta desde el núcleo 2.6.17. Con núcleos anteriores, como el que lleva Ubuntu Dapper, no funciona. Hay que cambiar el núcleo y actualizar video4linux para que pueda funcionar. Con edgy y posteriores no hay problemas. Mi tarjeta tiene unas especificaciones ligeramente distintas al del modelo inicial que sacó avermedia. Parece ser que usa un saa7133 y antes usaba un saa7134. Por esta razón no se reconoce directamente con ese núcleo y hay que indicarlo en un archivo de configuración que indicaré después. No soporta todavía el mando a distancia. En núcleos posteriores (y versiones posteriores de Ubuntu/Debian) ya se soporta.
Para que quede configurada correctamente en caso de que no se detecte en el arranque hay que crear el siguiente archivo:
sudo gedit /etc/modprobe.d/saa7134

con los siguientes datos:
options saa7134 card=85 alsa=1

Con esto no basta, porque hace falta que se cargue otro módulo, que por razones que desconozco, no se carga directamente. Editamos el archivo /etc/modules
sudo gedit /etc/modules

y le añadimos una linea:
saa7134-dvb

Con esto ya tenemos la tarjeta totalmente configurada y marchando. Y por cierto, va muy bien esta tarjeta. Falta el mando, pero eso será otro asunto.

Para poder ver la televisión digital no nos valen los mismos programas. Hay varias opciones, pero la mejor y más sencilla es usar el reproductor multimedios Kaffeine. Arrancamos y elegimos "Digital TV". Para configurarlo, DVB>configurar DVB. Aquí se selecciona la fuente, que corresponde a un archivo con los canales. Puede usarse auto, pero esto tiene el problemita que puede hacer que se cuelgue el programa al llegar a una franja de frecuencias superior a lo que soporta la tarjeta. Mejor elegir una de las opciones. Hay unos cuantos disponibles, pero a mi no me sirvieron. En este caso la solución no es muy fácil en principio, así que hice una mezcla de varios con los limites superior e inferior y todas las posibilidades, así que vale para cualquier zona de España. Le puse algunos comentarios según el listado de canales actual (ver aqui) de Valencia, pero por lo demás, vale para todas partes.
Este archivo, para que sea accesible al kaffeine, ha de estar aqui, y llamarse como vuestra ciudad, o como queráis:
.kde/share/apps/kaffeine/dvb-t/es-Valencia

El contenido:

# DVB-T Valencia
T 490000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.23:Telecomarca, Unedisa
T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # c26:nada
T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # c33:nada
T 618000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.39:nada
T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.47:nada
T 708000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.50:nada
T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.53:GV-998
T 746000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.55:TV3, K3/33, 3/24, 300
T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.57:Canal9, Punt2, Popular TV, LP Teva
T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.58:TVE1, TVE2, TVE 24H, Clan/TVE 50 Años, RNE1, RNEC, RNE3
T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.59
T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.60
T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.61:nada
T 810000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.63:nada
T 818000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C64:nada
T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.66: Veo, SETenVeo, NetTV, Teledeporte.
T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.67: Cuatro, CNN+,40 Latino, La Sexta.
T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.68: Tele 5, Tele 5 Sport, Tele 5 Estrellas, Fly Music.
T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # C.69: Antena 3, Antena.Neox, Antena.Nova, Telehit, Onda Cero, Europa FM, Onda Melodía.

Tras crear este archivo, lo elegís entre las fuentes y aceptáis. Ahora hay que sintonizar. Hay que ir a la opción DVB>Canales. Pulsar "Comenzar exploración" y empezarán a salir todos los canales, así como la potencia de la señal y la relación señal/ruido. Y ya podéis ver la TDT.

2 comentarios:

Lunet dijo...

Buenas¡¡

Añadi al archivo /etc/modprobe.d/bttv la siguiente linea:

options bttv card=137 pll=1 radio=1 automute=0 tuner=5 remote=1

Según el tutorial que dejaste, y ya debería estar. Usando tvtime (con xawtv no me aclaro) noto que la tarjeta debe estar reconocida porque puedo cambiar de Television a Composite-1... pero en Televisión no me sale ningún canal (solo sale como si estuviera desconfigurada, a puntitos) y por mucho que le doy a escaneo automático no sale nada. Además no se escucha nada...



Me falta mucho o tengo que tocar alguna tonteria??

El 64 dijo...

Si tu tarjeta es exactamente el modelo que indico (la conceptronic CTVFMi) ya te debería funcionar. Prueba a poner 120 en lugar de 137 por si hay algo distinto en el modelo. Imagen al menos tendrás.

Que el tvtime pase de TV a video compuesto no significa que esté reconocida. Creo que lo hace incluso sin tarjeta instalada... Tienes que hacer lo que indico en el artículo para saber si se reconoce. Lo filtro. En una consola, nada más arrancar: dmesg |grep bttv