Mailing List Archive

Re: Help? v4l2-ctl, PVR-250, analog video capture
On Mon, 2009-11-16 at 20:19 -0800, Peter Hollenbeck wrote:
> I have been working for many hours without success trying to capture
> analog video with a Hauppauge PVR-250 on OpenSUSE 11.1 Linux. I would
> greatly appreciate your help..

Peter,

Sorry for taking so long to get back to you. Thank you for your
patience.


> After reading your thread with Tom I did this:
>
> Analog VCR video out is connected to the yellow RCA plug of the
> PVR-250.
> Audio out is connected to PVR-250 audio in.
>
> The output of these commands is below.
> v4l2-ctl -d /dev/video0 --list-inputs
> v4l2-ctl -d/dev/video0 --log-status
> v4l2-ctl -d /dev/video0 --set-input 2 (Composite 1)
> On the VCR select Play.
> cat /dev/video0 > foo.mpg
> wait 20 seconds
> Ctl-C
>
> Try to play foo.mpg with mplayer or VLC and get black screen.
> Also tried v4l2-ctl -d /dev/video0 --set-input 2 -s ntsc
> Same result.

OK. Let's turn on some basic debugging for the ivtv module (only) right
now.

As root:

# modprobe -r ivtv msp3400 saa7115
(to remove the ivtv module)

# modprobe ivtv debug=1023
(which loads the ivtvv module turning on all the debug flags except high
volume debugging)

As a normal user, perform the steps you listed above.

Provide a copy of the output of dmesg and the later protion
of /var/log/messages from where you reloaded the ivtv module. (You can
provide a zipped up files to the list, or provide them directly to me if
too big or if you have privacy concerns with log files).


> By the way, the only success I have had with analog capture has been
> on Windows XP with Hauppauge WinTV v6 and the Hauppauge WinTV PVR-250
> card.

Please ensure you have the firmware files for the PVR-250 installed
in /lib/firmware (or wherever you distribution wants them).


> Thank you,
> Peter Hollenbeck
>
> v4l2-ctl -d /dev/video0 --list-inputs
[snip]

> v4l2-ctl -d/dev/video0 --log-status
> ivtv0: ================= START STATUS CARD #0 =================
> ivtv0: Version: 1.4.0 Card: Hauppauge WinTV PVR-250
> tveeprom 1-0050: Hauppauge model 32031, rev B210, serial# 6196908
> tveeprom 1-0050: tuner model is Philips FI1236 MK2 (idx 10, type 2)
> tveeprom 1-0050: TV standards NTSC(M) (eeprom 0x08)
> tveeprom 1-0050: audio processor is MSP3435 (idx 10)
> tveeprom 1-0050: decoder processor is SAA7115 (idx 19)
> tveeprom 1-0050: has no radio, has IR receiver, has no IR
> transmitter
> saa7115 1-0021: Audio frequency: 48000 Hz
> saa7115 1-0021: Input: Composite 0
> saa7115 1-0021: Video signal: bad
> saa7115 1-0021: Frequency: 50 Hz
> saa7115 1-0021: Detected format: BW/No color

These 3 lines from the video decoder status bug me. They indicate no
signal. I have to look up how the saa7115 may be wired up to make sure
it matters.

> saa7115 1-0021: Width, Height: 720, 480
> msp3400 1-0040: msp3400 rev1 = 0x0207 rev2 = 0x2346
> msp3400 1-0040: Audio: volume 58880
> msp3400 1-0040: Audio: balance 32768 bass 32768 treble 32768
> loudness off
> msp3400 1-0040: Mode: External input
> msp3400 1-0040: Audmode: 0x0001
> msp3400 1-0040: Routing: 0x00222220 (input) 0x00000044 (output)
> msp3400 1-0040: ACB: 0x0c00

If you do

$ aplay -f dat < /dev/video24

do you at least hear the audio?


> tuner 1-0061: Tuner mode: analog TV
> tuner 1-0061: Frequency: 67.25 MHz
> tuner 1-0061: Standard: 0x0000b000
> ivtv0: Video Input: Composite 1
> ivtv0: Audio Input: Line In 1
> ivtv0: Tuner: TV
> ivtv0: Stream: MPEG-2 Program Stream
> ivtv0: VBI Format: No VBI
> ivtv0: Video: 720x480, 30 fps
> ivtv0: Video: MPEG-2, 4x3, Variable Bitrate, 6000000, Peak 8000000
> ivtv0: Video: GOP Size 15, 2 B-Frames, GOP Closure
> ivtv0: Audio: 48 kHz, Layer II, 224 kbps, Stereo, No Emphasis, No
> CRC
> ivtv0: Spatial Filter: Manual, Luma 1D Horizontal, Chroma 1D
> Horizontal, 0
> ivtv0: Temporal Filter: Manual, 8
> ivtv0: Median Filter: Off, Luma [0, 255], Chroma [0, 255]
> ivtv0: Status flags: 0x00200000
> ivtv0: Stream encoder MPG: status 0x0000, 0% of 4096 KiB (128
> buffers) in use
> ivtv0: Stream encoder YUV: status 0x0000, 0% of 2048 KiB (64
> buffers) in use
> ivtv0: Stream encoder VBI: status 0x0000, 0% of 1040 KiB (61
> buffers) in use
> ivtv0: Stream encoder PCM: status 0x0000, 0% of 324 KiB (72
> buffers) in use
> ivtv0: Read MPG/VBI: 8961984/0 bytes
>
> and
> v4l2-ctl -d /dev/video0 --get-standard
> Video Standard = 0x0000b000
> NTSC-M/M-JP/M-KR


Regards,
Andy



_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users
Re: Help? v4l2-ctl, PVR-250, analog video capture [ In reply to ]
On Sat, 2009-11-28 at 18:08 -0800, Peter Hollenbeck wrote:
> I have done as you suggested. Output attached. I hope it's not too
> much.
> When I play foo.mpg I get audio but no video.
> --log-status is same as before: video signal bad.
>

Hi Peter,

Thanks for the output. You didn't get the debugging turned on, but it
was still a little helpful anyway.


I have a PVR-350 which is almost identical to the PVR-250 when it comes
to the chips it uses to do video capture.

With the latest v4l-dvb drivers built from the source repository at

http://linuxtv.org/hg/v4l-dvb

I get this log status output for my PVR-350 when I have an NTSC CVBS
signal coming in on Composite 1:

$ v4l2-ctl -d /dev/video2 -i 2
Video input set to 2 (Composite 1: ok)
$ v4l2-ctl -d /dev/video2 --log-status

Status Log:

ivtv0: ================= START STATUS CARD #0 =================
ivtv0: Version: 1.4.1 Card: Hauppauge WinTV PVR-350
tveeprom 9-0050: Hauppauge model 48132, rev K268, serial# 9945717
tveeprom 9-0050: tuner model is LG TAPE H001F MK3 (idx 68, type 47)
tveeprom 9-0050: TV standards NTSC(M) (eeprom 0x08)
tveeprom 9-0050: audio processor is MSP4448 (idx 27)
tveeprom 9-0050: decoder processor is SAA7115 (idx 19)
tveeprom 9-0050: has radio, has IR receiver, has no IR transmitter
saa7115 9-0021: Audio frequency: 48000 Hz
saa7115 9-0021: Input: Composite 0
saa7115 9-0021: Video signal: broadcast/DVD
saa7115 9-0021: Frequency: 60 Hz
saa7115 9-0021: Detected format: NTSC
saa7115 9-0021: Width, Height: 720, 480

The saa7115 is the same video input signal decoder used on the PVR-250.
It should be wired up essentially the same on both the PVR-350 and
PVR-250 (except for perhaps the rear bracket connector since the PVR-350
also provides Video/Audio outputs).

Note what good NTSC video should read in the status: Good, 60 Hz, and
NTSC. Also notice the input on the SAA7115 in use is "Composite 0".
The PVR-250 should be the same.

If you're trying to capture PAL or SECAM instead of NTSC, you should use
v4l2-ctl to set the standard after switching to the Composite input -
don't rely on autodetection.


saa7127 9-0044: Standard: 60 Hz
saa7127 9-0044: Input: normal
saa7127 9-0044: Output: S-Video + Composite
saa7127 9-0044: WSS: disabled
saa7127 9-0044: VPS: disabled
saa7127 9-0044: CC: disabled

The saa7127 is for video output. A PVR-250 doesn't have this chip. Moving on...

msp3400 9-0040: msp3400 rev1 = 0x0217 rev2 = 0x3043
msp3400 9-0040: Audio: volume 58880
msp3400 9-0040: Mode: External input
msp3400 9-0040: Audmode: 0x0001
msp3400 9-0040: Routing: 0x00222220 (input) 0x00000044 (output)
msp3400 9-0040: ACB: 0x0c00

This is the audio chip. Your audio works for you, so moving on...

tda9887 9-0043: Data bytes: b=0x14 c=0x30 e=0x44
tuner 9-0061: Tuner mode: analog TV
tuner 9-0061: Frequency: 67.25 MHz
tuner 9-0061: Standard: 0x00001000

The tuner doesn't matter for Composite 1 input. Moving on...


ivtv0: Video Input: Composite 1
ivtv0: Audio Input: Line In 1
ivtv0: Video Output: S-Video + Composite
ivtv0: Audio Output: A/V Audio Out (Stereo/Bilingual: Stereo/Left)
ivtv0: Output Mode: None
ivtv0: Overlay: Off, Alpha: Global, Pixel Format: ARGB 8:8:8:8
ivtv0: Tuner: TV
ivtv0: Stream: MPEG-2 Program Stream
ivtv0: VBI Format: No VBI
ivtv0: Video: 720x480, 30 fps
ivtv0: Video: MPEG-2, 4x3, Variable Bitrate, 6000000, Peak 8000000
ivtv0: Video: GOP Size 15, 2 B-Frames, GOP Closure
ivtv0: Audio: 48 kHz, MPEG-1/2 Layer II, 224 kbps, Stereo, No Emphasis, No CRC
ivtv0: Spatial Filter: Manual, Luma 1D Horizontal, Chroma 1D Horizontal, 0
ivtv0: Temporal Filter: Manual, 8
ivtv0: Median Filter: Off, Luma [0, 255], Chroma [0, 255]
ivtv0: Status flags: 0x00200080
ivtv0: Stream encoder MPG: status 0x0000, 0% of 4096 KiB (128 buffers) in use
ivtv0: Stream encoder YUV: status 0x0000, 0% of 2048 KiB (64 buffers) in use
ivtv0: Stream encoder VBI: status 0x0000, 0% of 1040 KiB (61 buffers) in use
ivtv0: Stream encoder PCM: status 0x0000, 0% of 324 KiB (72 buffers) in use
ivtv0: Stream decoder MPG: status 0x0000, 0% of 1024 KiB (16 buffers) in use
ivtv0: Stream decoder VBI: status 0x0000, 0% of 65 KiB (29 buffers) in use
ivtv0: Stream decoder YUV: status 0x0000, 0% of 1024 KiB (16 buffers) in use
ivtv0: Read MPG/VBI: 0/0 bytes
ivtv0: ================== END STATUS CARD #0 ==================


With my PVR-350, I can capture video and audio and see the video in the
mpg file.

I compared this log-status output with your PVR-250 status output and
the problem does not look like a software problem. If you really want
to confirm it is not a software problem, you can try downloading the
latest linux drivers and compiling and installing them. However, your
1.4.1 driver version indicates your ivtv and saa7115 driver should be
very close to the latest, so I fairly certain it will be a waste of your
time.

I suspect this is a hardware problem. Unless you make the saa7115
happy as seen in the status output, you won't get video. A broken video
cable or connector, a bad saa7115 chip, or a bad video source are my
guesses. Have you tried the analog tuner or SVideo 1?

The PVR 250 should also has an SVideo 2 and Composite 2 input on the
internal white header connector on the card. If you want to wire up
your own cable to Composite 2, the 3rd or 4th answer in this FAQ talks
about the internal white header connector pins - I can't vouch for its
accuracy:

http://www.shspvr.com/pvr2_faq.html


Regards,
Andy


> OK. Let's turn on some basic debugging for the ivtv module
> (only) right
> now.
>
> As root:
>
> # modprobe -r ivtv msp3400 saa7115
> (to remove the ivtv module)
>
> # modprobe ivtv debug=1023
> (which loads the ivtvv module turning on all the debug flags
> except high
> volume debugging)




_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users