Postby Shadow_7 » 05 Dec 2008 18:59
I"m not sure of any / the VLC method. But I do exactly that with mplayer / mencoder. It's also possible with transcode and ffmpeg. And in theory MythTV.
mencoder -aspect 4:3 tv://3 -tv driver=v4l2:input=6:fps=60000/1001:chanlist=us-cable:norm=NTSC-M:buffersize=1024:width=720:height=480:brightness=8:contrast=4:forceaudio:amode=1:audiorate=48000:mjpeg:quality=100 -field-dominance 1 -vf yadif,scale -ofps 30000/1001 -audio-delay 0.222 -oac pcm -ovc lavc -lavcopts vcodec=mjpeg:autoaspect=1 -o tvcapture1.avi
Important notes: amode=1 for stereo audio. input=6 for 24 bpp RGB capture for my card (0 is 8 bpp greyscale, ick!!! v4l-info). -audio-delay 0.222 because audio from the soundcard is direct, video has to be interpreted and rendered, which is not instantaneous. Unfortunately mplayer doesn't have that option, so no watching in sync tv without encoding first. adevice=/dev/dsp, but it seems to work without that in my case. Given that I re-indexed the drivers to have my Delta 44 as card 0.
My tv card has a cdaudio audio connection and cable. But my motherboard or soundcard does not have cd-audio connectors. Some strange Intel high definition connector, which is too narrow for a cd-audio cable.
Various ways to get audio to pipe through without delay. alsamixer has settings for that for my M-Audio Delta 44. Or running jackd with qjackctl connecting capture to playback. Or jack_connect to do it at the CLI. One note on audio, ffmpeg doesn't like the output too well, I've got to use sox to re-encode the audio from -t raw to -t wav. But it's usable.
HTH