Descodificación bajo Linux
Configuracion de
Sintonizadoras de TV en Linux
- Lo primero, esta pagina la compongo,
porque hay bastante gente que me pregunta sobre como se configuran las
tarjetas, y la forma, como no, de quitar la rayitas al C+.
- El software necesario es el bttv
- BT848 frame grabber driver -, desarrollado por Ralph
Metzler y Marcus Metzler.
- Es necesario el Kernel 2.0.33 o superior. Si es experimental, el
bttv va de serie.
- Necesitamos tambien una programa para ver la TV. Hay varios, pero el
que yo uso y me parace mas estable, es el xawtv.
Esta desarrollado por Gerd
Knorr .
- Toda mi experiencia esta basada en la tarjeta miroPCTV, que es la que
tengo, por lo tanto, para otras tarjetas, no puedo asegurar que funcione.
PASOS A SEGUIR, en los Kernel 2.0.33 o superiores:
- 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+.
- Descomprimir el bttv, con tar zxvf bttv-0.5.19.tar.gz.
- 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.
- Por ultimo, como root, hacemos: make, que nos creara los modulos.
- 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
}
- 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.
- Descomprimir el xawtv-2.35tar.gz como antes 'tar zxvf xawtv-2.32.tar.gz'.
- Cambiar a su directorio, y hacer 'make'. Hay que haerlo como 'root'
- Ejecutamos el v4l-conf, para saber el valor de vidmem=0xXXX, y lo
sustituimos en el script update, y lo ejecutamos.
- El xawtv necesita el fichero de configuracion en nuestro $HOME, el '.xawtv'.
Este es el mio de ejemplo. Mas info 'man xawtv'.
- Si todo ha ido bien, update tiene que haber instalado los modulos del bttv,
y ejecutando el xawtv ya debemos poder ver la tele.
- 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
- 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.
- 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
- Ya, invocamos al xawtv, y automaticamente se cargan los modulos.
Decodificacion del C+
- Descomprimimos, igual que antes, el xawtv-nagra-2.25l.tgz
- Cambiamos a su directorio, 'cd xawtv-nagra', y borrarmos el link del bttv,
'rm bttv', y 'ln -s ../bttv/ bttv'
- Hacemos 'make', para crear los ejecutables, y los instala. Hay que
hacerlo como root.
- Creamos 'mkdir /usr/local/share/xawtv/', como root.
- Como root, ejecutamos 'prep-tabs'
- Bien, ahora ejecutamos 'xawtv -p', sintonizamo el C+, pulsamos la 'v', y
despues de unos segundos......, ¿donde estan las rayitas?, 8-)
- 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
- Hay que tener en cuenta que el xawtv-nagra solo decodifica video, no
audio, por lo tanto hay que usar otro programa para oir bien el C+.
- Hay mas programas para la decodificacion como es el NagraTV-2.31,
que decodifica video y audio, pero el modulo de sonido de Linux ha de tener
soporte para Full Duplex, en caso de que lo ejecuties sin soporte full
duplex, el sistema se quedara colgado. Los nucleos 2.0.X, no lo
tienen, y creo que nunca lo tendran. Pero en cambio, a partir del
2.1.127, el OSS/Linux, lleva soporte para Full Duplex.
- Con los 2.0.X, se puede decodificar el audio con un driver de sonido
comercial, o con unos parches para la version 2.0.35. Pero aun asi, se
oye el audio codificado y decodificado simultaneamente.
- Pero con el 2.1.128, hay un truco, que es bajar los agudos (Treble) a 0,
con lo que solo se oye el audio decodificado. Este truquillo se lo
debo a ANA.
- El NagraTV-2.31, es bastante malo, y saca una calidad de imagen bastante
mala, pero si alguien consigue configurarlo como dios manda, que lo diga, y
me tomare nota.
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