sábado, 27 de diciembre de 2008

VLC, TDT y otras ternas de letras

Papá Noel ha sido generoso este año, y me ha traido, entre otras cosas, un decodificador TDT, tal y como recomienda el gobierno últimamente, al fin y al cabo, parece que para abril de 2010 o antes nos quedaremos sin la tele de toda la vida.

Esto me ha llevado a retocar la configuración de la televisión bajo Ubuntu, puesto que no tenía buenos resultados con las últimas versiones del sistema operativo (concretamente, con Ubuntu 8.04 - Hardy Heron).

Los resultados obtenidos no son muy alentadores (teniendo en cuenta que con versiones anteriores de Ubuntu, conseguía ver la televisión a la perfección a través de programas como Zapping o tvtime). Sin embargo, estos programas no me funcionan de manera correcta con Ubuntu 8.04 (muy probablemente por una mala configuración de la tarjeta capturadora, en mi caso, una Avermedia TVPhone con chip Bt878), y he tenido que recurrir al polivalente VLC, como ya os expliqué en una entrada anterior. En esa ocasión podíamos ver que la calidad de imagen no era demasiado espectacular:



En primer lugar, debemos configurar la tarjeta correctamente. Para ello (y que conste que no tengo mucha idea de lo que hablo XD, así que mejor consultar otras fuentes :p), lo primero es borrar la configuración anterior con:
sudo rmmod bttv
sudo rmmod tuner
Después, tenemos que restablecer la configuración de la tarjeta, para lo cual hay que conocer cuál es el código asociado a nuestra tarjeta (card), y cual al sintonizador (tuner):

Códigos de Tarjetas


card=0 *** UNKNOWN/GENERIC ***
card=1 MIRO PCTV
card=2 Hauppauge (bt848)
card=3 STB, Gateway P/N 6000699 (bt848)
card=4 Intel Create and Share PCI/ Smart Video Recorder III
card=5 Diamond DTV2000
card=6 AVerMedia TVPhone
card=7 MATRIX-Vision MV-Delta
card=8 Lifeview FlyVideo II (Bt848) LR26 / MAXI TV Video PCI2 LR26
card=9 IMS/IXmicro TurboTV
card=10 Hauppauge (bt878) [0070:13eb,0070:3900,2636:10b4]
card=11 MIRO PCTV pro
card=12 ADS Technologies Channel Surfer TV (bt848)
card=13 AVerMedia TVCapture 98 [1461:0002,1461:0004,1461:0300]
card=14 Aimslab Video Highway Xtreme (VHX)
card=15 Zoltrix TV-Max [a1a0:a0fc]
card=16 Prolink Pixelview PlayTV (bt878)
card=17 Leadtek WinView 601
card=18 AVEC Intercapture
card=19 Lifeview FlyVideo II EZ /FlyKit LR38 Bt848 (capture only)
card=20 CEI Raffles Card
card=21 Lifeview FlyVideo 98/ Lucky Star Image World ConferenceTV LR50
card=22 Askey CPH050/ Phoebe Tv Master + FM [14ff:3002]
card=23 Modular Technology MM201/MM202/MM205/MM210/MM215 PCTV, bt878 [14c7:0101]
card=24 Askey CPH05X/06X (bt878) [many vendors] [144f:3002,144f:3005,144f:5000,14ff:3000]
card=25 Terratec TerraTV+ Version 1.0 (Bt848)/ Terra TValue Version 1.0/ Vobis TV-Boostar
card=26 Hauppauge WinCam newer (bt878)
card=27 Lifeview FlyVideo 98/ MAXI TV Video PCI2 LR50
card=28 Terratec TerraTV+ Version 1.1 (bt878) [153b:1127,1852:1852]
card=29 Imagenation PXC200 [1295:200a]
card=30 Lifeview FlyVideo 98 LR50 [1f7f:1850]
card=31 Formac iProTV, Formac ProTV I (bt848)
card=32 Intel Create and Share PCI/ Smart Video Recorder III
card=33 Terratec TerraTValue Version Bt878 [153b:1117,153b:1118,153b:1119,153b:111a,153b:1134,153b:5018]
card=34 Leadtek WinFast 2000/ WinFast 2000 XP [107d:6606,107d:6609,6606:217d,f6ff:fff6]
card=35 Lifeview FlyVideo 98 LR50 / Chronos Video Shuttle II [1851:1850,1851:a050]
card=36 Lifeview FlyVideo 98FM LR50 / Typhoon TView TV/FM Tuner [1852:1852]
card=37 Prolink PixelView PlayTV pro
card=38 Askey CPH06X TView99 [144f:3000,144f:a005,a04f:a0fc]
card=39 Pinnacle PCTV Studio/Rave [11bd:0012,bd11:1200,bd11:ff00,11bd:ff12]
card=40 STB TV PCI FM, Gateway P/N 6000704 (bt878), 3Dfx VoodooTV 100 [10b4:2636,10b4:2645,121a:3060]
card=41 AVerMedia TVPhone 98 [1461:0001,1461:0003]
card=42 ProVideo PV951 [aa0c:146c]
card=43 Little OnAir TV
card=44 Sigma TVII-FM
card=45 MATRIX-Vision MV-Delta 2
card=46 Zoltrix Genie TV/FM [15b0:4000,15b0:400a,15b0:400d,15b0:4010,15b0:4016]
card=47 Terratec TV/Radio+ [153b:1123]
card=48 Askey CPH03x/ Dynalink Magic TView
card=49 IODATA GV-BCTV3/PCI [10fc:4020]
card=50 Prolink PV-BT878P+4E / PixelView PlayTV PAK / Lenco MXTV-9578 CP
card=51 Eagle Wireless Capricorn2 (bt878A)
card=52 Pinnacle PCTV Studio Pro
card=53 Typhoon TView RDS + FM Stereo / KNC1 TV Station RDS
card=54 Lifeview FlyVideo 2000 /FlyVideo A2/ Lifetec LT 9415 TV [LR90]
card=55 Askey CPH031/ BESTBUY Easy TV
card=56 Lifeview FlyVideo 98FM LR50 [a051:41a0]
card=57 GrandTec Grand Video Capture (Bt848) [4344:4142]
card=58 Askey CPH060/ Phoebe TV Master Only (No FM)
card=59 Askey CPH03x TV Capturer
card=60 Modular Technology MM100PCTV
card=61 AG Electronics GMV1 [15cb:0101]
card=62 Askey CPH061/ BESTBUY Easy TV (bt878)
card=63 ATI TV-Wonder [1002:0001]
card=64 ATI TV-Wonder VE [1002:0003]
card=65 Lifeview FlyVideo 2000S LR90
card=66 Terratec TValueRadio [153b:1135,153b:ff3b]
card=67 IODATA GV-BCTV4/PCI [10fc:4050]
card=68 3Dfx VoodooTV FM (Euro) [10b4:2637]
card=69 Active Imaging AIMMS
card=70 Prolink Pixelview PV-BT878P+ (Rev.4C,8E)
card=71 Lifeview FlyVideo 98EZ (capture only) LR51 [1851:1851]
card=72 Prolink Pixelview PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM) [1554:4011]
card=73 Sensoray 311 [6000:0311]
card=74 RemoteVision MX (RV605)
card=75 Powercolor MTV878/ MTV878R/ MTV878F
card=76 Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP) [0e11:0079]
card=77 GrandTec Multi Capture Card (Bt878)
card=78 Jetway TV/Capture JW-TV878-FBK, Kworld KW-TV878RF [0a01:17de]
card=79 DSP Design TCVIDEO
card=80 Hauppauge WinTV PVR [0070:4500]
card=81 IODATA GV-BCTV5/PCI [10fc:4070,10fc:d018]
card=82 Osprey 100/150 (878) [0070:ff00]
card=83 Osprey 100/150 (848)
card=84 Osprey 101 (848)
card=85 Osprey 101/151
card=86 Osprey 101/151 w/ svid
card=87 Osprey 200/201/250/251
card=88 Osprey 200/250 [0070:ff01]
card=89 Osprey 210/220/230
card=90 Osprey 500 [0070:ff02]
card=91 Osprey 540 [0070:ff04]
card=92 Osprey 2000 [0070:ff03]
card=93 IDS Eagle
card=94 Pinnacle PCTV Sat [11bd:001c]
card=95 Formac ProTV II (bt878)
card=96 MachTV
card=97 Euresys Picolo
card=98 ProVideo PV150 [aa00:1460,aa01:1461,aa02:1462,aa03:1463,aa04:1464,aa05:1465,aa06:1466,aa07:1467]
card=99 AD-TVK503
card=100 Hercules Smart TV Stereo
card=101 Pace TV & Radio Card
card=102 IVC-200 [0000:a155,0001:a155,0002:a155,0003:a155,0100:a155,0101:a155,0102:a155,0103:a155]
card=103 Grand X-Guard / Trust 814PCI [0304:0102]
card=104 Nebula Electronics DigiTV [0071:0101]
card=105 ProVideo PV143 [aa00:1430,aa00:1431,aa00:1432,aa00:1433,aa03:1433]
card=106 PHYTEC VD-009-X1 MiniDIN (bt878)
card=107 PHYTEC VD-009-X1 Combi (bt878)
card=108 PHYTEC VD-009 MiniDIN (bt878)
card=109 PHYTEC VD-009 Combi (bt878)
card=110 IVC-100 [ff00:a132]
card=111 IVC-120G [ff00:a182,ff01:a182,ff02:a182,ff03:a182,ff04:a182,ff05:a182,ff06:a182,ff07:a182,ff08:a182,ff09:a182,ff0a:a182,ff0b:a182,ff0c:a182,ff0d:a182,ff0e:a182,ff0f:a182]
card=112 pcHDTV HD-2000 TV [7063:2000]
card=113 Twinhan DST + clones [11bd:0026,1822:0001,270f:fc00,1822:0026]
card=114 Winfast VC100 [107d:6607]
card=115 Teppro TEV-560/InterVision IV-560
card=116 SIMUS GVC1100 [aa6a:82b2]
card=117 NGS NGSTV+
card=118 LMLBT4
card=119 Tekram M205 PRO
card=120 Conceptronic CONTVFMi
card=121 Euresys Picolo Tetra [1805:0105,1805:0106,1805:0107,1805:0108]
card=122 Spirit TV Tuner
card=123 AVerMedia AVerTV DVB-T 771 [1461:0771]
card=124 AverMedia AverTV DVB-T 761 [1461:0761]
card=125 MATRIX Vision Sigma-SQ
card=126 MATRIX Vision Sigma-SLC
card=127 APAC Viewcomp 878(AMAX)
card=128 DViCO FusionHDTV DVB-T Lite [18ac:db10,18ac:db11]
card=129 V-Gear MyVCD
card=130 Super TV Tuner
card=131 Tibet Systems Progress DVR CS16
card=132 Kodicom 4400R (master)
card=133 Kodicom 4400R (slave)
card=134 Adlink RTV24
card=135 DViCO FusionHDTV 5 Lite [18ac:d500]
card=136 Acorp Y878F [9511:1540]
card=137 Conceptronic CTVFMi v2
card=138 Prolink Pixelview PV-BT878P+ (Rev.2E)
card=139 Prolink PixelView PlayTV MPEG2 PV-M4900
card=140 Osprey 440 [0070:ff07]
card=141 Asound Skyeye PCTV
card=142 Sabrent TV-FM (bttv version)
card=143 Hauppauge ImpactVCB (bt878) [0070:13eb]
card=144 MagicTV
card=145 SSAI Security Video Interface [4149:5353]
card=146 SSAI Ultrasound Video Interface [414a:5353]
card=147 VoodooTV 200 (USA) [121a:3000]
card=148 DViCO FusionHDTV 2 [dbc0:d200]



Códigos de Sintonizadores


tuner=0 - Temic PAL (4002 FH5)
tuner=1 - Philips PAL_I (FI1246 and compatibles)
tuner=2 - Philips NTSC (FI1236,FM1236 and compatibles)
tuner=3 - Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF)
tuner=4 - NoTuner
tuner=5 - Philips PAL_BG (FI1216 and compatibles)
tuner=6 - Temic NTSC (4032 FY5)
tuner=7 - Temic PAL_I (4062 FY5)
tuner=8 - Temic NTSC (4036 FY5)
tuner=9 - Alps HSBH1
tuner=10 - Alps TSBE1
tuner=11 - Alps TSBB5
tuner=12 - Alps TSBE5
tuner=13 - Alps TSBC5
tuner=14 - Temic PAL_BG (4006FH5)
tuner=15 - Alps TSCH6
tuner=16 - Temic PAL_DK (4016 FY5)
tuner=17 - Philips NTSC_M (MK2)
tuner=18 - Temic PAL_I (4066 FY5)
tuner=19 - Temic PAL* auto (4006 FN5)
tuner=20 - Temic PAL_BG (4009 FR5) or PAL_I (4069 FR5)
tuner=21 - Temic NTSC (4039 FR5)
tuner=22 - Temic PAL/SECAM multi (4046 FM5)
tuner=23 - Philips PAL_DK (FI1256 and compatibles)
tuner=24 - Philips PAL/SECAM multi (FQ1216ME)
tuner=25 - LG PAL_I+FM (TAPC-I001D)
tuner=26 - LG PAL_I (TAPC-I701D)
tuner=27 - LG NTSC+FM (TPI8NSR01F)
tuner=28 - LG PAL_BG+FM (TPI8PSB01D)
tuner=29 - LG PAL_BG (TPI8PSB11D)
tuner=30 - Temic PAL* auto + FM (4009 FN5)
tuner=31 - SHARP NTSC_JP (2U5JF5540)
tuner=32 - Samsung PAL TCPM9091PD27
tuner=33 - MT20xx universal
tuner=34 - Temic PAL_BG (4106 FH5)
tuner=35 - Temic PAL_DK/SECAM_L (4012 FY5)
tuner=36 - Temic NTSC (4136 FY5)
tuner=37 - LG PAL (newer TAPC series)
tuner=38 - Philips PAL/SECAM multi (FM1216ME MK3)
tuner=39 - LG NTSC (newer TAPC series)
tuner=40 - HITACHI V7-J180AT
tuner=41 - Philips PAL_MK (FI1216 MK)
tuner=42 - Philips FCV1236D ATSC/NTSC dual in
tuner=43 - Philips NTSC MK3 (FM1236MK3 or FM1236/F)
tuner=44 - Philips 4 in 1 (ATI TV Wonder Pro/Conexant)
tuner=45 - Microtune 4049 FM5
tuner=46 - Panasonic VP27s/ENGE4324D
tuner=47 - LG NTSC (TAPE series)
tuner=48 - Tenna TNF 8831 BGFF)
tuner=49 - Microtune 4042 FI5 ATSC/NTSC dual in
tuner=50 - TCL 2002N
tuner=51 - Philips PAL/SECAM_D (FM 1256 I-H3)
tuner=52 - Thomson DTT 7610 (ATSC/NTSC)
tuner=53 - Philips FQ1286
tuner=54 - tda8290+75
tuner=55 - TCL 2002MB
tuner=56 - Philips PAL/SECAM multi (FQ1216AME MK4)
tuner=57 - Philips FQ1236A MK4
tuner=58 - Ymec TVision TVF-8531MF/8831MF/8731MF
tuner=59 - Ymec TVision TVF-5533MF
tuner=60 - Thomson DTT 761X (ATSC/NTSC)
tuner=61 - Tena TNF9533-D/IF/TNF9533-B/DF
tuner=62 - Philips TEA5767HN FM Radio
tuner=63 - Philips FMD1216ME MK3 Hybrid Tuner
tuner=64 - LG TDVS-H06xF
tuner=65 - Ymec TVF66T5-B/DFF
tuner=66 - LG TALN series
tuner=67 - Philips TD1316 Hybrid Tuner
tuner=68 - Philips TUV1236D ATSC/NTSC dual in
tuner=69 - Tena TNF 5335 and similar models
tuner=70 - Samsung TCPN 2121P30A
tuner=71 - Xceive xc3028
tuner=72 - Thomson FE6600
tuner=73 - Samsung TCPG 6121P30A
tuner=75 - Philips TEA5761 FM Radio



Cuando sepamos cuáles son los dos números que definen a nuestra tarjeta, la configuramos con la orden:
sudo modprobe bttv card=6 tuner=19
Donde yo he escogido la tarjeta 6 (AVerMedia TVPhone) y el sintonizador 19 (Temic PAL* auto - 4006 FN5), que es la configuración de las que he probado que mejor parece funcionarme.

Para completar el proceso, abrimos el archivo "options" situado en la carpeta "/etc/modprobe.d/" con un editor de textos, por ejemplo:
sudo gedit /etc/modprobe.d/options
En él incluimos una última línea con los datos de nuetra tarjeta, en mi ejemplo:
options bttv card=6 tuner=19
Después de esta configuración chapucera que he realizado sobre mi tarjeta (y de la que no estoy muy seguro de que no sea la culpable de que no funcione nada más XD), toca ver el resultado con el único programa con el que consigo acceder "correctamente" a la entrada de S-VÍDEO, que es la que utilizo yo, el VLC. La orden que a mí me funciona es la siguiente:
vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/dsp" :v4l-norm=3 :v4l-frequency=-1
Que significa que con el programa VLC abrimos a través de v4l (video for linux) el canal de vídeo "/dev/video0", el de audio "/dev/dps", con la norma 3 (búsqueda automática de la norma correcta: PAL, SECAM, NTSC) y con frecuencia -1 (automática). Sin embargo, si invocamos el VLC con los siguientes parámetros:
vlc v4l:/dev/video0:norm=3:frequency=81500:size=640x480:adev=/dev/dsp
Cuya diferencia con el comando anterior es básicamente la resolución (640x480 respecto a la original de 320x240), vemos que la cosa mejora bastante. A continuación, muestro comparadas a igual tamaño las dos resoluciones (la imagen de la izquierda - de 640x480 px - tendrá 230.400 px, o lo que es lo mismo, 0,23 Mpx reales más que la de la derecha - 320x240 px - el resto hasta llegar a la resolución con la que aparecen - mayor que la nativa en ambos casos - serán interpolados, y por tanto, contribuirán a desfigurar la imagen).

(Pinchar sobre la imagen para ver a tamaño completo)

Pese a ello, es verdad que se sigue viendo en blanco y negro y pixelado, pero respecto la imagen de la derecha, hay que reconocer que se nota la diferencia. Otro truco es activar en el reproductor la opción: Vídeo>Desentrelazar>Mezclar, de tal manera que - supongo que eso es lo que hace - el interpolado de los píxeles se suaviza con ayuda de los fotogramas adyacentes. El resultado final es una imagen algo menos pixelada a cambio de ser una pizca más borrosa.

Hasta aquí es a lo máximo que he llegado con el VLC, y aunque no es mucho, después de cómo me iba antes yo ya me doy por satisfecho hasta que actualice el sistema operativo y - espero - hayan mejorado la detección de la tarjeta capturadora y las incompatibilidades con software para manejarla.

Como regalo, os dejo un sencillo script que al ejecutarlo os mostrará el VLC con el canal de supervídeo (S-VIDEO) sintonizado, pero que dando a los botones "siguiente" y "previo" del reproductor irá sintonizando las distintas cadenas de televisión ordenadas (TVE1, TVE2, Antena3, Cuatro, TeleCinco, un canal 6 local, Canal 7, Telemadrid y otro canal local). Para ello, evidentemente, debemos tener algo conectado a la entrada de supervídeo para poderlo ver (canal 2), y una antena enchufada a la conexión de televisión analógica de la tarjeta (canal 0).
#!/bin/bash
vlc v4l:/dev/video0:norm=3:frequency=-1:size=640x480:adev=/dev/dsp:channel=2 \
v4l:/dev/video0:norm=3:frequency=687250:size=640x480:adev=/dev/dsp:channel=0 \
v4l:/dev/video0:norm=3:frequency=735250:size=640x480:adev=/dev/dsp:channel=0 \
v4l:/dev/video0:norm=3:frequency=815250:size=640x480:adev=/dev/dsp:channel=0 \
v4l:/dev/video0:norm=3:frequency=791250:size=640x480:adev=/dev/dsp:channel=0 \
v4l:/dev/video0:norm=3:frequency=767250:size=640x480:adev=/dev/dsp:channel=0 \
v4l:/dev/video0:norm=3:frequency=527250:size=640x480:adev=/dev/dsp:channel=0 \
v4l:/dev/video0:norm=3:frequency=575250:size=640x480:adev=/dev/dsp:channel=0 \
v4l:/dev/video0:norm=3:frequency=711250:size=640x480:adev=/dev/dsp:channel=0 \
v4l:/dev/video0:norm=3:frequency=599250:size=640x480:adev=/dev/dsp:channel=0


Nótese que esta configuración de frecuencias es local. Debería funcionar bien en Alcalá de Henares, y parcialmente en Madrid, pero es muy fácil hacer ciertos ajustes (simplemente cambiando las frecuencias que aparecen) para sintonizar otras cadenas de televisión, o las mencionadas en caso de que no se vean en tu zona con esas frecuencias.

2 comentarios:

  1. Me da la sensacion de que lo ves asi de mal porque aunque creas que es s-video, te esta abriendo el video como video compuesto. Juega con las opciones del vlc.

    ResponderEliminar
  2. Jugué mucho con las opciones del vlc en su día y no conseguí mejorarlo... de todas formas, tengo una tarjeta capturadora antiquísima que a saber si sigue funcionando como debería o si la reconoce bien mi sistema operativo.

    Actualmente, bajo Ubuntu 10.04, utilizo TvTime, que ahora sí funciona. Pero incluso así no tiene la calidad que debería. Tendré que comprarme una nueva capturadora :)!

    Un saludo!

    ResponderEliminar

Querido astarothista!,

Si te ha gustado la entrada y quieres dejar constancia de ello, tienes alguna sugerencia para completarla o corregirla, quieres mostrar tu opinión respecto a algo de lo que se haya hablado en esta entrada (con respeto) o simplemente quieres dejarme un mensaje a mi o a la comunidad, no dudes en comentar ;)!

Recuerda que también estamos en Facebook y en Google+.