LifeView FlyVideo3000FM NTSC: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 12: Line 12:
cat /usr/src/linux/Documentation/video4linux/CARDLIST.tuner | grep Philips | grep NTSC
cat /usr/src/linux/Documentation/video4linux/CARDLIST.tuner | grep Philips | grep NTSC


For the NTSC tuner, I found 17 was the right one. I had to reboot to reset the tuner; modprobe didn't do it. Boot with this in /etc/modules:
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.


Boot with this in /etc/modules:
saa1734 card=2 tuner=17 oss=1

saa7134 card=2 tuner=17 oss=1


The "oss=1" will create /dev/dsp1 and /dev/mixer1, and is added to take advantage of this card's ability to use PCI audio transfer -- that is to say, you can get the audio straight off the card, without needing a patch cable to your sound card. For detailed instructions, see [http://gentoo-wiki.com/HARDWARE_saa7134 Gentoo's saa7134 wiki].
The "oss=1" will create /dev/dsp1 and /dev/mixer1, and is added to take advantage of this card's ability to use PCI audio transfer -- that is to say, you can get the audio straight off the card, without needing a patch cable to your sound card. For detailed instructions, see [http://gentoo-wiki.com/HARDWARE_saa7134 Gentoo's saa7134 wiki].
Line 36: Line 38:


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.
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.

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.


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).
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).

Revision as of 02:09, 14 May 2005

Installation instructions

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.

Use card 2 in the /usr/src/linux-2.6.12-rc2/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:

  cat /usr/src/linux/Documentation/video4linux/CARDLIST.tuner | grep Philips | 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.

Boot with this in /etc/modules:

  saa7134 card=2 tuner=17 oss=1

The "oss=1" will create /dev/dsp1 and /dev/mixer1, and is added to take advantage of this card's ability to use PCI audio transfer -- that is to say, you can get the audio straight off the card, without needing a patch cable to your sound card. For detailed instructions, see Gentoo's saa7134 wiki.

In brief, you use

  aumix -d /dev/mixer1 -I

to set the recording channel to 1 and then 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:vhq 
  -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.

You can also use transcode:

  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.

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.

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).

With Michael Schimek's help, I've finally also succeeded in making closed captioning work -- something like this patch is needed and will be submitted shortly

diff -uprNw saa7134-video.c.orig saa7134-video.c
--- saa7134-video.c.orig        2005-05-04 17:54:33.000000000 -0700
+++ saa7134-video.c     2005-05-04 17:26:46.000000000 -0700
@@ -169,7 +169,7 @@ static struct saa7134_format formats[] =
                .video_v_stop  = 22+239, \
                .vbi_v_start   = 10, /* FIXME */ \
                .vbi_v_stop    = 21, /* FIXME */ \
-               .src_timing    = 1
+               .src_timing    = 7
 static struct saa7134_tvnorm tvnorms[] = {
       {

Possibly educational is the record of my earlier failed attempt and the vbi images section for screenshots of the vertical blanking interval (vbi) with Michael's comments and proposed solution.