VideoHelp Forum




+ Reply to Thread
Results 1 to 10 of 10
  1. 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
    Quote Quote  
  2. Get Slack disturbed1's Avatar
    Join Date
    Apr 2001
    Location
    init 4
    Search Comp PM
    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.
    Linux _is_ user-friendly. It is not ignorant-friendly and idiot-friendly.
    Quote Quote  
  3. Originally Posted by 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.
    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
    Quote Quote  
  4. Get Slack disturbed1's Avatar
    Join Date
    Apr 2001
    Location
    init 4
    Search Comp PM
    Originally Posted by 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
    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.
    Quote Quote  
  5. 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
    Quote Quote  
  6. Get Slack disturbed1's Avatar
    Join Date
    Apr 2001
    Location
    init 4
    Search Comp PM
    Originally Posted by 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.
    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.
    Quote Quote  
  7. 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.

    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.
    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
    Quote Quote  
  8. 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
    Quote Quote  
  9. Get Slack disturbed1's Avatar
    Join Date
    Apr 2001
    Location
    init 4
    Search Comp PM
    Originally Posted by 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
    Linux _is_ user-friendly. It is not ignorant-friendly and idiot-friendly.
    Quote Quote  
  10. 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
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!