Descodificación bajo Linux

Configuracion de Sintonizadoras de TV en Linux


PASOS A SEGUIR, en los Kernel 2.0.33 o superiores:
 
  1. Nos creamos un directorio llamado, por ejemplo 'C+', mkdir C+, y copiamos el bttv-0.5.19.tar.gz, el xawtv-2.32.tar.gz, el xawtv-2.25l.tar.gz, o sea, todos los paquetes que vamos a utilizar, y cambiamos al directorio C+.
  2. Descomprimir el bttv, con tar zxvf bttv-0.5.19.tar.gz.
  3. cd bttv/driver/, y editamos el Makefile:
CARD=1 <-- La tajeta que tengamos, aunque luego al insertar el modulo, podemos elegir otra

PLL=-DUSE_PLL=0 <-- Yo tengo un 0, porque mi tarjeta es de las primeras y lleva el chip Bt848, mas basico.  Si tenemos una Bt848A, Bt849, Bt878, Bt879.  Lo mejor es hacer pruebas, y quedarnos con la mejor opcion.  Mirando los mensajes que genera el kernel, podemos saber si nos va bien o no.

KERNEL_LOCATION=/usr/src/linux  <-- tiene que estar la ruta de las fuentes del kernel bien puesta.

  1. Por ultimo, como root, hacemos: make, que nos creara los modulos.
  2. Editamos el script para insertar los modulos, 'update'.  La funcion xinsmod debe quedar como sigue:
function xinsmod () {
       echo insmod $*
       $INSMOD -f $* || exit 1
        sleep 2
        sync
}
  1. El final del script 'update', hay que modificarlo segun nuestras necesidades.  El mio es el que sigue:
xinsmod videodev
..........
xinsmod tuner debug=0 type=0  <-- La miro tiene el sintonizador Temic
xinsmod bttv vidmem=0xXXX  <-- Lo averiguaremos con el v4l-conf.
  1. Descomprimir el xawtv-2.35tar.gz  como antes 'tar zxvf xawtv-2.32.tar.gz'.
  2. Cambiar a su directorio, y hacer 'make'.  Hay que haerlo como 'root'
  3. Ejecutamos el v4l-conf, para saber el valor de vidmem=0xXXX, y lo sustituimos en el script update, y lo ejecutamos.
  4. El xawtv necesita el fichero de configuracion en nuestro $HOME, el '.xawtv'.  Este es el mio de ejemplo.  Mas info 'man xawtv'.
  5. Si todo ha ido bien, update tiene que haber instalado los modulos del bttv, y ejecutando el xawtv ya debemos poder ver la tele.
  6. Algunas teclas, +/-, del teclado numerico, sube y baja el volumen.  La 'f' cambia a pantalla completa.
Es muy importante que podamos sintonizar la TV bien, sin ningun problema, antes de intentar decodificar el C+.
 
Configuraciones del Makefile del bttv, y parametros de los modulos, para las diferentes tarjetas:
AVerMedia TVCapture: bt848, temic

Makefile: CARD=6, PLL=2

xinsmod i2c             verbose=1 scan=1 i2c_debug=0
#test -f i2c_chardev.o && xinsmod i2c_chardev
xinsmod tuner           debug=1 type=0
xinsmod msp3400         debug=2
xinsmod bttv            card=6 radio=0 pll=2,2 vidmem=0xXXX


AverMedia TV-Phone 98: bt878, Philips

Makefile: CARD=6, PLL=2

xinsmod i2c             verbose=1 scan=1 i2c_debug=0
#test -f i2c_chardev.o && xinsmod i2c_chardev
xinsmod tuner           debug=1 type=5
xinsmod msp3400         debug=2
xinsmod bttv            card=6 radio=0 pll=2,2 vidmem=0xXXX
 

Carga automatica del bttv

  1. Bueno, como root en el directorio bttv/driver/, tenemos que ejecutar make install, para que copie los modulos en el /lib/modules, de nuestro kernel actual.
  2. Tenemos que editar el conf.modules y añadir lo siguiente, con el vidmem y type adecuados a cada caso:
# TV
alias   char-major-81   bttv
pre-install bttv        modprobe -k msp3400; modprobe -k tuner
options bttv            radio=0,1 vidmem=0xff0
options tuner           type=5
  1. Ya, invocamos al xawtv, y automaticamente se cargan los modulos.



Decodificacion del C+

  1. Descomprimimos, igual que antes, el xawtv-nagra-2.25l.tgz
  2. Cambiamos a su directorio, 'cd xawtv-nagra', y borrarmos el link del bttv, 'rm bttv', y 'ln -s ../bttv/ bttv'
  3. Hacemos 'make', para crear los ejecutables, y los instala.  Hay que hacerlo como root.
  4. Creamos 'mkdir /usr/local/share/xawtv/', como root.
  5. Como root, ejecutamos 'prep-tabs'
  6. Bien, ahora ejecutamos 'xawtv -p', sintonizamo el C+, pulsamos la 'v', y despues de unos segundos......, ¿donde estan las rayitas?, 8-)
  7. En el fichero LIESMICH, estan todas las instrucciones, pero..., estan en aleman.  Algunas son:  con la 'i' nos dice los fps que saca, y con + y -, pero del teclados de las letras, cambiamos los couples.  Con la 'q' pasamos a modo calidad de imagen, pero pierde fps.

Consideraciones


Decoder de Audio

Del NagraTV-2.31, separe el codigo que decodificaba en audio, y lo puse todo en un archivo, el so_plus.c.
Se compila con 'gcc so_plus.c -o so_plus'.  Se ejecuta como root el so_plus en una consola, y por otro lado el xawtv, asi conseguimos audio y video decodificado.
Hay que tener en cuenta lo del Full Duplex, que he comentado ya.  Mi recomendacion es usar los nuevos nucleos, pero si a alguien le interesan los parches, se los puedo enviar, o mejor, pasarle el modulo para la SB16 ya compilado.

 


Decoder de TeleTexto

Bueno, pues aqui va uno, que es bastante bueno, alevt-1.3.3.tgz
Esta version soporta ya acentos, lleva ayuda integrada, tipo teletexto.  Es una chulada.

 


 Menú principal