WinTVCap 3.0 Logo

Source Forge Project


Latest News

WinTVCap now supports all the Hauppauge WinTV Analog Capture Cards.

PVR-250, PVR-350, PVR-150, PVR-150lp, PVR-500MCE, HVR-1600, HVR-1800.


WinTVCap is a command line Record only application for the Hauppauge WinTV PVR-250, PVR-350, PVR-150, PVR-150lp, PVR-500MCE, HVR-1600, HVR-1800.
This program uses very low CPU utilization as it does not display the MPEG Stream while it is recording like WinTV2000 does.
This version of WinTVCap also supports multiple WinTV cards in a single system and it has been tested with up to 5 WinTV PVR Cards. (PVR-250,PVR-350,PVR-150,PVR-500,HVR-1600).



Before you can use wintvcap you need to install the Hauppauge drivers, make sure they work by checking if wintv2k works. 
Now run the Register.bat file. 
NOTE: If you previously had a different version of wintvcap installed on you system you will need to unregister that first.
You will also need to edit the .ini file if you don't live in the US. Most important 
settings to change before WinTVCap works properly are the country code, inputtype 
and recording path related settings. For more info on the settings in the .ini file 
goto Settings in the .ini file at the end of this document.


This is a command line only application.  Double clicking on it will NOT bring up a GUI for scheduling or manually recording a program.
If you are not comfortable with command line programs check out the Section on schedulers which will handle generating the command 
line arguments for you.  In order to successfully start a recording you MUST include a valid -startr: and either a -c or a -p.  If a recording 
is already taking place it will be stopped and then the new recording will start unless a -board:0 is specified in which case a free capture card is found
so the -stopr option is not required to stop a recording that is already in progress, but is kept for compatibility with existing 3rd party schedulers.

Command line options:
Preset = -p<Preset number or name>
        They map to settings in the WinTVCap.ini file in the [PRESETS] section
        in the form of <Preset number or name> = <channel number
        For example:
Channel = -c<Channel Number>
        Maps to a frequency as described in the DirectX SDK docs.  
        You can add "frequency overrides" to map each channel to an exact frequency.  
        On the SHSPVR Forum There is an article on how to do this or on Microsoft's Site. 
        NOTE: Channel 255 translates to the SVideo input on the card.
              Channel 254 translates to the Composite input on the card
              Channel 253 translates to the SVideo input on the card's white expansion connector.
              Channel 252 translates to the Composite input on the card's white expansion connector.
Start MPEG Recording = -startr:<file name>
        Where file name is the name of the file to record to or the fully qualified path to record to.
        The destination of the file name if a fully qualified path is not provided depends
        on the value of the <StorageMode> key in the WinTVCap.ini file.
        If StorageMode=0 it will attempt to store it in the users "My Documents\My Videos" Directory.
        If StorageMode=1 it will Attempt to store it in the <DefaultDrive>:\<DefaultPath> directory.
        If StorageMode=2 it will attempt to store it in the largest fixed drive that has at least <MinFree> 
        megabytes of free space that is not being stored to by another instance of WinTVCap that contains a
        directory called <Defaultpath>.
        If "###" is in the filename it will change the ### to a number such that it will not over write and existing file.
        NOTE:  The File name must end with ".mpg".

The following options are not required to start a recording

Record for a duration = 
        -limit:<Seconds to record>
        -seconds:<Seconds to record>
                Records for a number of seconds and then exits.
        -minutes:<Minutes to record>
        -extra:<Seconds to record>
               Records for a number of minutes and seconds then exits.
Delay before initializing the capture card = -delay:<Seconds to Delay>
        This will cause WinTVCap to wait a certain amount of seconds 
        before it acquires the board and starts to record.
Exit = -mOff 
        Will always stop an existing recording and then immediately exit regardless of other parameters.
        If this is a Multiple Card system passing a -board: to specify which card to stop.
Stop Recording = -stopr 
        Will stop an existing recording and if a -start: and either a -c or -p is specified it will start a new recording.
        If this is a Multiple Card system passing a -board: to specify which card to stop and use for the new recording.
DigiGuide  = -digiG
         This is used to change any '\/:*<>|' characters in the filename to '_'.
Capture Card = -board:<Card Nummber>
               Used in a Multiple Capture card system.
               You can explicitly select the Capture card you want to use by setting this to a number from 1 to the number of cards in system.
                       Any active Recording on that card will be stopped and the new recording will start.
               You can have WinTVCap use any free capture card in the system by setting this to 0.  
                       If no card is available it will exit without recording.
               Default behavior is to use the first card in the system which is the same as setting this to 1.
                       Any active recording will be stopped and the new recording will start.
               You can find out which cards map to which board numbers by looking in the WinTvCap.log file

Customizing the Recording Quality

Quality = -quality:<profile name>  or -profile:<profile name>
         Where profile name is the section name in the WinTVCap.ini file with the MPEG encoder settings.
         NOTE:  The profile name can not contain " -"  <space><dash>.
Prefilter = -prefilter:<prefilter name>
         Where prefilter name is the section name in the WinTVCap.ini file with the prefilter settings.
         Note:  Prefilter settings are only supported on the PVR-250 and PVR-350 cards.
         NOTE:  The prefilter name can not contain " -"  <space><dash>.
Procamp = -procamp:<procamp name>
         Where procamp name is the section name in the WinTVCap.ini file with the video settings.
         Note: By default WinTvCap will pick one of the three (3) builtin PROCAMP sections depending on the -board: you've chosen.
         You can simply modify one of these sections and it will be used for all the cards of that type in your computer or you may
         create any number of new sections by copying and changing one of the default one.  
         I used to have one called [STARTREK] the jumped up the brightness because I thought the space scenes were too dark.
         NOTE:  The procamp name can not contain " -"  <space><dash>.

Settings in the .ini file

WinTVCap is highly configurable. There are numerous setting to improve or change the quality as 
well as several general options. The default ini is made for use in the US, for usage in a PAL 
country you probably need to change the country code and perhaps the inputtype.
The following categories are available, a more detailed description will follow after the list :
[LOGGING]              Not to difficult to imagine what this does
[SETUP]                 Several setting to fine-tune the country code, record path etc.
[BOARDS]               Mapping from PCI Vendor Id, Device Id, and SubSys values to board type and crossbar route sections
[XBAR.iVac]            Crossbar Pin routing for the PVR-250 and PVR-350 cards
[XBAR.iVac_NH]         Crossbar Pin routing for the PVR-250 and PVR-350 cards without a white expansion connector
[XBAR.Amity2]          Crossbar Pin routing for the PVR-150, PVR-150lp, and PVR-500MCE cards.
[XBAR.Xbar484]         Crossbar Pin routing for the HVR-1600 and HVR-1800 cards
[XBAR.Xbar484_NH]      Crossbar Pin routing for the HVR-1600 and HVR-1800 cards without a white expansion connector
[PRESETS]              Here you can define presets / aliases for certain channel numbers
[PROFILES]             Here you can define your own custom setting for bitrates etc etc
[PROCAMP]              Brightness, Hue, Contrast, Saturation and Sharpness can be set here
[PREFILTER]            Spatial, temporal, etc setting
Detailed explanation of some of the parameters:
No explanation necessary, just change settings from 0 to 1 if you need to log something
CountryCode     : Country code for your country (e.g. 1 for US, 31 for the Netherlands)
InputType      : Select source for the tuner , 0 for Cable, 1 for Antenna (PAL users might 
                  need to set this to 1 even though the source is cable)
StorageMode    : Default location for the recordings,  0 for 'My Documents\My Videos',   1  
                  for 'DefaultDrive:\DefaultPath', 2 for <emptiest drive>:\DefaultPath
DefaultDrive   : Default drive to store recordings if the StorageMode is set to 1. <0=A:,  
                  1=B:, 2=C:, ... 25=Z:>
MinFreeSpace   : Minimum amount of free space (in Mb) required for if StoreMode is  2.
Retries        : Number of seconds to keep trying to find a free board (useful for back-to-
                  back recording with -board:0)
DefaultPath    : Default path to save recordings  
This is a database that maps the PCI device, vendor, and subsystem ID to a board string and more importantly
the crossbar pin routing section in the .ini file.  You should never have to make any changes to this information
unless Hauppage updates their drivers.  In the event a driver is changed and you can find your boards PCI identifying
information then you can add your own mapping line to this section to point WinTvCap to use the correct Crossbar
Pin Routing ini-file section.
Presets can be used so you don't need to remember the channel your favorite station is on.
You can simple add a extra line under the [PRESET] section.
ABC = 34       Here the -pABC will do the same as -c34
1 = 56         Here the -p1 will do the same as -c56
[profiles], [PROCAMP], [PREFILTER]
You can make personalized settings for bitrates, resolutions, sharpness, brightness, volume etc. 
It goes to far to explain all the possible settings, just look in the ini file, use your 
imagination or just try to figure out what’s best.
The way you can add and select these settings is briefly explained in the following lines.
The easiest thing to do is copy the section for which you want to make a new personal one, say a 
new PROCAMP setting and paste it below it. You change the name (in this case [PROCAMP]) to what 
you want (lets say DARK) and then simply change the values to your liking. 
Now if you want to use this setting for your recording you can do say by adding the following parameter :
-procamp:Name (in this case it will be -procamp:DARK)
Likewise for prefilter and profile. Note that the first profile doesn't have [PROFILE] as a name but [DVD].

Tips, Tweaks and Problems:

·                Parameters are case sensitive.

Using with a Scheduler:

There are a number of Schedulers available.
This is a list from the tools section of SHSPVR
CT PVR Scheduler
PVR Advanced Scheduler

Problems or Suggestions:

Please post any problems or feature suggestions to the WinTVCap SHSPVR Forum


WinTVCap SHSPVR Discussion Area


WinTVCap Downloads