Televisión en Ubuntu Linux - 07- 06- 2007
(Este artículo lo agrego acá para estar seguro que no lo perderé si lo necesito)Muchos tenemos en nuestro ordenador varios electrodomésticos cotidianos además del propio PC: es nuestro periódico, nuestra cadena musical, nuestra consola y también nuestro televisor. Si tu ordenador dispone de una tarjeta de televisión, puedes ver tus emisoras favoritas en tu Ubuntu.
Antes de continuar he de decir que el soporte de estas tarjetas está muy avanzado, pero hay una cantidad ingente de marcas, modelos y sitonizadores distintos, algo que puede evitar que Ubuntu consiga reconocerlo a la primera.
Sin embargo, si dispones de una tarjeta de televisión conocidilla como AVerMedia, Miro/Pinnacle, Hauppage… es muy probable que ubuntu te la haya reconocido a la primera, aunque puede que no lo sepas.
Este tutorial lo he hecho con la mía, una AVerMedia TVCapture 98. Los que tengáis otra sintonizadora y no la detecte, añadiré un punto al manual donde intentaré echaros un cable para que la podáis configurar, eso sí, el manual es para aquellas sintonizadoras que usen el chip bt878.
Comencemos.
¿Ha reconocido Ubuntu mi tarjeta de televisión? |
Ejecutad el siguiente comando en consola:
$ dmesg | grep bt
De todo lo que nos sale, tenemos que buscar la marca y modelo de nuestra sintonizadora. Aquí he rescatado lo importante de todo lo que ha salido en mi caso:
[13.926572] bttv0: detected: AVerMedia TVCapture 98 [card=13], PCI subsystem ID is 1461:0004
[13.926574] bttv0: using: AVerMedia TVCapture 98 [card=13,autodetected]
[13.963798] bttv0: Avermedia eeprom[0×4011]: tuner=5 radio:no remote control:yes
Como veis Ubuntu ha reconocido sin mayor problema
Para los que no os la haya reconocido |
Vamos a intentar configurarla manualmente. Para ello vamos a tener que decirle al kernel del sistema que cargue un módulo determinado con unos parámetros específicos, los de tu tarjeta.
Antes de hacer esto, necesitas saber cuáles son esos parámetros. Si os fijáis en la salida que me dio a mí destacan estas variables:
- card=13 - Indica que mi tarjeta de TV es la AVerMedia TVCapture 98
- tuner=5 - Es el chip sintonizador que usa la tarjeta.
También tenemos que no tiene radio y que sí admite mando a distancia, aunque lo importante son las dos mencionadas antes.
Bien. Debéis saber qué marca, modelo y sintonizador tenéis exactamente. El sintonizador será lo que más difícil os resulte descubrir. Puede venir en las especificaciones que os dieron junto con las tarjeta, o puede que en la página web de la marca. Probablemente también podáis verlo en la propia tarjeta, un chip con el nombre de Philips, Temic o Alps, que son los típicos. Fijaros también en si viene el modelo del mismo.
Una vez conocéis la marca/modelo y sintonizador de vuestra tarjeta, consultad el número que identifica a cada uno en estas dos listas.
Bien, ahora vamos a instalar una aplicación que nos ayude a instalar y configurar el módulo para la tarjeta de TV:
$ sudo aptitude install modconf
Descargamos los módulos actuales de la tarjeta (es posible que os diga que no exista alguno de ellos, ignorarlo):
$ sudo rmmod -f bt878
$ sudo rmmod -f bttv
Ejecutamos modconf. Si tenéis tilda o yakuake no lo uséis para esto ya que puede que tengáis pocas líneas visibles y no podás ver modconf adecuadamente. Usar gnome-terminal:
$ sudo modconf
Buscad ahora un módulo que se llama “bt878“, para ello desplazaros por la lista buscando “kernel/drivers/media/dvb/bt8xx“, entrad dentro y os debería aparecer. Si no es así buscadlo en “kernel/drivers/media/video“.
Cuando lo tengáis localizado, situaros sobre él y pulsad “Enter“. Os preguntará si queréis instalarlo, decidle que sí y os preguntará de nuevo por los argumentos de la línea de comandos. Aquí es donde vamos a poner los parámetros para configurar nuestra tarjeta de televisión. Como ejemplo pondré los argumentos para la mía:
card=13 tuner=5 radio=0 remote=1 pll=1
Para variables booleanas (de valor sí/no o verdadero/falso) se le asigna el valor lógico 1/0 respectivamente. No tengo radio pues le doy el valor 0. pll es un circuito electrónico que se usa para demodular la señal que recibe el sintonizador. Lo normal es habilitarlo, aunque si no os funcionara, probad a deshabilitarlo. Aceptad para confirmar la carga del módulo.
Si vuestra tarjeta usa otro chip distinto al bt878 informaros sobre el módulo que debe usar (suele tener el mismo nombre o parecido), lo buscáis en la lista y lo cargáis de la misma forma que os he mostrado, incluyendo los argumentos que tenéis que identificar igualmente.
Probando, 1, 2, 3, sí, hola, sí, probando |
Bueno, ya tenemos configurada la tarjeta de televisión (o eso espero xD). Vamos a hacer una prueba para ver sin funciona la tarjeta. Haremos un barrido de frecuencias y comprobaremos si encuentra emisoras. Recordad enchufar el cable de la antena a la tarjeta : P
Para ello vamos a ayudarnos de este programa:
$ sudo aptitude install xawtv
xawtv es una aplicación para ver la TV, pero no lo vamos a usar para eso (usaremos otro mejor en su lugar). Trae un comando que hace un barrido de frecuencias por todas las bandas y nos dirá si encuentra las emisoras o no. Ejecutamos el comando:
$ scantv
Seleccionamos la norma de televisión que usamos (en España es PAL, por lo tanto 0) y después la tabla de frecuencias (en España el 5, Europa occidental) y comenzará a hacer el barrido. No os preocupéis por los “no station” que veréis continuamente, tened presente que es un barrido completo donde os debe aparecer de vez en cuando que os ha encontrado una emisora, por ejemplo estas:
...
S40 (455.25 MHz): no station
S41 (463.25 MHz): no station
21 (471.25 MHz): no station
22 (479.25 MHz): TVE1
[TVE1]
channel = 22
23 (487.25 MHz): TVE2
[TVE2]
channel = 23
24 (495.25 MHz): no station
…
Si a alguien le ha salido este error:
vbi: open failed [/dev/vbi]
open /dev/vbi: No such file or directory
Se debe a que es probable que en lugar de usar el dispositivo /dev/vbi que nos pide, estemos usando /dev/vbi0. La solución es muy simple, crear un enlace simbólico del que nos pide que apunte al que tenemos. Escribid esto en consola…
$ sudo ln -s /dev/vbi0 /dev/vbi
…y volved a ejecutar scantv, ahora debería haceros el barrido.
¡A ver la tele! |
Tenemos el driver/módulo cargado, configurado y hemos comprobado que la tarjeta funciona perfectamente pues encuentra las emisoras. Vamos a instalar la aplicación que os prometí antes para ver la televisión:
$ sudo aptitude install tvtime
Estad atentos a la consola. Cuando acabe de instalarse los paquetes comenzará la configuración. Os saldrá una ventana azul informando de que la mayoría de las zonas del mundo usan PAL excepto en Norteamérica, Japón y algunos países Sudamericanos si no me equivoco. Debéis saber qué es lo que usáis pues tras aceptar la advertencia debéis elegir entre PAL y NTSC.
Después nos mostrará otra advertencia y nos preguntará por la tabla de frecuencias que usamos. Elegimos el que nos corresponde en la lista. Para España usamos “Europa“. Aceptamos y terminará de configurarse.
Vamos allá. Abrimos TVtime desde “Aplicaciones > Sonido y vídeo > TVtime Television Viewer“, o bien “Alt+F2” y “tvtime” dentro.
Nos mostrará inicialmente una ventana azul con un menú interior. El menú es accesible mediante teclado y ratón. Vamos a “Gestión de canales” y “Escanear canales en busca de señal“. Al igual que con “scantv” se tirará unos segundos con la pantalla en azul y buscando canales, pero al final debe encontrarlos.
Una captura de TVtime sintonizando “La Sexta” (que nadie haga comentarios sobre la cara con la que ha salido Patricia Conde, ha sido involuntario xD):
Por cierto, por si había dudas, la ventana de TVtime es redimensionable, podemos hacer la ventana tan grande o pequeña como queramos.
Algunas teclas de TVtime |
El programa es muy intuitivo, así que no creo que os cueste mucho averiguar cómo se sube el volumen, cambia al siguiente canal, etc. Por si acaso, aquí os dejo las teclas más frecuentes:
- Esc / q - Salir de TVtime
- F1 / Tabulador / click derecho- Muestra/oculta el menú
- Arriba / Abajo - Cambia al canal siguiente/anterior
- número+Enter - Cambia al canal identificado con número
- m - Mute. Quitar el sonido
- ‘+’ / ‘-’ o derecha / izquierda - sube/baja el volúmen
- f - Pantalla completa
- s - Captura de pantalla
- Intro / click izquierdo - Muestra/oculta la información del canal
Otras opciones interesantes, como la relación ratio/aspecto del monitor (si tenéis una pantalla panorámica), color, brillo… son accesibles mediante las opciones del menú.
Para más información respecto a las teclas y los argumentos que puedes añadir al lanzador (como ejecutar siempre en pantalla completa u otro argumento muy muy interesante que veremos más adelante):
$ man tvtime
Posibles problemas |
Os pueden suceder varios pequeños problemas como estos:
- No escucho la TV
Probablemente sí tenga sonido pero está en silencio. Debes asegurarte de tener activa la “Entrada de línea” de los controles de volúmen. Haz doble click sobre el icono de volumen para mostrarlos. Luego vete a “Editar > Preferencias” y asegúrate que la casilla de “Entrada de línea” está habilitada. Puede que a algunos os aparezca como “Auxiliar” o “Aux“. Cerráis esa ventana y volviendo a la de los controles de volúmen os aparecerá la que habéis habilitado (si no la teníais). Aseguraros que el icono del altavoz que está debajo del volumen no está apagado, con una ‘X’ roja.
- No se guardan los canales y tengo que escanearlos siempre que abro TVtime.
Esto es muy muy probable que os suceda. En el fondo es una tontería. Los canales se guardan en un archivo que está dentro de la carpeta “.tvtime” dentro de vuestra carpeta personal. El problema es que no tienes permisos de esa carpeta, así que lo arreglamos así:
$ sudo chmod 775 -R .tvtime
Configurar canales TVtime |
Hay varias formas de hacer lo que os voy a mostrar aquí, pero creo que estos pasos son los más óptimos para configurar los canales.
Ya tenemos sitonizados los canales, pero no están muy accesibles, ¿verdad? Supongo que queréis llevar cada canal a un número de canal más asequible y que estén todos seguidos.
Pues bien, buscamos un canal válido, sacamos el menú, vamos a “Gestión de canales“, nos colocamos sobre “Renumerar canal actual”, le damos al “Enter” y escribimos el número donde queremos llevar la emisora, no pulséis “Enter” de nuevo, simplemente esperad a que desaparezca el número. Repetid esto con todos los que queráis mover.
Hecho esto, podemos borrar todos los canales que no tienen nada o tienen una emisora mal sintonizada, o repetida, y ya de paso vamos a ponerle un nombre identificativo a cada canal, para que cuando cambiemos de canal si no sabemos cual es (por ejemplo con los anuncios) lo averigüemos.
Cerrad TVtime, abrid Nautilus, colocaros en vuestra carpeta personal y pulsad “Ctrl+h“, para ver las carpetas y archivos ocultos. Entrad en “.tvtime” y abrid con gedit (o el editor que queráis) el archivo “stationlist.xml“.
Veréis un listado bastante extenso. Quiero que os fijéis en los valores que tiene “position“. Cada fila es un canal y como ya los tenemos ordenados en nuestros números favoritos podemos saber qué filas son las que nos interesan y cuales no. Imaginemos que tengo 10 canales y los he configurado del 1 al 10. Pues borro todas las filas donde el valor de “position” sea mayor de 10.
Una vez me he quedado con los canales que me interesan, voy a uno de ellos y le cambio lo que hay entre comillas de “name” por el nombre que le quiero dar a la emisora. Por ejemplo en el canal 6 tengo la emisora “La Sexta“, pues ese es el nombre que le doy. Esto lo hacemos uno por uno y guardamos el fichero.
Abrimos TVtime de nuevo y ya podemos ver el nombre del canal actual. Si avanzamos cuando le demos al canal siguiente cuando estemos en el último, completará el ciclo y se irá al primero.
Sigamos mejorando TVtime: Información del programa en emisión |
La cosa no queda ahí. Os propongo una nueva y apetitosa mejora. Algunos habréis visto en los canales digitales que con una simple tecla se puede ver lo que estamos viendo en ese instante, a qué hora empezó, a qué hora acaba y qué se emite cuando acabe. Pues esto es lo que vamos a conseguir ahora.
Abrid una consola, escribid “tv_grab_” y pulsad dos veces al tabulador. Os saldrán varios nombres que finalizan lo que estábamos escribiendo. Buscad el de vuestro país. Para España sería “tv_grab_es“. Una vez localizado escribid esto en la consola:
$ tv_grab_es --configure
Ojo que son dos guiones seguidos los que preceden a “configure“. Os irá preguntando qué canales queréis que muestren la información de la emisión actual. Los que queráis, pulsad “Enter” y los que no, escribid “no“. No estarán todas las emisoras pero sí hay bastantes, todas las nacionales y algunas locales, al menos para España.
Tras esto vamos a bajarnos la información de los espacios que se están emitiendo y los vamos a guardar en un fichero que yo voy a llamar “pepino” y lo voy a guardar en la carpeta “.tvtime” que mencinamos antes. Podéis llamar como queráis al fichero y guardarlo también donde gustéis. Escribimos esto en consola (cada uno con el tv_grab de su país, y el fichero y ruta que guste)
$ tv_grab_es | tv_sort > /home/ceec/.tvtime/pepino
Cuando acabe abrimos el fichero “pepino” y “stationlist.xml” que abrimos en el punto anterior. Vamos a volver a cambiar el nombre de los canales del segundo fichero. Nos fijamos dentro de “pepino” los nombres que hay entre los campos
Tras esto abrimos TVtime con este parámetro:
$ tvtime --xmltv=/home/ceec/.tvtime/pepino
Ojo de nuevo que antes de “xmltv” hay dos guiones seguidos. Bien, ahora se abrirá TVtime y si pulsáis enter o hacéis click izquierdo sobre la ventana os mostrará la información que queríamos.
Podéis crear un lanzador usando lo que acabamos de poner en el campo “Comando” y añadirlo a kiba-dock si queréis, para que sea más cómodo.
Sólo me falta un detalle por comentaros. Cuando hicimos el “tv_grab_es | tv_sort” lo que hicimos fue descargar la información televisiva del día. Esto tendríais que hacerlo todos los días. Los fieles al blog, si hacéis memoria y lo pensáis un poco, es un claro ejemplo de cron, de gnome-schedule. Podéis automatizarlo para que lo haga el propio sistema todos los días a la hora que queráis.
Este es el resultado:
En Windows tenía teletexto, ¿puedo tener también en Ubuntu Linux? |
Por su puesto. Usaremos un pequeño programa con tal fin pero que es muy bueno: AleVT. Vamos a instalarlo:
$ sudo aptitude install alevt
Ahora abrimos TVtime -si no lo tenemos ya abierto- y seleccionamos la emisora cuyo teletexto queremos ver. AleVT no genera una entrada en el menú de aplicaciones, así que podéis crear un lanzador vosotros mismos, añadirlo a kiba-dock, o abrirlo con “Alt+F2” y escribiendo dentro “alevt“.
Si en algún momento queréis ver el teletexto y no tenéis abierto TVtime, podéis acceder igualmente a él abriendo sólo AleVT, pero veréis el teletexto del canal que esté sintonizado actualmente en TVtime, si queréis poner otro sí tendréis que abrir este último.
La pantalla inicial que nos muestra es un menú para aprender más sobre la aplicación. Pero si nos vamos a la página 100, simplemente escribiéndo dicho número, nos llevará a la página principal del teletexto de la emisora. El programa además nos permite hacer uso del ratón y podemos pinchar en la página que queramos ver en lugar de teclearla.
Aquí os dejo una captura de la página índice del teletexto de TeleVisión Española:
¿Y el mando a distancia? |
Lamentablemente perdí el de mi tarjeta de televisión (no lo usaba nunca xD). Tenía intenciones de indagar un poco, y configurarlo pero me es imposible sin él. Así que queda como pendiente para el futuro, mientras tanto podéis mirar en google. Poderse, me consta que se puede.
Video-demostración |
Las capturas están bien, pero no hay nada mejor que un vídeo para ver todo lo que hemos hecho en acción:
El manual ha sido largo (y espero que ameno xD), pero sin duda tendréis una televisión en toda regla en vuestro Linux
1 comentarios:
Quisera consultarte la manera de encontrar los canales donde figura como non station o cmo setearlos manualmente, ya que la frecuencia es correcta y en win lo detecta y en ubuntu no y no es por baja señal.-
Publicar un comentario