INDEX  F.A.Q.  SEARCH  LATEST POSTS     Rules  Register  Profile  Private messages  Login


Login:   Username:  Password:   Log me on automatically    
Register I forgot my password I forgot my username Resend the activation key

Setup Hauppauge WinTV PVR-350

Forum Index -> Video -> Linux Printer-friendly version
Reply to topic
Author Message
DaveQB
Member


Joined: 22 Sep 2002
Location: Sydney NSW

Post Posted: Oct 04, 2009 04:11 Posts Comp View users profile Send private message Reply with quote

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.


Code:

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)



Code:

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


Running:

Code:

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
_________________
AMD 64 X2 6000+ @3,000 Mhz (stock) | MSI K9N Ultra | Corsair Value/Kingston 6,144MB DDR 667 | 8800GT stock | 3710GB of storage | Powered by Mandriva 2009.1

Jabber: DaveQB@jabber.org.au
2.6.29.3-desktop-1mnb


disturbed1
Member


Joined: 22 Apr 2001
Location: init 4

Post Posted: Oct 04, 2009 10:18 Posts Comp View users profile Send private message Reply with quote

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 wink.gif
[/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.
_________________
Linux _is_ user-friendly. It is not ignorant-friendly and idiot-friendly.


DaveQB
Member


Joined: 22 Sep 2002
Location: Sydney NSW

Post Posted: Oct 04, 2009 22:43 Posts Comp View users profile Send private message Reply with quote

disturbed1 wrote:
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 wink.gif
[/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.
_________________
AMD 64 X2 6000+ @3,000 Mhz (stock) | MSI K9N Ultra | Corsair Value/Kingston 6,144MB DDR 667 | 8800GT stock | 3710GB of storage | Powered by Mandriva 2009.1

Jabber: DaveQB@jabber.org.au
2.6.29.3-desktop-1mnb


disturbed1
Member


Joined: 22 Apr 2001
Location: init 4

Post Posted: Oct 04, 2009 23:01 Posts Comp View users profile Send private message Reply with quote

DaveQB wrote:


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
Code:

./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
_________________
Linux _is_ user-friendly. It is not ignorant-friendly and idiot-friendly.


DaveQB
Member


Joined: 22 Sep 2002
Location: Sydney NSW

Post Posted: Oct 05, 2009 04:27 Posts Comp View users profile Send private message Reply with quote

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!
_________________
AMD 64 X2 6000+ @3,000 Mhz (stock) | MSI K9N Ultra | Corsair Value/Kingston 6,144MB DDR 667 | 8800GT stock | 3710GB of storage | Powered by Mandriva 2009.1

Jabber: DaveQB@jabber.org.au
2.6.29.3-desktop-1mnb


disturbed1
Member


Joined: 22 Apr 2001
Location: init 4

Post Posted: Oct 05, 2009 12:59 Posts Comp View users profile Send private message Reply with quote

DaveQB wrote:

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

#!/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.
_________________
Linux _is_ user-friendly. It is not ignorant-friendly and idiot-friendly.


DaveQB
Member


Joined: 22 Sep 2002
Location: Sydney NSW

Post Posted: Oct 05, 2009 16:44 Posts Comp View users profile Send private message Reply with quote

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

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

Thanks. smile.gif
_________________
AMD 64 X2 6000+ @3,000 Mhz (stock) | MSI K9N Ultra | Corsair Value/Kingston 6,144MB DDR 667 | 8800GT stock | 3710GB of storage | Powered by Mandriva 2009.1

Jabber: DaveQB@jabber.org.au
2.6.29.3-desktop-1mnb


DaveQB
Member


Joined: 22 Sep 2002
Location: Sydney NSW

Post Posted: Oct 18, 2009 17:41 Posts Comp View users profile Send private message Reply with quote

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:

Code:

#!/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!
_________________
AMD 64 X2 6000+ @3,000 Mhz (stock) | MSI K9N Ultra | Corsair Value/Kingston 6,144MB DDR 667 | 8800GT stock | 3710GB of storage | Powered by Mandriva 2009.1

Jabber: DaveQB@jabber.org.au
2.6.29.3-desktop-1mnb


disturbed1
Member


Joined: 22 Apr 2001
Location: init 4

Post Posted: Oct 18, 2009 21:43 Posts Comp View users profile Send private message Reply with quote

DaveQB wrote:
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 smile.gif
_________________
Linux _is_ user-friendly. It is not ignorant-friendly and idiot-friendly.


DaveQB
Member


Joined: 22 Sep 2002
Location: Sydney NSW

Post Posted: Oct 18, 2009 22:56 Posts Comp View users profile Send private message Reply with quote

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!
_________________
AMD 64 X2 6000+ @3,000 Mhz (stock) | MSI K9N Ultra | Corsair Value/Kingston 6,144MB DDR 667 | 8800GT stock | 3710GB of storage | Powered by Mandriva 2009.1

Jabber: DaveQB@jabber.org.au
2.6.29.3-desktop-1mnb


Reply to topic All times are GMT - 6 Hours
Forum Index -> Video -> Linux Page 1 of 1





You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



Jump to:  
Display:   
DVDFab DVD to DVD and Blu-ray to Blu-ray offers a 20% discount until Nov 22, 2009. More info or download trial!
About   Advertise   Forum Archive   RSS Feeds   Statistics