Como de captura de TV con una tarjeta Bt878
Debería ser más fácil, pero en su momento me dio mucha guerra el hacer una captura decente con una tarjeta de las del estilo
Bt878 (Brooktree Corporation), en mi caso, una AverTV 203 de Avermedia Technologies. Es una capturadora de televisión analógica, con lo que este breve howto tendrá cada vez menos importancia en España.
En Debian (Etch) el kernel (serie 2.6) viene perfectamente preparado para trabajar con esta tarjeta, pero de recompilar nuestro propio kernel, habrá que darle soporte adecuado a
I2C (en la sección
Device Drivers), que a su vez permite seleccionar los módulos
bttv y
bt878 (en
Device Drivers-> Multimedia Devices->Video Capture Adapters).
El sonido también puede dar algo de guerra. El paquete alsa-base y alsa-utils, y si acaso el alsamixergui, nos permiten indicar el canal de grabación, mic típicamente, que será donde enchufemos en la tarjeta de sonido la salida de audio de la tarjeta capturadora.
Paquetes necesarios:
ffmpeg,
transcode,
lame (y sus dependencias). Cuando tenga tiempo investigaré como crear un mkv (xvid+ogg, contenedor
libre Matroshka). Mientras tanto, con esos paquetes y alguna biblioteca más que pedirán, podemos hacer un script como este para capturar. No recuerdo de donde lo saqué, pero sería saltando de alguno de los enlaces del
wiki de Video For Linux∞. Tiene su importancia, porque con este script y estos paquetes, he conseguido grabar sincronizando adecuadamente audio y vídeo:
#!/bin/sh
TODAY=$( date +%Y%m%d )
NOW=$( date +%H:%M )
transcode -x v4l2=resync_margin=1:resync_interval=250,v4l2 \
-g 352x288 \
-i /dev/video0 \
-p /dev/dsp \
-N 0x01 \
-J resample,levels,smartyuv,pv \
-w 1800 \
-b 128 \
-y ffmpeg \
-F mpeg4 \
-o tvrecord-${TODAY}-${NOW}.avi \
¿Ajustes típicos? Con -w indicamos bitrate de vídeo, si subimos demasiado también crecerán de tamaño los archivos capturados; -b lo mismo, pero para audio.