Hauppauge PVR-350

From MythTV Official Wiki
Revision as of 02:00, 22 April 2008 by Tgutwin (Talk | contribs)

Jump to: navigation, search

Description

The PVR-350

The PVR-350 is a video capture card manufactured by Hauppage. It is supported by MythTV using the ivtv driver.

What it Does & Doesn't Do

Does

  • Excellent Standard-Definition NTSC / PAL TV Out from recorded television (MPEG2)
  • Recording direct to MPEG2, just like PVR-150, PVR-250 and PVR-500
  • 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.
  • mythdvd works if set up correctly, but takes a lot of CPU

Doesn't

  • 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

Usually found upon install.

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 Hauppage 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

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 Hauppage can be found at Wikipedia