Gravar da TV usando mencoder.

Iniciado por jonathan bispo, 21 de Dezembro de 2008, 15:10

tópico anterior - próximo tópico

jonathan bispo

Gelera, por favor, preciso de ajuda.
Estou há duas semanas tentando gravar da minha placa de tv e não consigo.
É o seguinte:
tenho uma placa de tv (PixelView M4900 Pro) que funciona perfeitamente, todos os módulos estão ok e consigo assistir qualquer canal no tvtime e no xawtv.

Agora quando o assunto é gravar, o bicho pega.
Já segui uns 10 tutoriais ensinando a gravar pelo mencoder mas nunca consegui.
O último que tentei foi esse aqui:
http://www.vivaolinux.com.br/artigo/Mplayer-e-Mencoder-com-placa-de-TV?pagina=3

Coloquei toda a linha de comando e sempre acontece um erro. Aqui está a saída do comando:
MEncoder 2:1.0~rc2-0ubuntu13 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz (Family: 6, Model: 15, Stepping: 6)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
success: format: 9  data: 0x0 - 0x0
TV file format detected.
Selected driver: v4l2
name: Video 4 Linux 2 input
author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
comment: first try, more to come ;-)
Selected device: BT878 video (Prolink PixelView
Tuner cap:
Tuner rxs: MONO
Capabilites:  video capture  video overlay  VBI capture device  tuner  read/write  streaming
supported norms: 0 = PAL; 1 = NTSC; 2 = SECAM; 3 = PAL-Nc; 4 = PAL-M; 5 = PAL-N; 6 = NTSC-JP; 7 = PAL-60;
inputs: 0 = Television; 1 = Composite1; 2 = S-Video;
Current input: 0
Current format: YVU420
v4l2: current audio mode is : MONO
Selected channel: 12 (freq: 205.250)
Audio block size too low, setting to 8192!
[V] filefmt:9  fourcc:0x32315659  size:352x240  fps:29.97  ftime:=0.0334
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 44100 Hz, 1 ch, s16le, 705.6 kbit/100.00% (ratio: 88200->88200)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
Opening video filter: [scale w=352 h=240]
Opening video filter: [crop w=330 h=230]
Crop: 330 x 230, -1 ; -1
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 352 x 240 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
SwScaler: reducing / aligning filtersize 5 -> 4
SwScaler: reducing / aligning filtersize 5 -> 4
SwScaler: reducing / aligning filtersize 5 -> 4
SwScaler: reducing / aligning filtersize 5 -> 4
[swscaler @ 0x880f730]SwScaler: BICUBIC scaler, from yuv420p to yuv420p using MMX2
[swscaler @ 0x880f730]SwScaler: using 4-tap MMX scaler for horizontal luminance scaling
[swscaler @ 0x880f730]SwScaler: using 4-tap MMX scaler for horizontal chrominance scaling
[swscaler @ 0x880f730]SwScaler: using n-tap MMX scaler for vertical scaling (YV12 like)
[swscaler @ 0x880f730]SwScaler: 330x230 -> 352x240
videocodec: libavcodec (352x240 fourcc=33766964 [div3])
Selected video codec: [rawyv12] vfm: raw (RAW YV12)
==========================================================================
Forcing audio preload to 0, max pts correction to 0.
Pos:   0.0s      1f ( 0%)  0.00fps Trem:   0min   0mb  A-V:0.000 [0:0]
Not enough audio samples!

Error reading audio: Input/output error

Error reading audio: Input/output error

Error reading audio: Input/output error
Finalizado
jonathan@linuxpc:~$ 

O "Finalizado" do comando é porque eu tive que matar o processo senão ia ficar nessa o dia inteiro.

Agradeceria se alguém pudesse me ajudar.

Obrigado.                               

Coiote

#1
Eu uso o parâmetro abaixo, quando eu quero gravar alguma coisa. Lembre-se de antes de começar a gravação, de abrir o tvtime, sintonize o canal que você quer gravar e depois feche o tvtime.

Citarmencoder tv:// -tv driver=v4l2:input=0:width=640:height=480:norm=pal-m:contrast=-25:saturation=-25:brightness=-0:device=/dev/video0:adevice=/dev/dsp -vf crop=585:465,pp=lb,scale=640:480 -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=10000:vrc_maxrate=9800:vbitrate=5000:keyint=18:acodec=ac3:abitrate=192 -ofps 30000/1001 -o teste.mpg

adilson bts

capturar video usando o transcode....
-------------------
Gravação da entrada de áudio e vídeo (A/V) - vídeo ligado na entrada RCA da placa de tv e áudio ligado na entrada auxiliar da placa de som
----------------------
352x240 | video bitrate 800 | audio bitrate 64 | frames/second 29.970 | msmpeg4 | composite 1
--------------------------------
transcode -H 0 -i /dev/video0 -p /dev/dsp -g 352x240 -f 0,4 -y ffmpeg -F msmpeg4 --import_v4l 1 -x v4l -o video-1.avi -w 800 -b 64 -s 0 -J pv -e 44100,16,2 -Z 352x240 -j 6,16

------------------------------------------------------------------------------------

Gravação do canal 3 (entrada de RF)
-----------------------
352x240 | video bitrate 800 | audio bitrate 64 | frames/second 29.970 | msmpeg4 | television channel 3
-----------------------------------
transcode -H 0 -i /dev/video0 -p /dev/dsp -g 352x240 -f 0,4 -y ffmpeg -F msmpeg4 --import_v4l 0,3 -x v4l -o video-1.avi -w 800 -b 64 -s 0 -J pv -e 44100,16,2 -Z 352x240 -j 6,16
--------------------------------
======================================================================================

capturar video usando o mencoder

nice -n -15 mencoder tv:// -tv driver=v4l2:input=1:normid=1:chanlist=us-bcast:width=720:height=480:contrast=-25:saturation=-25:brightness=-0:device=/dev/video0:adevice=/dev/dsp -vf crop=585:465,pp=lb,scale=720:480 -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=10000:vrc_maxrate=9800:vbitrate=5000:keyint=18:acodec=ac3:abitrate=192 -ofps 30000/1001 -o FILME.mpg

sempre utilizo esses comandos lembrando que os comandos com o transcode vc salva em divx (.avi) e quando começa a capturar aparece um monitor pra vc ver as imagens que estao sendo gravadas...
note aspire 4710, dualcore 1,73, mobile intel grafic media acelerator 950, 2gb ram, Ultimate edition 2.6- Ubuntu 10.04

owas

Galera aqui eu consigo gravar da plava de tv com o mencoder e o transcode, porem fica com audio terrível, som de pato, alguem sabe o que tenho que alterar? Obs. no mencoder atual Pal-m=normid=9. segue abaixo os comandos:
mencoder:
nice -n -15 mencoder tv:// -tv driver=v4l2:input=0:normid=9:channel=3:chanlist=us-bcast:width=352:height=240:contrast=-25:saturation=-0:brightness=-0:device=/dev/video0:adevice=/dev/dsp1 -vf crop=330:230,scale=352:240 -oac lavc -lavcopts abitrate=64 -ovc lavc -o fps 29.97 -lavcopts vcodec=msmpeg4:vbitrate=800 -o video.avi
transcode:
transcode -H 0 -i /dev/video0 -p /dev/dsp1 -g 352x240 -f 0,4 -y ffmpeg -F msmpeg4 --import_v4l 0,3 -x v4l2 -o video-1.avi -w 800 -b 64 -s 0 -J pv -e 44100,16,2 -Z 352x240 -j 6,16

owas

#4
consegui com o transcode modificando o parametro e=44100 pra e=32000 e no mencoder acrescentando o audiorate=32000, ficou perfeito, ficou assim:
no mencoder:
mencoder tv:// -tv driver=v4l2:input=0:normid=9:channel=3:chanlist=us-bcast:width=352:height=240:contrast=-25:saturation=-0:brightness=-0:device=/dev/video0:audiorate=32000:adevice=/dev/dsp1 -vf crop=330:230,scale=352:240 -oac lavc -lavcopts abitrate=64 -ovc lavc -o fps 29.97 -lavcopts vcodec=msmpeg4:vbitrate=800 -o video.avi
no transcode:
transcode -H 0 -i /dev/video0 -p /dev/dsp1 -g 512x384 -f 0,4 -y ffmpeg -F msmpeg4 --import_v4l 0,3 -x v4l2 -o video-1.avi -w 800 -b 64 -s 0 -J pv -e 32000,16,2 -Z 800x600 -j 6,16

lovinglinux

#5
Já que conseguiu gravar usando o transcode, talvez goste da minha extensão media center para Firefox. Ela possui um gravador cheio de recursos integrados à um EPG. Dá pra agendar gravações de séries semanais, filmes etc. Segue o link abaixo:

http://fmc.isgreat.org/

Dei uma olhada no seu comando do transcode e mesclei com o meu para obter um melhor resultado. O comando que eu estava usando antes causava perda de frames. Agora ficou ótimo.

Esse é o comando que estou usando agora:

-g 640x480 -f 0,4 -y ffmpeg -F mjpeg -w 4000 -b 64 -e 32000,16,2 -j 6,16

Observações:

1 - no comando acima não constam as opções -i, -p, -o, -x pois minha extensão os inclui automaticamente
2 - removi a opção -H 0, pois não faz nenhuma diferença
3 - removi a opção -s 0, pois se não há ganho de audio não é preciso especificá-la
4 - removi a opção -J pv pois não preciso de preview para gravações agendadas pela extensão
5 - removi a opção -Z e aumentei o tamanho da opção -g pois assim a gravação não exige tanto do processador
6 - removi a opção --import_v4l pois a extensão vai incluir isso automaticamente na próxima versão (aguarde versão 2.0.1)
7 - alterei a opção -F para mjpeg e a opção -w para 4000 para dar melhor qualidade à gravação, mas ao custo de muito espaço no disco

owas

lovinglinux  removi algumas coisas também usando sua configuração, ficou melhor, tô dando uma olhada na extensão, pra ver se "funfa" aqui. Valeu.

lovinglinux

#7
Citação de: owas online 09 de Abril de 2009, 20:02
lovinglinux  removi algumas coisas também usando sua configuração, ficou melhor, tô dando uma olhada na extensão, pra ver se "funfa" aqui. Valeu.

Por favor baixe a nova versão lançada hoje, pois ela corrige um sério bug que pode impedir que ela funcione corretamente.

owas

Usando o transcode descobri (que burro eu sou) que dá pra determinar o tempo de gravação usando o parametro -c, exemplo: -c 0-01:00:00, que gravaria 1 hora de programação, antigamente seria --duration. lovinglinux tô apanhando pra caramba da extensão, mas chego lá, aproveitando, você sabe como eu coloco divx5 no transcode porque aqui dá erro, mesmo aparecendo nas opções.
owas@owas-desktop:~$ ls -1 `tcmodinfo -p`/export*.so
/usr/lib/transcode/export_ac3.so
/usr/lib/transcode/export_debugppm.so
/usr/lib/transcode/export_divx5raw.so
/usr/lib/transcode/export_divx5.so
/usr/lib/transcode/export_dvraw.so
/usr/lib/transcode/export_dv.so
/usr/lib/transcode/export_fame.so
/usr/lib/transcode/export_ffmpeg.so
/usr/lib/transcode/export_im.so
/usr/lib/transcode/export_jpg.so
/usr/lib/transcode/export_lame.so
/usr/lib/transcode/export_lzo.so
/usr/lib/transcode/export_mjpeg.so
/usr/lib/transcode/export_mov.so
/usr/lib/transcode/export_mp1e.so
/usr/lib/transcode/export_mp2enc.so
/usr/lib/transcode/export_mp2.so
/usr/lib/transcode/export_mpeg2enc.so
/usr/lib/transcode/export_net.so
/usr/lib/transcode/export_null.so
/usr/lib/transcode/export_ogg.so
/usr/lib/transcode/export_pcm.so
/usr/lib/transcode/export_ppm.so
/usr/lib/transcode/export_pvm.so
/usr/lib/transcode/export_pvn.so
/usr/lib/transcode/export_raw.so
/usr/lib/transcode/export_toolame.so
/usr/lib/transcode/export_wav.so
/usr/lib/transcode/export_xvid2.so
/usr/lib/transcode/export_xvid3.so
/usr/lib/transcode/export_xvid4.so
/usr/lib/transcode/export_xvid.so
/usr/lib/transcode/export_yuv4mpeg.so