O kernel Linux 2.6.38 já traz suporte para a placa de TV Pixelview PlayTV USB Hybrid no Linux Ubuntu. Com esta placa, é possível se assistir a TV digital brasileira SBTVD em fullseg (1920×1080) e 1seg (320×240), além da TV standard. Também permite gravação de fontes externas analógicas — como receptores de satélite e filmadoras — pelas entradas Composite (conector RCA amarelo), S-Video e RF, em resolução 720×480. Além disto, capta rádio FM.
O Linux reconhece os chips Conexant cx23102 e Fujitsu mb86a20s graças ao trabalho do professor brasileiro Mauro Carvalho Chehab (mchehabΘredhat·com), mantenedor dos módulos multimídia do Linux e um dos 30 maiores colaboradores deste sistema operacional livre. Um trabalho fundamental no momento em que o Brasil deflagra uma ofensiva diplomática-cultural-comercial na difusão do padrão ISDB-TB em países do hemisfério sul.
Hacking TV
O comando lsusb, que lista os dispositivos USB, reporta:
Bus 001 Device 002: ID 1554:5010 Prolink Microsystems Corp.
Vendor ID é 1554 e Product ID é 5010.
O comando “modinfo cx231xx” reporta os parâmetros do módulo Linux cx231xx :
- pcb_debug: enable pcb config debug messages (int)
- mpegbufs: number of mpeg buffers, range 2-32 (int)
- mpeglines: number of lines in an MPEG buffer, range 2-32 (int)
- mpeglinesize: number of bytes in each line of an MPEG buffer, range 512-1024 (int)
- v4l_debug: enable V4L debug messages (int)
- core_debug: enable debug messages [core] (int)
- reg_debug: enable debug messages [URB reg] (int)
- alt: alternate setting to use for video endpoint (int)
- tuner: tuner type (int)
- transfer_mode: transfer mode (1-ISO or 0-BULK) (int)
- disable_ir: disable infrared remote support (int)
- i2c_scan: scan i2c bus at insmod time (int)
- i2c_debug: enable debug messages [i2c] (int)
- isoc_debug: enable debug messages [isoc transfers] (int)
- card: card type (array of int)
- video_nr: video device numbers (array of int)
- vbi_nr: vbi device numbers (array of int)
- radio_nr: radio device numbers (array of int)
- video_debug: enable debug messages (int)
No Ubuntu, estes parâmetros devem ser passados no arquivo /etc/modprobe.d/cx231xx.conf para serem automaticamente configurados no boot. Por exemplo, a ordem dos dispositivos de vídeo, rádio e closed captions pode ser definida com esta linha no arquivo:
options cx231xx video_nr=2 radio_nr=2 vbi_nr=2
Assim, posso ter a webcâmera como dispositivo /dev/video0, a placa de TV PCI como /dev/video1 e a placa de TV USB como /dev/video2
O arquivo de log /var/log/dmesg reporta:
cx231xx #0: cx231xx #0: v4l2 driver version 0.0.1 cx231xx #0: cx231xx_dif_set_standard: setStandard to 100 cx231xx #0: video_mux : 0 cx231xx #0: do_mode_ctrl_overrides : 0x100 cx231xx #0: do_mode_ctrl_overrides NTSC cx231xx #0: cx231xx #0/0: registered device video0 [v4l2] cx231xx #0: cx231xx #0/0: registered device vbi1 cx231xx #0: V4L2 device registered as video0 and vbi1 Registered IR keymap rc-pixelview-002t input: i2c IR (Pixelview PlayTV USB Hy as /devices/virtual/rc/rc1/input6 rc1: i2c IR (Pixelview PlayTV USB Hy as /devices/virtual/rc/rc1 ir-kbd-i2c: i2c IR (Pixelview PlayTV USB Hy detected at i2c-2/2-0030/ir0 [cx231xx #0] cx231xx #0: EndPoint Addr 0x84, Alternate settings: 5 cx231xx #0: Alternate setting 0, max size= 512 cx231xx #0: Alternate setting 1, max size= 184 cx231xx #0: Alternate setting 2, max size= 728 cx231xx #0: Alternate setting 3, max size= 2892 cx231xx #0: Alternate setting 4, max size= 1800 cx231xx #0: EndPoint Addr 0x85, Alternate settings: 2 cx231xx #0: Alternate setting 0, max size= 512 cx231xx #0: Alternate setting 1, max size= 512 cx231xx #0: EndPoint Addr 0x86, Alternate settings: 2 cx231xx #0: Alternate setting 0, max size= 512 cx231xx #0: Alternate setting 1, max size= 576 cx231xx #0: EndPoint Addr 0x81, Alternate settings: 6 cx231xx #0: Alternate setting 0, max size= 512 cx231xx #0: Alternate setting 1, max size= 64 cx231xx #0: Alternate setting 2, max size= 128 cx231xx #0: Alternate setting 3, max size= 316 cx231xx #0: Alternate setting 4, max size= 712 cx231xx #0: Alternate setting 5, max size= 1424 usbcore: registered new interface driver cx231xx cx231xx #0: cx231xxcx231xx: called cx231xx_uninit_vbi_isoc cx231xx #0: cx231xx_stop_stream():: ep_mask = 10 cx231xx #0: setPowerMode::mode = 32, No Change req. cx231xx #0: cx231xx_stop_stream():: ep_mask = 8 cx231xx #0: cx231xx-audio.c: probing for cx231xx non standard usbaudio cx231xx #0: EndPoint Addr 0x83, Alternate settings: 3 cx231xx #0: Alternate setting 0, max size= 512 cx231xx #0: Alternate setting 1, max size= 28 cx231xx #0: Alternate setting 2, max size= 52 cx231xx: Cx231xx Audio Extension initialized dvb_init: looking for demod on i2c bus: 2 mb86a20s: mb86a20s_attach: Detected a Fujitsu mb86a20s frontend tda18271 2-0060: attaching existing instance DVB: registering new adapter (cx231xx #0) DVB: registering adapter 0 frontend 0 (Fujitsu mb86A20s)... Successfully loaded cx231xx-dvb cx231xx: Cx231xx dvb Extension initialized
O módulo cx231xx reconhece o chip cx23102, decodificador de áudio e vídeo USB e receptor de infravermelho. Segundo sua datasheet, ele suporta os seguintes formatos de vídeo: Composite, S-Video, 480i YPrPb, RGB Packed, YCrCb Packed, 10-bit Packed, e YCrCb/YUY2. O receptor infravermelho do chip também foi detectado.
O sintonizador híbrido analógico e digital de TV e FM foi reconhecido como TDA1827HD/C2 .
O comando v4l-info (informações Video For Linux) reportou:
### v4l2 device info [/dev/video2] ### general info VIDIOC_QUERYCAP driver : "cx231xx" card : "Pixelview PlayTV USB Hybrid" bus_info : "usb-0000:00:1a.7-4" version : 0.0.1 capabilities : 0x5030011 [VIDEO_CAPTURE,VBI_CAPTURE,TUNER,AUDIO,READWRITE,STREAMING] standards VIDIOC_ENUMSTD(0) index : 0 id : 0xb000 [NTSC_M,NTSC_M_JP,?] name : "NTSC" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(1) index : 1 id : 0x1000 [NTSC_M] name : "NTSC-M" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(2) index : 2 id : 0x2000 [NTSC_M_JP] name : "NTSC-M-JP" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(3) index : 3 id : 0x8000 [?] name : "NTSC-M-KR" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(4) index : 4 id : 0x4000 [?] name : "NTSC-443" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(5) index : 5 id : 0xff [PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K] name : "PAL" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(6) index : 6 id : 0x7 [PAL_B,PAL_B1,PAL_G] name : "PAL-BG" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(7) index : 7 id : 0x8 [PAL_H] name : "PAL-H" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(8) index : 8 id : 0x10 [PAL_I] name : "PAL-I" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(9) index : 9 id : 0xe0 [PAL_D,PAL_D1,PAL_K] name : "PAL-DK" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(10) index : 10 id : 0x100 [PAL_M] name : "PAL-M" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(11) index : 11 id : 0x200 [PAL_N] name : "PAL-N" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(12) index : 12 id : 0x400 [PAL_Nc] name : "PAL-Nc" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(13) index : 13 id : 0x800 [PAL_60] name : "PAL-60" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(14) index : 14 id : 0xff0000 [SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB] name : "SECAM" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(15) index : 15 id : 0x10000 [SECAM_B] name : "SECAM-B" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(16) index : 16 id : 0x40000 [SECAM_G] name : "SECAM-G" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(17) index : 17 id : 0x80000 [SECAM_H] name : "SECAM-H" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(18) index : 18 id : 0x320000 [SECAM_D,SECAM_K,SECAM_K1] name : "SECAM-DK" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(19) index : 19 id : 0x400000 [SECAM_L] name : "SECAM-L" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(20) index : 20 id : 0x800000 [?ATSC_8_VSB] name : "SECAM-Lc" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 inputs VIDIOC_ENUMINPUT(0) index : 0 name : "Television" type : TUNER audioset : 0 tuner : 0 std : 0xffffff [PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB] status : 0x0 [] VIDIOC_ENUMINPUT(1) index : 1 name : "Composite1" type : CAMERA audioset : 0 tuner : 0 std : 0xffffff [PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB] status : 0x0 [] VIDIOC_ENUMINPUT(2) index : 2 name : "S-Video" type : CAMERA audioset : 0 tuner : 0 std : 0xffffff [PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB] status : 0x0 [] tuners VIDIOC_G_TUNER(0) index : 0 name : "Tuner" type : ANALOG_TV capability : 0x2 [NORM] rangelow : 0 rangehigh : 4294967295 rxsubchans : 0x0 [] audmode : MONO signal : 65535 afc : 0 video capture VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE) index : 0 type : VIDEO_CAPTURE flags : 0 description : "16bpp YUY2, 4:2:2, packed" pixelformat : 0x56595559 [YUYV] VIDIOC_G_FMT(VIDEO_CAPTURE) type : VIDEO_CAPTURE fmt.pix.width : 640 fmt.pix.height : 480 fmt.pix.pixelformat : 0x56595559 [YUYV] fmt.pix.field : INTERLACED fmt.pix.bytesperline : 1280 fmt.pix.sizeimage : 614400 fmt.pix.colorspace : SMPTE170M fmt.pix.priv : 0 vbi capture VIDIOC_G_FMT(VBI_CAPTURE) type : VBI_CAPTURE fmt.vbi.sampling_rate : 27000000 fmt.vbi.offset : 0 fmt.vbi.samples_per_line: 1440 fmt.vbi.sample_format : 0x59455247 [GREY] fmt.vbi.start[0] : 10 fmt.vbi.start[1] : 273 fmt.vbi.count[0] : 12 fmt.vbi.count[1] : 12 fmt.vbi.flags : 0 controls VIDIOC_QUERYCTRL(BASE+0) id : 9963776 type : INTEGER name : "Brightness" minimum : 0 maximum : 255 step : 1 default_value : 128 flags : 32 VIDIOC_QUERYCTRL(BASE+1) id : 9963777 type : INTEGER name : "Contrast" minimum : 0 maximum : 127 step : 1 default_value : 64 flags : 32 VIDIOC_QUERYCTRL(BASE+2) id : 9963778 type : INTEGER name : "Saturation" minimum : 0 maximum : 127 step : 1 default_value : 64 flags : 32 VIDIOC_QUERYCTRL(BASE+3) id : 9963779 type : INTEGER name : "Hue" minimum : -128 maximum : 127 step : 1 default_value : 0 flags : 32
Os parâmetros de brilho, contraste, matiz, saturação e volume podem ser controlados interativamente pelo programa GUVCViewer. O programa v4l2ucp lê os parâmetros mas mostra-os desabilitados para mudanças.
O programa v4l2ctrl permite gravar e ler estes parâmetros por linha de comando. Pode ser colocado num ícone no painel, para acesso fácil. POr exemplo, a linha abaixo salva num arquivo os parâmetros. Trocar o “-s” por “-l” causa o carregamento dos parâmetros.
v4l2ctrl -d /dev/video2 -s sbtvd.conf
Áudio
Os dispositivos de áudio podem ser listados com o comando “cat /proc/asound/cards”:
meira@P5QL-E:~$ cat /proc/asound/cards 0 [Intel ]: HDA-Intel - HDA Intel HDA Intel at 0xf9ff8000 irq 44 1 [FM801AU ]: FM801 - ForteMedia FM801-AU ForteMedia FM801-AU at 0xe480, irq 17 2 [Cx231xxAudio ]: Cx231xx-Audio - Cx231xx Audio Conexant cx231xx Audio 3 [U0x93a0x2620 ]: USB-Audio - USB Device 0x93a:0x2620 USB Device 0x93a:0x2620 at usb-0000:00:1a.1-1, full speed
E também podemos listar os identificadores de hardware com “cat /proc/asound/pcm”:
meira@P5QL-E:~$ cat /proc/asound/pcm 00-00: ALC1200 Analog : ALC1200 Analog : playback 1 : capture 1 00-02: ALC1200 Analog : ALC1200 Analog : capture 1 00-03: ALC1200 Digital : ALC1200 Digital : playback 1 01-00: FM801 : FM801 : playback 1 : capture 1 02-00: Cx231xx Audio : Conexant cx231xx Capture : capture 1 03-00: USB Audio : USB Audio : capture 1
Com esta informação, sabemos que o dispositivo deve ser identificado como hw:2,0 em programas como mencoder. Neste caso, os parâmetros do mencoder seriam: “-tv device=/dev/video2:adevice=hw.2,0″. Note que o mencoder exige ponto em vez de dois pontos nos nomes de dipositivos ALSA, já que o “:” é usado como separador de parâmetros.
O programa amixer, no entanto, não lista nenhum controle de volume no dispositivo 2 (comando “amixer -c 2”).
O programa alsamixer (comando “alsamixer -c 2”) no terminal revela que o dispositivo não possui nenhum controle.
O programa arecord (comando “arecord -l”) lista todos os dispositivos de captura de áudio:
meira@P5QL-E:~$ arecord -l **** Lista de Dispositivos CAPTURE Hardware **** placa 0: Intel [HDA Intel], dispositivo 0: ALC1200 Analog [ALC1200 Analog] Dispositivo secundário: 1/1 Dispositivo secundário #0: subdevice #0 placa 0: Intel [HDA Intel], dispositivo 2: ALC1200 Analog [ALC1200 Analog] Dispositivo secundário: 1/1 Dispositivo secundário #0: subdevice #0 placa 1: FM801AU [ForteMedia FM801-AU], dispositivo 0: FM801 [FM801] Dispositivo secundário: 1/1 Dispositivo secundário #0: subdevice #0 placa 2: Cx231xxAudio [Cx231xx Audio], dispositivo 0: Cx231xx Audio [Conexant cx231xx Capture] Dispositivo secundário: 1/1 Dispositivo secundário #0: subdevice #0 placa 3: U0x93a0x2620 [USB Device 0x93a:0x2620], dispositivo 0: USB Audio [USB Audio] Dispositivo secundário: 1/1 Dispositivo secundário #0: subdevice #0
Com o programa de visualização de TV TVtime ligado, consegui gravar o áudio da TV analógica com programa Audacity pelo canal cx231xx Audio.
Até agora, não consegui direcionar o áudio para a saída dos altofalantes. Uma gambiarra que descobri pela rede é usar o programa sox para ler uma placa de som e direcionar a saída para outra. O código abaixo é um script para assistir TV com som no tvtime. Este workaround exige um pouco mais de processamento e resulta em uns décimos de segundos de delay — atraso de som.
#!/bin/sh sox -r 48000 -t alsa hw:1,0 -t alsa pulse & mpid=$! smplayer tv:///1 kill $mpid
Já a gravação de áudio e vídeo se deu sem problemas, pela entrada S-Video e áudio RCA, com a linha de comandos:
mencoder \ -noskip \ tv:///2 \ -tv norm=PAL-M\ :device=/dev/video2\ :driver=v4l2\ :outfmt=i420\ :width=720:height=480\ :fps=29.97\ :alsa\ :adevice=hw.2,0\ :amode=1\ :buffersize=200\ :brightness=10:contrast=-25 \ -ffourcc divx \ -oac mp3lame \ -lameopts cbr:preset=128 \ -ovc lavc \ -lavcopts vcodec=mpeg4\ :vbitrate=1400\ :threads=2\ :autoaspect \ -vf dsize=4/3 \ -vf-add scale \ -vf-add kerndeint=10:0:0:1:1 \ -vf-add softskip,harddup \ -endpos 02:10:00 \ -o ~/videos/tv-svideo-sbtvd-mpeg4-mp3-$$.avi
Controle remoto
O driver reconhece automaticamente as funções do controle remoto da PlayTV Hybrid e carrega o módulo do kernel Linux rc_pixelview_002t. Aparentemente, o módulo mapeia as teclas do controle remoto às teclas de um teclado alfanumérico. Uma busca levou ao código deste módulo com as teclas que ele emite:
/* 17 * Keytable for 002-T IR remote provided together with Pixelview 18 * SBTVD Hybrid Remote Controller. Uses NEC extended format. 19 */ 20 static struct rc_map_table pixelview_002t[] = { 21 { 0x866b13, KEY_MUTE }, 22 { 0x866b12, KEY_POWER2 }, /* power */ 23 24 { 0x866b01, KEY_1 }, 25 { 0x866b02, KEY_2 }, 26 { 0x866b03, KEY_3 }, 27 { 0x866b04, KEY_4 }, 28 { 0x866b05, KEY_5 }, 29 { 0x866b06, KEY_6 }, 30 { 0x866b07, KEY_7 }, 31 { 0x866b08, KEY_8 }, 32 { 0x866b09, KEY_9 }, 33 { 0x866b00, KEY_0 }, 34 35 { 0x866b0d, KEY_CHANNELUP }, 36 { 0x866b19, KEY_CHANNELDOWN }, 37 { 0x866b10, KEY_VOLUMEUP }, /* vol + */ 38 { 0x866b0c, KEY_VOLUMEDOWN }, /* vol - */ 39 40 { 0x866b0a, KEY_CAMERA }, /* snapshot */ 41 { 0x866b0b, KEY_ZOOM }, /* zoom */ 42 43 { 0x866b1b, KEY_BACKSPACE }, 44 { 0x866b15, KEY_ENTER }, 45 46 { 0x866b1d, KEY_UP }, 47 { 0x866b1e, KEY_DOWN }, 48 { 0x866b0e, KEY_LEFT }, 49 { 0x866b0f, KEY_RIGHT }, 50 51 { 0x866b18, KEY_RECORD }, 52 { 0x866b1a, KEY_STOP }, 53 };
Já fica mais fácil programar aplicativos para usar o controle remoto. Basta configurá-lo como se recebesse as teclas de um teclado normal.
VLC
Para se ver TV digital brasileira no PC (com Linux ou Windows), a linha de comando do VideoLan é esta:
vlc dvb-t://frequency=593142857 :dvb-adapter=0 :dvb-device=0 :live-caching=300
Onde a frequência varia conforme o canal. A seguinte tabela tem todas as frequências usadas no SBDTV (ISDB-T).
# UHF channels 14 to 69 T 473142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 14 T 479142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 15 T 485142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 16 T 491142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 17 T 497142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 18 T 503142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 19 T 509142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 20 T 515142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 21 T 521142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 22 T 527142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 23 T 533142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 24 T 539142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 25 T 545142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 26 T 551142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 27 T 557142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 28 T 563142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 29 T 569142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 30 T 575142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 31 T 581142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 32 T 587142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 33 T 593142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 34 T 599142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 35 T 605142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 36 # channel 37 not used T 617142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 38 T 623142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 39 T 629142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 40 T 635142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 41 T 641142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 42 T 647142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 43 T 653142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 44 T 659142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 45 T 665142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 46 T 671142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 47 T 677142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 48 T 683142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 49 T 689142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 50 T 695142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 51 T 701142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 52 T 707142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 53 T 713142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 54 T 719142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 55 T 725142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 56 T 731142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 57 T 737142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 58 T 743142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 59 T 749142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 60 T 755142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 61 T 761142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 62 T 767142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 63 T 773142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 64 T 779142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 65 T 785142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 66 T 791142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 67 T 797142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 68 T 803142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # channel 69
Com o VLC, para se gravar TV basta apertar no botão vermelho “Gravar”. A gravação de TV digital é fácil e rápida, pois consiste apenas em pegar o fluxo mpeg-TS (Transport Stream) e jogar para um arquivo *.TS. Não ocupa muito processamento e fica com a qualidade máxima com que foi recebida, embora os arquivos fiquem gigantescos. Mas grava tudo: o vídeo em alta resolução, o vídeo em baixa resolução para celulares, os diversos canais de áudio, as legendas, a tabela com a programação da estação de TV.
Windows
O programa para se assistir e gravar TV digital, o “Presto! PVR HD”, grava em formato NXT e revela uma grata surpresa: ele grava tudo o que foi transmitido em cada canal sem impactar o processador. Isto acontece porque o sistema nipo-brasileiro de TV Digital já veicula tudo no formato padronizado MPEG-TS (Transport Stream): vídeo em mpeg4, áudio em AAC, etc. Os programas de gravação só precisam pegar os fluxos e mandar para um arquivo. Assim, o arquivo resultante contém o programa de alta resolução (1980 x 1080 pixels) ou standard resolution (720 x 480 pixels), os programas em 1seg, para celular (320 x 240 ou 320 x 180 pixels), as diversas trilhas sonoras e as legendas.
Também notei que, mesmo que canais HDTV tenham sinais fracos e dificuldades de sintonização, as gravações feitas deste modo ficam quase perfeitas.
A desvantagem é que os arquivos de gravações de TV digital ficam enormes: em média, 230 MB por minuto. Tamanho aproximado de material gravado em formato DV ou mjpeg. Para se editar o arquivo NTX com os editores de vídeos atuais, que não entendem este formato, deve-se convertê-lo para algo mais apropriado, como DV ou mpeg4. Um bom media player para abrir NTX e converter (salvar) em outros formatos é o VLC. Estou experimentando com o container MKV, com áudio e vídeos originais em mpeg4. Há problemas em escolher o fluxo de vídeo. Ele pega sempre o primeiro, na lista de fluxos. Alguns canais de TV mandam a versão 1seg em primeiro, em vez da SDTV ou HDTV, e assim, o VLC não gravará a versão em HD. Deve haver uma opção para escolher o fluxo (programa) correto.
Saiba mais
- Linux e o Sistema Brasileiro de TV Digital. Como configurar o VLC para assistir TV Digital.
- Configuração da placa Pixel View Hybrid semiautomatizada
quando utilizo o comando scan ch_freq.conf > channels.conf aparece esta mensagem :
tune to: 779142857:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_3_4:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_NONE
__tune_to_transponder:1910: ERROR: Setting frontend parameters failed: 22 Invalid argument
mas quando pega uma lista pronta com a frequência e quam enfim completa , consigo sintonizar os canais .
ainda tentei fazer o scaner dos canais pelo Daemon. ele reconhece o mb86A20s mas não consegue sintonizar nenhum canal.
será que preciso de mais um pluguin? será que tem algum conflito coma minhas outras placas
( tenho uma visus vi8507 e uma avermediam799 pci-e). uma coisa é certa . a playtv pega tv digital e analógica e as outras pci-e śo pegam analógica .