Forum archive - Setup Hauppauge WinTV PVR-350

http://www.supermediastore.com/



Forum Archive Home -> Linux -> Setup Hauppauge WinTV PVR-350



Setup Hauppauge WinTV PVR-350

DaveQB posted 2009 Oct 04 04:11
Hi all,

I had said card in my mythtv box working flawlessly.

Now I have a digital card in mythtv I am trying to use the PVR-350 on my desktop.

I just want to capture S-VIDEO in, which seems to equal the /dev/video1 device. I do not have this.


:

ivtv: Start initialization, version 1.4.0                                                                       
ivtv0: Initializing card 0                                                                                       
ivtv0: Autodetected Hauppauge card (cx23415 based)                                                               
tveeprom 2-0050: Hauppauge model 48139, rev K2B7, serial# 8654550                                               
tveeprom 2-0050: tuner model is Philips FM1216ME MK5 (idx 117, type 38)                                         
tveeprom 2-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) (eeprom 0x74)                             
tveeprom 2-0050: audio processor is MSP4418 (idx 25)                                                             
tveeprom 2-0050: decoder processor is SAA7115 (idx 19)                                                           
tveeprom 2-0050: has radio, has IR receiver, has no IR transmitter                                               
ivtv0: Autodetected Hauppauge WinTV PVR-350                                                                     
saa7115 2-0021: saa7115 found (1f7115d0e100000) @ 0x42 (ivtv i2c driver #0)                                     
saa7127 2-0044: saa7129 found @ 0x88 (ivtv i2c driver #0)                                                       
msp3400 2-0040: MSP4418G-B3 found @ 0x80 (ivtv i2c driver #0)                                                   
msp3400 2-0040: msp3400 supports nicam and radio, mode is autodetect and autoselect                             
tuner 2-0043: chip found @ 0x86 (ivtv i2c driver #0)                                                             
tda9887 2-0043: creating new instance                                                                           
tda9887 2-0043: tda988[5/6/7] found                                                                             
tuner 2-0061: chip found @ 0xc2 (ivtv i2c driver #0)                                                             
tuner-simple 2-0061: creating new instance                                                                       
tuner-simple 2-0061: type set to 38 (Philips PAL/SECAM multi (FM1216ME MK3))                                     
IRQ 17/ivtv0: IRQF_DISABLED is not guaranteed on shared IRQs                                                     
ivtv0: Registered device video0 for encoder MPG (4096 kB)                                                       
ivtv0: Registered device video32 for encoder YUV (2048 kB)                                                       
ivtv0: Registered device vbi0 for encoder VBI (1024 kB)                                                         
ivtv0: Registered device video24 for encoder PCM (320 kB)                                                       
ivtv0: Registered device radio0 for encoder radio                                                               
ivtv0: Registered device video16 for decoder MPG (1024 kB)                                                       
ivtv0: Registered device vbi8 for decoder VBI (64 kB)                                                           
ivtv0: Registered device vbi16 for decoder VOUT                                                                 
ivtv0: Registered device video48 for decoder YUV (1024 kB)                                                       
ivtv0: Initialized card: Hauppauge WinTV PVR-350                                                                 
ivtv: End initialization                                                                                         
ivtv 0000:01:00.0: firmware: requesting v4l-cx2341x-enc.fw                                                       
ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)                                                         
ivtv 0000:01:00.0: firmware: requesting v4l-cx2341x-dec.fw                                                       
ivtv0: Loaded v4l-cx2341x-dec.fw firmware (262144 bytes)                                                         
ivtv0: Encoder revision: 0x02060039
ivtv0: Decoder revision: 0x02020023
ivtv 0000:01:00.0: firmware: requesting v4l-cx2341x-init.mpg
ivtv0: Loaded v4l-cx2341x-init.mpg firmware (155648 bytes)



:

root@david ~ #
l /dev/video*
/dev/video0  /dev/video16  /dev/video24  /dev/video32  /dev/video48


Running:

:

cat /dev/video0 > test.mpg


Results in a file I can play but full of snow. So I have concluded that's the TV/coax input which I don't want.

All the other devices don't cat anything but an empty file.

So is it that I am missing /dev/video1 my problem?
Is it a kernel module problem or a modprobe loading issue?

Thanks



disturbed1 posted 2009 Oct 04 10:18
You can use the v4l2-ctl tools to change the input selection.
http://www.ivtvdriver.org/index.php/V4l2-ctl

/dev/video0 is the multiplexed stream (audio+video), /dev/video16 /dev/video24 /dev/video32 /dev/video48 are each different things, VBI, raw YUV input, raw PCM input, sometimes other things, depending on the card's capabilities.
[edit]
if you read the code block you posted, it explains what the video24/32... are for on your card ;)
[/edit]

1st tuner = /dev/video0
2nd tuner = /dev/video1
3rd tuner = /dev/video2
----
12th tuner = /dev/video11

With the PVR 150/250/350 the tuner, S-Video (1,2) and Composite (1,2) inputs are all accessed through one multiplexed stream. Since these cards can not receive more than one signal at a time, it only creates a single /dev/video# device. With the PVR 500 (dual tuners) that can receive 2 streams at one time you have /dev/video0 and /dev/video1. With the hybrid tuners (HVR1600) you get a /dev/video0 (analog inputs) and /dev/dvb/adapter0/frontend0, the next digital card would be /dev/dvb/adapter1/frontend0. If the digital tuner had 2 digital inputs (or a single multiplexed tuner) they would be /dev/dvb/adapter0/frontend0 and frontend1.

Each of those devices would in turn, also have their own /dev/video* for VBI, YUV, and PCM.



DaveQB posted 2009 Oct 04 22:43
disturbed1 :
You can use the v4l2-ctl tools to change the input selection.
http://www.ivtvdriver.org/index.php/V4l2-ctl

/dev/video0 is the multiplexed stream (audio+video), /dev/video16 /dev/video24 /dev/video32 /dev/video48 are each different things, VBI, raw YUV input, raw PCM input, sometimes other things, depending on the card's capabilities.
[edit]
if you read the code block you posted, it explains what the video24/32... are for on your card ;)
[/edit]

1st tuner = /dev/video0
2nd tuner = /dev/video1
3rd tuner = /dev/video2
----
12th tuner = /dev/video11

With the PVR 150/250/350 the tuner, S-Video (1,2) and Composite (1,2) inputs are all accessed through one multiplexed stream. Since these cards can not receive more than one signal at a time, it only creates a single /dev/video# device. With the PVR 500 (dual tuners) that can receive 2 streams at one time you have /dev/video0 and /dev/video1. With the hybrid tuners (HVR1600) you get a /dev/video0 (analog inputs) and /dev/dvb/adapter0/frontend0, the next digital card would be /dev/dvb/adapter1/frontend0. If the digital tuner had 2 digital inputs (or a single multiplexed tuner) they would be /dev/dvb/adapter0/frontend0 and frontend1.

Each of those devices would in turn, also have their own /dev/video* for VBI, YUV, and PCM.


Thanks disturbed. I did see what each device was for, but none are providing Svideo. So Svideo will be coming through /dev/video0?

Cool. So I just need a way to flick it over to Svideo rather than coax. I looked at v4l2-ctl but couldn't see a way to change the input. I'll check it out again.



disturbed1 posted 2009 Oct 04 23:01
DaveQB :


Thanks disturbed. I did see what each device was for, but none are providing Svideo. So Svideo will be coming through /dev/video0?

Cool. So I just need a way to flick it over to Svideo rather than coax. I looked at v4l2-ctl but couldn't see a way to change the input. I'll check it out again.


That's correct, just need to toggle the input.

Depending on the version of v4l2-ctl you have - running v4l2-ctl -h will give a list of options look for something like list inputs
:

./v4l2-ctl --list-inputs
ioctl: VIDIOC_ENUMINPUT
   Input   : 0
   Name    : Tuner 1
   Type    : 0x00000001
   Audioset: 0x00000007
   Tuner   : 0x00000000
   Standard: 0x0000000000001000 ( NTSC )
   Status  : 0

   Input   : 1
   Name    : S-Video 1
   Type    : 0x00000002
   Audioset: 0x00000007
   Tuner   : 0x00000000
   Standard: 0x0000000000FFFFFF ( PAL NTSC SECAM )
   Status  : 0

   Input   : 2
   Name    : Composite 1
   Type    : 0x00000002
   Audioset: 0x00000007
   Tuner   : 0x00000000
   Standard: 0x0000000000FFFFFF ( PAL NTSC SECAM )
   Status  : 0

   Input   : 3
   Name    : S-Video 2
   Type    : 0x00000002
   Audioset: 0x00000007
   Tuner   : 0x00000000
   Standard: 0x0000000000FFFFFF ( PAL NTSC SECAM )
   Status  : 0

   Input   : 4
   Name    : Composite 2
   Type    : 0x00000002
   Audioset: 0x00000007
   Tuner   : 0x00000000
   Standard: 0x0000000000FFFFFF ( PAL NTSC SECAM )
   Status  : 0

On my HVR1600 Composite 1 and S-Video 1 are on the rear of the card, while Composite 2 and S-Video 2 are internal headers.

If I wanted to capture using S-Video 1 (the S-Video jack on the rear) I would pass
v4l2-ctl --set-input 1



DaveQB posted 2009 Oct 05 04:27
Oh thank you so much disturbed :0

It was right under my nose the whole time; I did find v4l2-ctl but never found these options.

Thanks alot.

PS So it defaults back to input 0 after reboot?
Must be a way to set it on reboot. Maybe an rc file of some sort.

Thanks again!



disturbed1 posted 2009 Oct 05 12:59
DaveQB :

Must be a way to set it on reboot. Maybe an rc file of some sort.

Thanks again!


It would depend on your distro's startup routine. With Slackware I would just edit my /etc/rc.d/rc.local file.
Or create a script (or one for each input) and execute it at will.
:

#!/bin/sh
/usr/bin/v4l2-ctl --set-input 1



Other distros use cryptic rc.{0-6} folders with K##.script and S##.script, with symlinks here and there. The K##.script is for killing/stopping the script and S##.script is for starting the script. The ## is the order in which they are executed S02.script is ran before S22.script. The rc.{0-6} are the run levels in which the scripts are executed.



DaveQB posted 2009 Oct 05 16:44
Thanks disturbed1 I have an idea on the the sys-v and bsd style boot methods, I think I didn't word my question well. :oops:

I was thinking more along the lines of:
~/.ivtvrc
Type of setup.

But my searching shows nothing of the sort.
On well I'll have to use rc.local or put it in my capture script.

Here's another one, I was looking at all the other options with v4l2-ctl and then /dev/video0 stopped producing anything.
So rmmod and modprobe the ivtv module which normally works and now when I try to change inputs /dev/video0 produces nothing.

I read the PVR-350 gets hots, so gave it last night to cool and tried again this morning but same result.
Ever experienced this?
I haven't rebooted so that is still to try.

This is frustrating. :(

Thanks. :)



DaveQB posted 2009 Oct 18 17:41
All working now.
One must have a video signal sent on the S-Video channel in order for it to capture anything. Unlike the tuner where its always grabbing a signal, S-Video only grabs signal when you are playing a tape in the VHS hooked up to it, for example. It does capture after the tape stops for a bit, but then captures nothing, so that confused me.

So the script I run, currently, so setup ivtv before I capture is:

:

#!/bin/bash

echo Current:
v4l2-ctl --get-fmt-video
v4l2-ctl --set-fmt-video=width=720,height=576
#sleep 1
v4l2-ctl -i 1
sleep 1
#while [ true ]
#do
#       mplayer /dev/video0 &
#       PID=$!
#       sleep 5
#       kill "$PID"
#done
echo Current:
v4l2-ctl -L |grep audio_layer_ii_bitrate
v4l2-ctl -c audio_layer_ii_bitrate=13
sleep 1
echo Current:
v4l2-ctl -L |grep 'video_bitrate_mode (menu'
v4l2-ctl -c video_bitrate_mode=1
sleep 1
echo Current:
v4l2-ctl -L |grep 'video_bitrate (int'
v4l2-ctl -c video_bitrate=27000000
sleep 1
echo Current:
v4l2-ctl -L |grep video_peak_bitrate
v4l2-ctl -c video_peak_bitrate=27000000
exit 0


Don't mind the commented part, that's that form my testing.

Thanks disturbed1 for your help!



disturbed1 posted 2009 Oct 18 21:43
DaveQB :
All working now.
One must have a video signal sent on the S-Video channel in order for it to capture anything. Unlike the tuner where its always grabbing a signal, S-Video only grabs signal when you are playing a tape in the VHS hooked up to it, for example. It does capture after the tape stops for a bit, but then captures nothing, so that confused me.

Thanks disturbed1 for your help!


Glad you got everything working.

Thanks for posting that script. I don't capture from anything but the tuners on my HVR1600 and PVR150's. About the heat thing with the PVR350 - I know my PVR500 would get pretty toasty. I ended up ditching it for 2 PVR150 clones instead. With MythTV, sometimes the PVR500 would initialize and start a recording, then error out in the middle, drop packets, audio issues ......... I did conclude it was heat, if I stuck a huge loud fan blowing directly on the card, it ran for 24hours without issue. I opted for separate cards with smaller and quieter fans. No issues for the last few months.

I've been planning on archiving some old VHS tapes to DVD for a while now. Picked up a few concert tapes that are not on DVD for $1.99 at the local used CD/DVD shop. You're script will come in handy :)



DaveQB posted 2009 Oct 18 22:56
No worries disturbed1
I am glad I could repay your tremendous help a little bit.

Once I get this S-video cable, picture quality issue resolved [got a thread over in capturing forum] then I am back to converting VHS tapes which I have been doing for years but with analog cards.

Thanks once again!




Login/Register to our forum to be able to post here.








Replay Video Capture, if you can Watch it, you can Capture it ! and save it to your computer. More info or download trial!
About   Advertise   Forum Archive   RSS Feeds   Statistics