Difference between revisions of "Hauppauge PVR-350"

From MythTV Official Wiki
Jump to: navigation, search
(Description)
(Recordings Won't Schedule / Live TV won't play)
 
(36 intermediate revisions by 19 users not shown)
Line 1: Line 1:
Vendors Website: http://www.hauppauge.com/pages/products/data_pvr350.html
+
{{Migrate_LinuxTV}}
  
Support Status: Supported by Myth: Uses IVTV driver
+
{{EOL}}
 +
{{warning box|The Hauppauge PVR-350 mpeg2 hardware decoder (playback) is no longer supported since version 0.23 ( see http://svn.mythtv.org/trac/changeset/22845 ).  With MythTV 0.23 and later, the ivtv Xorg/Xv driver is required for TV output using this card.}}
  
Driver: http://ivtv.sourceforge.net/
+
== Description ==
 +
[[Image:pvr350.jpg|thumb|The PVR-350]]
  
== Description ==
+
The Hauppauge PVR-350 is a [[video capture card]] manufactured by [http://www.hauppauge.com/pages/products/data_pvr350.html Hauppauge Computer Works, Inc].  It is supported by MythTV using the [http://ivtvdriver.org/ ivtv] driver.
  
The HAUPPAUGE PVR-350 [[video capture card]].
+
Hauppauge no longer ships any of the analog only (PVR) cards due to pressure from FCC.
  
 
== What it Does & Doesn't Do ==
 
== What it Does & Doesn't Do ==
 
=== Does ===
 
=== Does ===
* Excellent Standard-Definition NTSC / PAL TV Out from recorded television (MPEG2)
+
* Recording direct to MPEG2, just like Hauppauge PVR-150|PVR-150, Hauppauge PVR-250|PVR-250 and Hauppauge PVR-500|PVR-500
* Recording direct to MPEG2, just like [[Hauppauge PVR-150|PVR-150]], [[Hauppauge PVR-250|PVR-250]] and [[Hauppauge PVR-500|PVR-500]]
+
* Built-in RC5 remote control, supported by [[LIRC]].
* Built-in RC5 remote control, supported by LIRC.
 
* Audio output from MPEG2 recordings
 
 
* Technically X and xv output are working, but they are slow since they operate over the framebuffer.
 
* Technically X and xv output are working, but they are slow since they operate over the framebuffer.
* mythdvd works if set up correctly, but takes a lot of CPU
 
  
 
=== Doesn't===
 
=== Doesn't===
 +
* TV Output via MythTV
 
* Normal X output at decent speed/quality.
 
* Normal X output at decent speed/quality.
 
* OpenGL and hardware accelerated output is not supported.
 
* OpenGL and hardware accelerated output is not supported.
Line 24: Line 24:
 
* No audio output from anything but MPEG2 - requires pass-through cable to line-in on sound card for other audio output
 
* No audio output from anything but MPEG2 - requires pass-through cable to line-in on sound card for other audio output
  
 +
'''Well Suited for:''' a single-card solution for input/ouput of video and audio to a standard television, running only MythTV and recordings.  Also well-suited for underpowered systems, since the onboard mpeg encoding ''and'' decoding mean your CPU has very little to do.  As a single data point, consider that the utilization on 750 Mhz PIII is only 20% while watching live tv.
  
'''Well Suited for:''' a single-card solution for input/ouput of video and audio to a standard television, running only MythTV and recordings
+
'''Not Suited for:''' MythVideo, [[MythMusic]], MythGame, other output modes, recordings other than MPEG2
 
 
'''Not Suited for:''' Mythvideo, mythmusic, mythgame, other output modes, recordings other than MPEG2
 
  
 
== Associated Software ==
 
== Associated Software ==
  
[[IVTV]]
+
* [[IVTV]]
 +
* [[ir-kbd-i2c]] - kernel module for infrared remote control support
  
 
== Installation guides ==
 
== Installation guides ==
Usually found upon install.
+
This card should be set up as an "IVTV MPEG-2 encoder card"
  
 
== FAQs ==
 
== FAQs ==
Line 44: Line 44:
 
Take the L/R audio out and feed it into a L/R female RCA to 1/8 male adapter.  Plug this into the line input of your sound card and make sure mute is off.  
 
Take the L/R audio out and feed it into a L/R female RCA to 1/8 male adapter.  Plug this into the line input of your sound card and make sure mute is off.  
  
=== How do you resize the MythTV UI and playback overlay to fit the TV screen when displaying X on the PVR-350 video output? ===
+
=== Displaying X on the PVR-350 video output ===
 +
 
 +
'''Q:''' How do you resize the MythTV UI and playback overlay to fit the TV screen when displaying X on the PVR-350 video output?
  
This is one approach, based on a MythTV install created using Jarod's guide [http://wilsonet.com/mythtv/fcmyth.php].  It does '''not''' currently resolve the more general problem of the whole X session fitting the TV screen.
+
'''A:'''
 +
This is one approach, based on a MythTV install created using Jarod's guide [http://wilsonet.com/mythtv/fcmyth.php].  It does '''not''' currently resolve the more general problem of the whole X session fitting the TV screen. (''See also '''A2''' below'')
  
 
# Fire up kcontrol:
 
# Fire up kcontrol:
Line 55: Line 58:
 
## Check off the "Run the frontend in a window" box
 
## Check off the "Run the frontend in a window" box
 
##* '''Note:''' this step may not be necessary if you are using a different window manager, such as [http://ratpoison.sourceforge.net/ ratpoison].  I found it necessary for KDE, so that step '''2.1.9.''' would reposition the GUI properly.
 
##* '''Note:''' this step may not be necessary if you are using a different window manager, such as [http://ratpoison.sourceforge.net/ ratpoison].  I found it necessary for KDE, so that step '''2.1.9.''' would reposition the GUI properly.
##M ake sure "Use GUI size for TV playback is NOT checked
+
## Make sure "Use GUI size for TV playback is NOT checked
 
## Restart the mythfrontend (if you are set up for autologin, ''Ctrl+Alt+Backspace'' will restart the X server and log you back into your mythtv frontend user+session)
 
## Restart the mythfrontend (if you are set up for autologin, ''Ctrl+Alt+Backspace'' will restart the X server and log you back into your mythtv frontend user+session)
 
## Return to the screen in '''2.1.1.'''
 
## Return to the screen in '''2.1.1.'''
Line 76: Line 79:
 
##*    '''Vertical over/underscan percentage:'''  8
 
##*    '''Vertical over/underscan percentage:'''  8
 
##*    '''Horizontal over/underscan percentage:'''  8
 
##*    '''Horizontal over/underscan percentage:'''  8
 +
 +
'''A2:''' This is another solution used to configure the port to operate. There are some [http://ivtv.writeme.ch/tiki-index.php?page=TvOutHowto test you should conduct first] to make sure the card is talking to the TV correctly. If that checks out, proceed to follow that HOWTO. However, the section detailing '''fbdev''' will probably cause X-windows to crash, so don't follow that part of the HOWTO.
 +
 +
* Add a boot script to execute:
 +
#!/bin/sh
 +
modprobe ivtv-fb
 +
Adding this to /etc/modules may interrupt ivtv from properly loading firmware. So make sure this boot script executes '''AFTER''' ivtv has loaded.
 +
 +
* It requires installing another X module called ivtvdev.
 +
*# You need to [http://ivtvdriver.org/index.php/Download#X_Driver download the ivtvdev X driver]
 +
*# Unpack it with bunzip2
 +
*# Locate fbdev_drv.o
 +
*# Copy it into the same directory that '''fbdev_drv.'''o is located in.
 +
*# Restart X-windows (assuming you already loaded ivtv-fb earlier).
 +
 +
NOTE: '''fbdev''' does NOT work!!! I found many sites a la Google that had all the correct X-windows settings, but they were about 2 years old, and they caused bad errors. The following settings should work pretty well:
 +
 +
* Configure X-windows (Xorg or XFree86) to have a "device" for X to get displayed on.
 +
<pre><nowiki>
 +
Section "Device"
 +
        Identifier "Hauppauge PVR 350 Framebuffer"
 +
        Driver "ivtvdev"
 +
        Option  "ivtv" "/dev/fb2"  <--- dmesg | grep ivtv, and look for an fb device, and plug this in
 +
        Option "VideoOverlay" "on"
 +
        Option "XVideo" "1"
 +
        BusID  "PCI:0:10:0"    <--- lspci, and look for the PVR card's PCI designator (not nVidia's)
 +
        Screen 0
 +
EndSection
 +
</nowiki></pre>
 +
 +
* Configure X-windows to have a screen using the Hauppauge device.
 +
<pre><nowiki>
 +
Section "Screen"
 +
        Identifier "TV"
 +
        Device "Hauppauge PVR 350 Framebuffer"
 +
        Monitor "NTSC Monitor"
 +
        DefaultDepth 24
 +
        DefaultFbbpp 32
 +
        Subsection "Display"
 +
                Depth 24
 +
                FbBpp 32
 +
                Modes "720x480"
 +
        EndSubsection
 +
EndSection
 +
</nowiki></pre>
 +
 +
* Configure X-windows to have a monitor for your TV set.
 +
<pre><nowiki>
 +
Section "Monitor"
 +
Identifier "NTSC Monitor"
 +
HorizSync 30-68
 +
VertRefresh 50-120
 +
DisplaySize 183 122
 +
Mode "720x480"
 +
# D: 34.563 MHz, H: 37.244 kHz, V: 73.897 Hz
 +
DotClock 34.564
 +
HTimings 720 752 840 928
 +
VTimings 480 484 488 504
 +
Flags "-HSync" "-VSync"
 +
EndMode
 +
EndSection
 +
</nowiki></pre>
 +
 +
* Configure X-windows the ServerLayout section to reference your TV screen.
 +
* See also: [http://www.mythtv.org/wiki/index.php/XV_on_PVR-350 XV on PVR-350].
 +
* See also: [https://scifi.homelinux.net/mediawiki/index.php/MythTV#July_29.2C_2006_-_MLUG_install_party MythTV - July 29, 2006 - MLUG install party]
  
 
===Playback Freezes===
 
===Playback Freezes===
Line 86: Line 155:
  
 
those are the maximum amounts for all those buffers.
 
those are the maximum amounts for all those buffers.
 +
 +
 +
UPDATED ON 1/30/08: I was trying to add more buffer space on Ubuntu Feisty Fawn and ivtv 0.10.1 but the above parameters weren't working. After being told to run "modinfo ivtv", I was able to find out that the parameters (options) are now different. This is the line that I added to my /etc/modprobe.conf file options ivtv enc_yuv_buffers=32 enc_mpg_buffers=16 enc_vbi_buffers=16 enc_pcm_buffers=16.
 +
'''BE CAREFUL''' to note the units for each buffer sizing... My ''modinfo ivtv'' states that enc_pcm_buffers is in kB with a default of 320 so 16, as mentioned above, is very low.
 +
 +
here is another sample
 +
options ivtv enc_mpg_buffers=16 enc_yuv_buffers=20 enc_pcm_buffers=640 debug=3
 +
  
 
then run:
 
then run:
Line 98: Line 175:
  
 
  ivtv0: Allocate DMA encoder MPEG stream: 512 x 32768 buffers (16384KB total)
 
  ivtv0: Allocate DMA encoder MPEG stream: 512 x 32768 buffers (16384KB total)
 +
 +
===Recordings Won't Schedule / Live TV won't play===
 +
 +
If you can configure the PVR-350 from [[mythtv-setup]] but you can't seem to get recordings to schedule (or watch live TV), you may not have the proper drivers loaded.  See [[Troubleshooting:mythbackend:_Problem_with_capture_cards:_Card_1failed_init]]
 +
 +
Another possibility that seems to be causing problems is that by (at least) 2011, many of these cards had two electrolytic capacitors, 680 uF, 10v units on the right-hand edge of the card, failing.  The failure is visible: brown leaking electrolyte and visible bulging on the top of the can.  If you have one of these cards, you should replace those capacitors.
  
 
== References ==
 
== References ==
Line 104: Line 187:
 
# [[XV on PVR-350]]
 
# [[XV on PVR-350]]
 
# [[IVTV Install]]
 
# [[IVTV Install]]
 
+
# [http://www.gentoo-wiki.com/HARDWARE_X_windows_through_Hauppauge_350_TV_Out Gentoo:HOWTO X windows through Hauppauge 350 TV Out]
 
+
# More information about Hauppauge can be found at [http://en.wikipedia.org/wiki/Hauppauge_Computer_Works Wikipedia]
[[Category:Video capture cards]]
 

Latest revision as of 21:44, 23 October 2013

Warning: This page should be migrated to the LinuxTV wiki


Time.png End Of Life: This product is no longer being manufactured and may only be available in limited quantities, if it is available at all.

Warning.png Warning: The Hauppauge PVR-350 mpeg2 hardware decoder (playback) is no longer supported since version 0.23 ( see http://svn.mythtv.org/trac/changeset/22845 ). With MythTV 0.23 and later, the ivtv Xorg/Xv driver is required for TV output using this card.

Description

The PVR-350

The Hauppauge PVR-350 is a video capture card manufactured by Hauppauge Computer Works, Inc. It is supported by MythTV using the ivtv driver.

Hauppauge no longer ships any of the analog only (PVR) cards due to pressure from FCC.

What it Does & Doesn't Do

Does

  • Recording direct to MPEG2, just like Hauppauge PVR-150|PVR-150, Hauppauge PVR-250|PVR-250 and Hauppauge PVR-500|PVR-500
  • Built-in RC5 remote control, supported by LIRC.
  • Technically X and xv output are working, but they are slow since they operate over the framebuffer.

Doesn't

  • TV Output via MythTV
  • Normal X output at decent speed/quality.
  • OpenGL and hardware accelerated output is not supported.
  • High-Definition (HD) output
  • No audio output from anything but MPEG2 - requires pass-through cable to line-in on sound card for other audio output

Well Suited for: a single-card solution for input/ouput of video and audio to a standard television, running only MythTV and recordings. Also well-suited for underpowered systems, since the onboard mpeg encoding and decoding mean your CPU has very little to do. As a single data point, consider that the utilization on 750 Mhz PIII is only 20% while watching live tv.

Not Suited for: MythVideo, MythMusic, MythGame, other output modes, recordings other than MPEG2

Associated Software

Installation guides

This card should be set up as an "IVTV MPEG-2 encoder card"

FAQs

Best info most likely found on the IVTV driver forum on Sourceforge. See also the wiki at: http://ivtvdriver.org/

How do you send TV-Out audio to the sound card?

Take the L/R audio out and feed it into a L/R female RCA to 1/8 male adapter. Plug this into the line input of your sound card and make sure mute is off.

Displaying X on the PVR-350 video output

Q: How do you resize the MythTV UI and playback overlay to fit the TV screen when displaying X on the PVR-350 video output?

A: This is one approach, based on a MythTV install created using Jarod's guide [1]. It does not currently resolve the more general problem of the whole X session fitting the TV screen. (See also A2 below)

  1. Fire up kcontrol:
    1. Go to Desktop->Panels->Hiding
    2. Set "Hide Mode" to "Allow other windows to cover the panel"
  2. In mythfrontend, go to Utilities/Setup -> Setup -> Appearance:
    1. Go Next to the second screen, "Screen settings"
    2. Check off the "Run the frontend in a window" box
      • Note: this step may not be necessary if you are using a different window manager, such as ratpoison. I found it necessary for KDE, so that step 2.1.9. would reposition the GUI properly.
    3. Make sure "Use GUI size for TV playback is NOT checked
    4. Restart the mythfrontend (if you are set up for autologin, Ctrl+Alt+Backspace will restart the X server and log you back into your mythtv frontend user+session)
    5. Return to the screen in 2.1.1.
    6. Play with the GUI width, height, X offset and Y offset until you can just barely see the lower resizing corners and edge of the upper window box.
    7. (optional) Enlarge the width and height by one step (adds 8 to each count)
    8. (optional) Decrease the X and Y offsets by 4 to re-centre.
    9. The final settings for the NTSC TV used to write this walk-through were as follows:
      • GUI width (px): 616
      • GUI height (px): 456
      • GUI X offset: 46
      • GUI Y offset: 4
    10. The final settings for the PAL TV 4/3 used to write this walk-through were as follows:
      • GUI width (px): 632
      • GUI height (px): 544
      • GUI X offset: 55
      • GUI Y offset: 20
  3. In mythfrontend, go to Utilities/Setup -> Setup -> TV Settings -> Playback:
    1. On the 5th screen, "Hardware Decoding Settings", make sure "Use the PVR-350's TV out/ MPEG decoder" is checked.
    2. On the 8th screen, "Overscan", adjust the over/underscan percentages to your liking. This will resize the overlay when you're watching TV or playing back video.
      • Vertical over/underscan percentage: 8
      • Horizontal over/underscan percentage: 8

A2: This is another solution used to configure the port to operate. There are some test you should conduct first to make sure the card is talking to the TV correctly. If that checks out, proceed to follow that HOWTO. However, the section detailing fbdev will probably cause X-windows to crash, so don't follow that part of the HOWTO.

  • Add a boot script to execute:
#!/bin/sh
modprobe ivtv-fb

Adding this to /etc/modules may interrupt ivtv from properly loading firmware. So make sure this boot script executes AFTER ivtv has loaded.

  • It requires installing another X module called ivtvdev.
    1. You need to download the ivtvdev X driver
    2. Unpack it with bunzip2
    3. Locate fbdev_drv.o
    4. Copy it into the same directory that fbdev_drv.o is located in.
    5. Restart X-windows (assuming you already loaded ivtv-fb earlier).

NOTE: fbdev does NOT work!!! I found many sites a la Google that had all the correct X-windows settings, but they were about 2 years old, and they caused bad errors. The following settings should work pretty well:

  • Configure X-windows (Xorg or XFree86) to have a "device" for X to get displayed on.
Section "Device"
        Identifier "Hauppauge PVR 350 Framebuffer"
        Driver "ivtvdev"
        Option  "ivtv" "/dev/fb2"   <--- dmesg | grep ivtv, and look for an fb device, and plug this in
        Option "VideoOverlay" "on"
        Option "XVideo" "1"
        BusID  "PCI:0:10:0"     <--- lspci, and look for the PVR card's PCI designator (not nVidia's)
        Screen 0
EndSection
  • Configure X-windows to have a screen using the Hauppauge device.
Section "Screen"
        Identifier "TV"
        Device "Hauppauge PVR 350 Framebuffer"
        Monitor "NTSC Monitor"
        DefaultDepth 24
        DefaultFbbpp 32
        Subsection "Display"
                Depth 24
                FbBpp 32
                Modes "720x480"
        EndSubsection
EndSection
  • Configure X-windows to have a monitor for your TV set.
Section "Monitor"
	Identifier "NTSC Monitor"
	HorizSync 30-68
	VertRefresh 50-120
	DisplaySize 183 122
	Mode "720x480"
		# D: 34.563 MHz, H: 37.244 kHz, V: 73.897 Hz
		DotClock 34.564
		HTimings 720 752 840 928
		VTimings 480 484 488 504
		Flags	"-HSync" "-VSync"
	EndMode
EndSection

Playback Freezes

(Taken from: [2])

You can increase the IVTV buffers by adding the following line to /etc/mythtv/modules/ivtv:

options ivtv yuv_buffers=32 mpg_buffers=16 vbi_buffers=16 pcm_buffers=16 dec_osd_buffers=2

those are the maximum amounts for all those buffers.


UPDATED ON 1/30/08: I was trying to add more buffer space on Ubuntu Feisty Fawn and ivtv 0.10.1 but the above parameters weren't working. After being told to run "modinfo ivtv", I was able to find out that the parameters (options) are now different. This is the line that I added to my /etc/modprobe.conf file options ivtv enc_yuv_buffers=32 enc_mpg_buffers=16 enc_vbi_buffers=16 enc_pcm_buffers=16. BE CAREFUL to note the units for each buffer sizing... My modinfo ivtv states that enc_pcm_buffers is in kB with a default of 320 so 16, as mentioned above, is very low.

here is another sample

options ivtv enc_mpg_buffers=16 enc_yuv_buffers=20 enc_pcm_buffers=640 debug=3


then run:

update-modules && rmmod ivtv && modprobe ivtv

If it works, instead of seeing:

ivtv0: Allocate DMA encoder MPEG stream: 128 x 32768 buffers (4096KB total)

you should see:

ivtv0: Allocate DMA encoder MPEG stream: 512 x 32768 buffers (16384KB total)

Recordings Won't Schedule / Live TV won't play

If you can configure the PVR-350 from mythtv-setup but you can't seem to get recordings to schedule (or watch live TV), you may not have the proper drivers loaded. See Troubleshooting:mythbackend:_Problem_with_capture_cards:_Card_1failed_init

Another possibility that seems to be causing problems is that by (at least) 2011, many of these cards had two electrolytic capacitors, 680 uF, 10v units on the right-hand edge of the card, failing. The failure is visible: brown leaking electrolyte and visible bulging on the top of the can. If you have one of these cards, you should replace those capacitors.

References

  1. Here is a QuickRef Remote Guide: PVR-350 Remote Quick Guide
  2. XV on PVR-350
  3. IVTV Install
  4. Gentoo:HOWTO X windows through Hauppauge 350 TV Out
  5. More information about Hauppauge can be found at Wikipedia