martes, mayo 27, 2008

¡¡¡ Al fin TV y Captura de Video en Debian !!!


Declaratoria de MI Independencia:

No se imaginan lo contento que estoy, como perro con dos colas ;)

Al fin pude hacer andar mi Tarjeta Sintonizadora de Video y Capturadora, bajo Linux.

Y aunque no lo crean con la tan temida DEBIAN LENNY, el "cuco" que se come a los nenes crudos en el mundo Linux ;)

Debian Lenny me detectó y cargó V4L (Video For Linux), y también el módulo SAA7134 desde el principio, que me permiten usar mi tarjeta Much TV PCI.

Mi hardware:
En mi caso, tengo un Video JVC VHS con 3 salidas RCA, una de Video y 2 de Audio, ya que si bien no es un video stéreo es bifónico.
Estas salidas RCA las conecto a la capturadora Much TV PCI, usando la entrada RCA de Video y un adaptador que me transforma las dos salidas RCA de Audio (bifónico) a un "plug" SPICA Stéreo, que conecto a la entrada de audio independiente que tiene la capturadora.
Lo tengo conectado así, porque no me gusta el sintonizador de TV de la tarjeta Much TV PCI y prefiero el sintonizador del Video JVC que se ve mejor, además quiero digitalizar viejas cintas VHS, por lo que siempre necesitaré el Video JVC conectado.
A su vez tengo en la entrada Coaxil del Video, la señal de cable, a modo de sintonizadora de TV.

Instalé varios programas para ver TV (TVTIME, XAWTV, KDETV, XDTV), pero no podía ver nada, solo una hermosa pantalla negra y con el audio de fondo. En los programas mencionados, tampoco se me permitía cambiar el orígen de video.

#man lmariño:
Gracias a la "noble y generosa paciencia" de mi amigo Luis Mariño, quien ya tiene una larga experiencia en Debian y en los temas de Multimedia, además de muchas otras cosas
que me muestra cada tanto bajo su Linux, de las cuales no entiendo ni la mitad pero siempre me dejan asombrado, pudimos hacerla andar.

Paso 1:
Me dijo que si bien tenía cargado el módulo SAA7134, no estaban pasados los parámetros que me permiten usar específicamente mi tarjeta.
Obviamente la identificación de mi tarjeta no iba a ser tarea sencilla, y para eso me dijo que ejecutara lo siguiente en la consola:

dmesg | grep saa

Esto nos mostrará los mensajes del arranque del sistema, y con "grep saa" se muestran solo las cosas que contengan la cadena "saa", y por consiguiente todas las tarjetas que soporta el módulo SAA7134.

El resultado fue el siguiente:

saa7130/34: v4l2 driver version 0.2.14 loaded
saa7130[0]: found at 0000:00:0b.0, rev: 1, irq: 20, latency: 32, mmio: 0xea001000
saa7134:
saa7134: Congratulations! Your TV card vendor saved a few
saa7134: cents for a eeprom, thus your pci board has no
saa7134: subsystem ID and I can't identify it automatically
saa7134:
saa7134: I feel better now. Ok, here are the good news:
saa7134: You can use the card= insmod option to specify
saa7134: which board do you have. The list:
saa7134: card=0 -> UNKNOWN/GENERIC
saa7134: card=1 -> Proteus Pro [philips reference design] 1131:2001 1131:2001
saa7134: card=2 -> LifeView FlyVIDEO3000 5168:0138 4e42:0138
saa7134: card=3 -> LifeView/Typhoon FlyVIDEO2000 5168:0138 4e42:0138
saa7134: card=4 -> EMPRESS 1131:6752
saa7134: card=5 -> SKNet Monster TV 1131:4e85
saa7134: card=6 -> Tevion MD 9717
saa7134: card=7 -> KNC One TV-Station RDS / Typhoon TV Tune 1131:fe01 1894:fe01
saa7134: card=8 -> Terratec Cinergy 400 TV 153b:1142
saa7134: card=9 -> Medion 5044
saa7134: card=10 -> Kworld/KuroutoShikou SAA7130-TVPCI
saa7134: card=11 -> Terratec Cinergy 600 TV 153b:1143
saa7134: card=12 -> Medion 7134 16be:0003
saa7134: card=13 -> Typhoon TV+Radio 90031
saa7134: card=14 -> ELSA EX-VISION 300TV 1048:226b
saa7134: card=15 -> ELSA EX-VISION 500TV 1048:226a
saa7134: card=16 -> ASUS TV-FM 7134 1043:4842 1043:4830 1043:4840
saa7134: card=17 -> AOPEN VA1000 POWER 1131:7133
saa7134: card=18 -> BMK MPEX No Tuner
saa7134: card=19 -> Compro VideoMate TV 185b:c100
saa7134: card=20 -> Matrox CronosPlus 102b:48d0
saa7134: card=21 -> 10MOONS PCI TV CAPTURE CARD 1131:2001
saa7134: card=22 -> AverMedia M156 / Medion 2819 1461:a70b
saa7134: card=23 -> BMK MPEX Tuner
saa7134: card=24 -> KNC One TV-Station DVR 1894:a006
saa7134: card=25 -> ASUS TV-FM 7133 1043:4843
saa7134: card=26 -> Pinnacle PCTV Stereo (saa7134) 11bd:002b
saa7134: card=27 -> Manli MuchTV M-TV002/Behold TV 403 FM
saa7134: card=28 -> Manli MuchTV M-TV001/Behold TV 401
saa7134: card=29 -> Nagase Sangyo TransGear 3000TV 1461:050c
saa7134: card=30 -> Elitegroup ECS TVP3XP FM1216 Tuner Card( 1019:4cb4
saa7134: card=31 -> Elitegroup ECS TVP3XP FM1236 Tuner Card 1019:4cb5
saa7134: card=32 -> AVACS SmartTV
saa7134: card=33 -> AVerMedia DVD EZMaker 1461:10ff
saa7134: card=34 -> Noval Prime TV 7133
saa7134: card=35 -> AverMedia AverTV Studio 305 1461:2115
saa7134: card=36 -> UPMOST PURPLE TV 12ab:0800
saa7134: card=37 -> Items MuchTV Plus / IT-005
saa7134: card=38 -> Terratec Cinergy 200 TV 153b:1152
saa7134: card=39 -> LifeView FlyTV Platinum Mini 5168:0212 4e42:0212
saa7134: card=40 -> Compro VideoMate TV PVR/FM 185b:c100
saa7134: card=41 -> Compro VideoMate TV Gold+ 185b:c100
saa7134: card=42 -> Sabrent SBT-TVFM (saa7130)
saa7134: card=43 -> :Zolid Xpert TV7134
saa7134: card=44 -> Empire PCI TV-Radio LE
saa7134: card=45 -> Avermedia AVerTV Studio 307 1461:9715
saa7134: card=46 -> AVerMedia Cardbus TV/Radio (E500) 1461:d6ee
saa7134: card=47 -> Terratec Cinergy 400 mobile 153b:1162
saa7134: card=48 -> Terratec Cinergy 600 TV MK3 153b:1158
saa7134: card=49 -> Compro VideoMate Gold+ Pal 185b:c200
saa7134: card=50 -> Pinnacle PCTV 300i DVB-T + PAL 11bd:002d
saa7134: card=51 -> ProVideo PV952 1540:9524
saa7134: card=52 -> AverMedia AverTV/305 1461:2108
saa7134: card=53 -> ASUS TV-FM 7135 1043:4845
saa7134: card=54 -> LifeView FlyTV Platinum FM / Gold 5168:0214 5168:5214 1489:0214 5168:0304
saa7134: card=55 -> LifeView FlyDVB-T DUO / MSI TV@nywhere D 5168:0306 4e42:0306
saa7134: card=56 -> Avermedia AVerTV 307 1461:a70a
saa7134: card=57 -> Avermedia AVerTV GO 007 FM 1461:f31f
saa7134: card=58 -> ADS Tech Instant TV (saa7135) 1421:0350 1421:0351 1421:0370 1421:1370
saa7134: card=59 -> Kworld/Tevion V-Stream Xpert TV PVR7134
saa7134: card=60 -> LifeView/Typhoon/Genius FlyDVB-T Duo Car 5168:0502 4e42:0502 1489:0502
saa7134: card=61 -> Philips TOUGH DVB-T reference design 1131:2004
saa7134: card=62 -> Compro VideoMate TV Gold+II
saa7134: card=63 -> Kworld Xpert TV PVR7134
saa7134: card=64 -> FlyTV mini Asus Digimatrix 1043:0210
saa7134: card=65 -> V-Stream Studio TV Terminator
saa7134: card=66 -> Yuan TUN-900 (saa7135)
saa7134: card=67 -> Beholder BeholdTV 409 FM 0000:4091
saa7134: card=68 -> GoTView 7135 PCI 5456:7135
saa7134: card=69 -> Philips EUROPA V3 reference design 1131:2004
saa7134: card=70 -> Compro Videomate DVB-T300 185b:c900
saa7134: card=71 -> Compro Videomate DVB-T200 185b:c901
saa7134: card=72 -> RTD Embedded Technologies VFG7350 1435:7350
saa7134: card=73 -> RTD Embedded Technologies VFG7330 1435:7330
saa7134: card=74 -> LifeView FlyTV Platinum Mini2 14c0:1212
saa7134: card=75 -> AVerMedia AVerTVHD MCE A180 1461:1044
saa7134: card=76 -> SKNet MonsterTV Mobile 1131:4ee9
saa7134: card=77 -> Pinnacle PCTV 40i/50i/110i (saa7133) 11bd:002e
saa7134: card=78 -> ASUSTeK P7131 Dual 1043:4862 1043:4857
saa7134: card=79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO
saa7134: card=80 -> ASUS Digimatrix TV 1043:0210
saa7134: card=81 -> Philips Tiger reference design 1131:2018
saa7134: card=82 -> MSI TV@Anywhere plus 1462:6231
saa7134: card=83 -> Terratec Cinergy 250 PCI TV 153b:1160
saa7134: card=84 -> LifeView FlyDVB Trio 5168:0319
saa7134: card=85 -> AverTV DVB-T 777 1461:2c05 1461:2c05
saa7134: card=86 -> LifeView FlyDVB-T / Genius VideoWonder D 5168:0301 1489:0301
saa7134: card=87 -> ADS Instant TV Duo Cardbus PTV331 0331:1421
saa7134: card=88 -> Tevion/KWorld DVB-T 220RF 17de:7201
saa7134: card=89 -> ELSA EX-VISION 700TV 1048:226c
saa7134: card=90 -> Kworld ATSC110/115 17de:7350 17de:7352
saa7134: card=91 -> AVerMedia A169 B 1461:7360
saa7134: card=92 -> AVerMedia A169 B1 1461:6360
saa7134: card=93 -> Medion 7134 Bridge #2 16be:0005
saa7134: card=94 -> LifeView FlyDVB-T Hybrid Cardbus/MSI TV 5168:3306 5168:3502 4e42:3502
saa7134: card=95 -> LifeView FlyVIDEO3000 (NTSC) 5169:0138
saa7134: card=96 -> Medion Md8800 Quadro 16be:0007 16be:0008
saa7134: card=97 -> LifeView FlyDVB-S /Acorp TV134DS 5168:0300 4e42:0300
saa7134: card=98 -> Proteus Pro 2309 0919:2003
saa7134: card=99 -> AVerMedia TV Hybrid A16AR 1461:2c00
saa7134: card=100 -> Asus Europa2 OEM 1043:4860
saa7134: card=101 -> Pinnacle PCTV 310i 11bd:002f
saa7134: card=102 -> Avermedia AVerTV Studio 507 1461:9715
saa7134: card=103 -> Compro Videomate DVB-T200A
saa7134: card=104 -> Hauppauge WinTV-HVR1110 DVB-T/Hybrid 0070:6701
saa7134: card=105 -> Terratec Cinergy HT PCMCIA 153b:1172
saa7134: card=106 -> Encore ENLTV 1131:2342 1131:2341 3016:2344
saa7134: card=107 -> Encore ENLTV-FM 1131:230f
saa7134: card=108 -> Terratec Cinergy HT PCI 153b:1175
saa7134: card=109 -> Philips Tiger - S Reference design
saa7134: card=110 -> Avermedia M102 1461:f31e
saa7134: card=111 -> ASUS P7131 4871 1043:4871
saa7134: card=112 -> ASUSTeK P7131 Hybrid 1043:4876
saa7134: card=113 -> Elitegroup ECS TVP3XP FM1246 Tuner Card 1019:4cb6
saa7134: card=114 -> KWorld DVB-T 210 17de:7250
saa7134: card=115 -> Sabrent PCMCIA TV-PCB05 0919:2003
saa7134: card=116 -> 10MOONS TM300 TV Card 1131:2304
saa7134: card=117 -> Avermedia Super 007 1461:f01d
saa7130[0]: subsystem: 1131:0000, board: UNKNOWN/GENERIC [card=0,autodetected]
saa7130[0]: board init: gpio is c000
saa7130[0]: Huh, no eeprom present (err=-5)?
saa7130[0]: registered device video0 [v4l2]
saa7130[0]: registered device vbi0
saa7130[0]/irq[10,22632930]: r=0x20 s=0x10 PE
saa7130[0]/irq: looping -- clearing PE (parity error!) enable bit

Casi nada ;).
Bueno, ahora solo faltaba indicarle al módulo SAA7134 cuál era mi tarjeta.
Casi nada ;)

Diálogo mensajeroinstantáneo:


daniel_bertua:
¿Y como sé cual es? Hay 117 ;)

luis_mariño:
Ahhh, hay que probar.

¿No tenés idea de cual es, o que marca?.

daniel_bertua:
Según la caja es una MUCH TV PCI.

luis_mariño:
Ahhh, entonces lo que podrías hacer es probar primero con las que digan "MUCH TV" en algún lado.

daniel_bertua:
OK, gracias, voy a probar, lo peor que puede pasar es que tenga que probar con las 117 hasta que una me funcione, cosa que no me ponía muy contento ;)

Camino a la solución:

Me explicó que la manera de probar era con el siguiente comando en la consola:

rmmod saa7134 ; modprobe saa7134 card=el número de la tarjeta a probar

Y luego iniciar alguno de los programas para ver TV que había instalado (TVTIME, XAWTV, KDETV, XDTV), para ver si funcionaba.
En caso de que no lo hiciera, debía cerrarlo y probar con otro, para nuevamente abrir el programa y probar con el nuevo número. Y así hasta que uno me funcionara.

Según el listado, los números de las tarjetas que podrían funcionarme eran:

saa7134: card=27 -> Manli MuchTV M-TV002/Behold TV 403 FM
saa7134: card=28 -> Manli MuchTV M-TV001/Behold TV 401
saa7134: card=37 -> Items MuchTV Plus / IT-005
saa7134: card=79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO

Así que como buen caprichoso y con la esperanza de tener "suerte de principiante", decidí probar con LA ULTIMA ;) y cuyo comando en consola, según las indicaciones de mi amigo Luis Mariño, sería:

rmmod saa7134 ; modprobe saa7134 card=79

Los dioses pingüinezcos decidieron tocarme con su varita mágica, para que funcionara DE PRIMERA ;)

Abrí el TVTIME, y no solo que se escuchaba, también se veía expectacularmente bien y a todo color.
¡¡¡ IMPRESIONANTE !!!

No les puedo explicar la alegría que me dió el haber podido hacer andar la parte de TV y futura Captura de Video en Linux.

Declaratoria de MI Independencia:

¡¡¡ YA NO QUEDA NADA DE LO QUE HACIA BAJO WINDOWS,
QUE NO PUEDA HACER CON LINUX !!!

Si bien la parte de TV y Captura de Video no son de las cosas que más uso, eran como unas piedritas en el zapato que las iba dejando para resolver en un futuro.

Lo que se viene:
Ahora podré empezar a probar programas para capturar y editar videos. Emezaré con una cinta VHS en Húngaro de mi amigo Carlos Zavadsky, a quien tengo bajo largas promesas. Le decía, no uso más Windows, cuando pueda hacer andar mi capturadora bajo Linux, tu cinta será la primera cosa que digitalice. Obviamente imagino que jamás entendió el porqué mi rechazo a instalar Windows, capturarle el video y dejarlo contento en unas pocas horas.

Estas son las cosas que solo un Linuxero puede entender:
EL QUERER HACER NUESTRAS TAREAS DIARIAS,
EXCLUSIVAMENTE CON LINUX,
SOFTWARE LIBRE, GRATUITO,
Y 100% LEGITIMO.

Colorín colorado:
Para terminar, mi amigo Luis Mariño, me explicó que para que el módulo se cargue siempre al inicio, debo crear un archivo de texto llamado "video" en "/etc/modprobe.d/" que contenga lo siguiente:

options saa7134 card=79

Algo de lo que se viene:
Para capturar video, me dijo que estaba probando un programa llamado TRANSCODE, y me mandó a que me informara al respecto en: http://www.transcoding.org/cgi-bin/transcode?Video4linux_Examples

Una línea que me mandó mi amigo Luis Mariño como para capturar desde consola con TRANSCODE sería:

transcode -x v4l2=resync_margin=1:resync_interval=250,v4l2 -g 720x576 -i /dev/video0 -p /dev/dsp1 -e 32000,16,2 -N 0x1 -J resample,levels,smartyuv,pv -w 4000 -y ffmpeg -F mjpeg -o tvrecord-test.avi

Para capturar en X, encontré un programa que se llama XDTV, es fácil, claro y funciona bien de bien, aunque su interfaz no es de las más lindas.

Listo, casi nada ;)

Ya comentaré acerca de capturas de video, recompilación, edición, etc.

¡¡¡ DEBIAN, CADA DIA TE QUIERO MAS !!!

Quiero agradecer muy especialmente a mi amgo LUIS MARIÑO, que me dió una mano bárbara y me ahorró mucho en "búsquedas googleanas" e interminables pruebas.

Saludos y nos leemos.