LifeView FlyVideo3000FM NTSC

From LinuxTVWiki
Revision as of 20:53, 20 May 2006 by Liontooth (talk | contribs) (Getting PCI audio)
Jump to: navigation, search
LifeView-FlyVideo-3000FM.jpg

Introduction

This card works perfectly -- it gets 640x480 frames, audio directly from the card, and closed captioning. Up to four cards can be placed in one computer, though you need a powerful CPU to keep up with the data flow.

For detailed images of the various slightly different models, see bttv gallery. Most of LifeView's saa713x cards fit both 32-bit PCI slots and 64-bit PCI-X slots -- see the telltale second slit in the foot of the card.

See also FlyVideo3000_PAL-N.

Identification

 lspci -vvv: 0000:02:0a.0 Multimedia controller: Philips Semiconductors SAA713X Audio+video broadcast decoder (rev 10)
 Subsystem: Unknown device 5169:0138

This card has the saa7133HL-v101 chip.

Selecting the tuner

Use card 2 in the Documentation/video4linux/CARDLIST.saa7134. Versions of FlyVideo 3000 are shipped with different tuners; to find yours, grep on the card and your television standard to pull up relevant alternatives:

grep Philips Documentation/video4linux/CARDLIST.tuner | grep NTSC

For the NTSC tuner, I found 17 was the right one. A second and third card I got, also called FlyVideo3000FM, turned out to have a different tuner, namely 43. I had to reboot to reset the tuner; modprobe didn't do it.

Inserting the module

Boot with this in /etc/modules:

  saa7134 card=2 tuner=17 oss=1

Getting PCI audio

You can get the audio from the card through the PCI bus instead of through the audio out jack and a patch cable to your sound card.

For kernels 2.6.15 and later, see Saa7134-alsa for details on both ALSA and OSS sound.

For earlier kernels, adding "oss=1" as an insmod parameter will create /dev/dsp1 and /dev/mixer1. For detailed instructions, see Gentoo's saa7134 wiki.

In all cases, you use

  aumix -d /dev/mixer1 -I

to set the recording channel to 1.

Recording with mencoder

Use something like this:

  mencoder tv:// -tv driver=v4l2:device=/dev/video1:fps=30000/1001:chanlist=us-cable:audiorate=32000:
  adevice=/dev/dsp1:input=0:amode=1:normid=4 -ffourcc DIVX -ovc lavc -lavcopts vcodec=mpeg4:mbd=2 
  -oac mp3lame -lameopts cbr:br=128 -endpos 60 -o output.avi

This gives me stereo audio with high-quality video. I found that if I included "-of mpeg" to create a true mpeg stream, the audio got delayed -- there are no sync problems with the avi file.

Recording with transcode

You can also use transcode to record:

  transcode -x v4l2,v4l2 -M 2 -i /dev/video$DEV -p /dev/dsp1 -e 32000,16,2 -y ffmpeg -F mpeg4 
  -c 00:30 -g 640x480 -f 29.970,4 -I 1 -u 1024 -Q 3 -E 32000,16,2 --lame_preset medium -o output.avi

Note the "-e 32000,16,2", letting transcode know about the parameters of the audio stream from the saa7134 card.

The files produced in this manner are almost twice as large as the ones produced by the mencoder command above, but show significantly less pixillation. CPU utilization is also about double. For the saa7134, 48000Hz is only valid for external audio input to the card; for tv you have to use 32000Hz.

Loading multiple cards

If you have more than one card in the same machine, and want to control which devices they create, you can use this sort of thing:

saa7134 video_nr=1,2,3 vbi_nr=1,2,3 mixer_nr=1,2,3 radio_nr=1,2,3 card=2,2,2 tuner=43,43,17 oss=1,1,1

This will give you video1, vbi1, dsp1, radio1, and mixer1 for the first card, and so on up.

Remote control

With the FlyVideo 3000, you should have the small grey credit-card sized remote. And yes, this is supported and should be working (I haven't tested it).

Closed captioning

Closed captioning on saa713x is now working; Michael Schimek has added support to libzvbi (mid-May 2005).