VideoHelp Forum
+ Reply to Thread
Results 1 to 18 of 18
Thread
  1. Hi. I am using all this lockdown time to finally get around to ripping some VHS tapes to digital formats. I have had some trials and tribulations. Below is my story, for anyone that is interested, where I also lay out everything I have found. But the ultimate point of this thread is to get uncompressed full resolution video from this my card, the Hauppauge HVR-2200. I have used this card for TV capture in my HTPC for many years, so I know it's a good card. However, it has been sitting in a box for a couple of years...

    DRIVER DIFFICULTIES
    So I put it into my old gaming PC, and installed the drivers I had used previously (7_9_1_30192), hooked up a dvd player via composite cable (as a test, will really be using vhs), fired up a version of VirtualDub I had, tried to capture from the card, but it kept giving me errors - something about a driver error. I tried a few different flavours of VirtualDub, also a couple of other programs including "Virtual VCR" and "Debut Video Capture Software" and "VLC", but none worked. I then installed the latest driver (7_9_1_34216), but nothing changed. I then went to install Hauppauge WinTV 10, and at the start of the installer it had an option to install drivers, which I used, and then the card started working! I didn't even go through with installing the WinTV program. So I don't know if there is something else that the WinTV installer installed, or if it did some other tweak, but my card was capturing with all the aforementioned programs. I did find a post somewhere that said you need to have a signal on the cable when booting the PC/card, for it to enable/work. I don't know if that was the problem, or is true.

    HVR-2200 DIFFERENCES
    So a lot of what I find on the internet is regarding the HVR-2250. The 2200 is similar, NTSC vs PAL being the obvious difference (I am in Australia); but that is not the only difference. On the back of the card there are still 4 connectors total. Un-importantly, the 2 aerial connectors (one TV, one FM) suit our usual connectors, which are physically different to what I have seen on the 2250. But importantly, the 3rd socket is for analogue video capture, and is a 4 pin S-Video connector, but you can also use the supplied adapter to connect a Composite cable. It does not do audio on this port. The 4th port is a 3.5mm jack for audio, not for the remote. I don't know if these are because my unit did not have the repeater/blaster (actually I can't remember if it did. I definitely had a remote that I used on my HTPC, but it had a USB sensor, and I'm not 100% sure if it came bundled with the capture card or not), but there is no "breakout cable" like I see for the HVR-2250.
    Anyway, I'm not sure how relevant that is, because I was prodding around in the drivers inf files, and it covers the following 3 models/family of cards;
    Hauppauge WinTV-HVR-2200 models 89xxx (Wiltshire)
    Hauppauge WinTV-HVR-2250 models 88xxx (Halesite)
    Hauppauge WinTV-HVR-22xx models 151xxx (Halesite2)
    CAPTURE RESOLUTION with VirtualDub
    This is the main problem I have been tackling. Here is how the device appears in VirtualDub, which is basically the same as it appears in all the other programs I mentioned.

    The device has what seems to be the typical label of "Hauppauge WinTV-7164 Analog Capture (DirectShow)".


    The capture pin screen only has 1 color space options (YUY2), and 1 output resolution of 352x288.


    The capture filter screen has basically no options.


    The crossbar settings are interesting, and will be referred to later. #2 and #3 show the picture, but #5 and #6 do not. I reckon #5 and #6 relate to the onboard connectors that apparently can be used to connect more physical connectors, for swapping between devices. Not sure why #0 appears, as this doesn't relate to the tuner.


    So yer, not happy about the 352x288 resolution. Looking this resolution up on the internet, the wikipedia page for "Common Intermediate Format" (CIF) (https://en.wikipedia.org/wiki/Common_Intermediate_Format) talks about it, and also refers to it was "Source Input Format" (SIF), and labels the format as "CIF/SIF(625)". The page also says "[CIF] is a standardized format for the picture resolution, frame rate, color space, and color subsampling of digital video sequences used in video teleconferencing systems. It was first defined in the H.261 standard in 1988." and "In contrast to the CIF compromise that originated with the H.261 standard, there are two variants of the SIF (Source Input Format) that was first defined in the MPEG-1 standard." So now I am wondering if the card only outputs MPEG encoded analogue video at this resolution, which some posts on the internet certainly imply. This is no good!

    CAPTURE RESOLUTION with GraphEdit
    So I jumped into GraphEdit, and dropped in the following "Video Capture Source" (there were 2 with the same name...). It is the top box. But also note the other things related to the card, that I don't know about.


    The properties on the filter are much the same as seen in VirtualDub. NO better resolution options are available.


    The first pin "Renders" as expected. It also has the same properties as seen in VirtualDub.


    Regarding the other pins, the audio ones are irrelevant to me right now. I believe the VBI pin is related to caption information, so also irrelevant. The final "Analog ITU Video" pin I am unsure about. It neither "renders", nor can a properties window be displayed. Interestingly, I found a screenshot of the HVR-2250 in GraphEdit from about 2009/2010, and it only had the final 3 pins, and the ITU Video pin also did not render. So, I guess the first 2 pins were "exposed" by drivers later in the cards life?

    CAPTURE RESOLUTION with ffmpeg
    Moving on, I found some forum that was discussing getting different video feeds from webcams using ffmpeg. So, I gave it a go. First I got the devices (only relevant ones shown);
    Code:
    .\ffmpeg.exe -f dshow -list_devices true -i dummy
    [dshow @ 00000175d58286c0] DirectShow video devices (some may be both video and audio devices)
    [dshow @ 00000175d58286c0] "Hauppauge WinTV-7164 Analog Capture"
    [dshow @ 00000175d58286c0] Alternative name "@device_pnp_\\?\pci#ven_1131&dev_7164&subsys_8980 0070&rev_81#4&393f474&0&0020#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bd5b5aea-2141-48a8-8758-f0cf5e0bc800}"
    [dshow @ 00000175d58286c0] "Hauppauge WinTV-7164 Analog Capture"
    [dshow @ 00000175d58286c0] Alternative name "@device_pnp_\\?\pci#ven_1131&dev_7164&subsys_8980 0070&rev_81#4&393f474&0&0020#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bd5b5aea-2141-48a8-8758-f0cf5e0bc801}"
    Then I got the options for the device with the following;
    Code:
    .\ffmpeg.exe -f dshow -list_options true -i video="Hauppauge WinTV-7164 Analog Capture"
    [dshow @ 000001f9b6ca86c0] DirectShow video device options (from video devices)
    [dshow @ 000001f9b6ca86c0] Pin "~Capture" (alternative pin name "0")
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=720x576 fps=25 max s=720x576 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=720x480 fps=25 max s=720x480 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=640x480 fps=25 max s=640x480 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=352x288 fps=25 max s=352x288 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=352x240 fps=25 max s=352x240 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=720x352 fps=25 max s=720x352 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=704x576 fps=25 max s=704x576 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=704x480 fps=25 max s=704x480 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=704x512 fps=25 max s=704x512 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=624x256 fps=25 max s=624x256 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=624x240 fps=25 max s=624x240 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=544x480 fps=25 max s=544x480 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=544x384 fps=25 max s=544x384 fps=29.97
    [dshow @ 000001f9b6ca86c0] pixel_format=yuyv422 min s=352x256 fps=25 max s=352x256 fps=29.97
    [dshow @ 000001f9b6ca86c0] Pin "~Audio" (alternative pin name "1")
    [dshow @ 000001f9b6ca86c0] Pin "I2S Audio" (alternative pin name "3")
    [dshow @ 000001f9b6ca86c0] Crossbar Switching Information for Hauppauge WinTV-7164 Analog Capture:
    [dshow @ 000001f9b6ca86c0] Crossbar Output pin 0: "Video Decoder" related output pin: 1 current input pin: 2 compatible input pins: 0 2 3 5 6
    [dshow @ 000001f9b6ca86c0] Crossbar Output pin 1: "Audio Decoder" related output pin: 0 current input pin: -1 compatible input pins: 1 4 7
    [dshow @ 000001f9b6ca86c0] Crossbar Input pin 0 - "Video Tuner" related input pin: 1
    [dshow @ 000001f9b6ca86c0] Crossbar Input pin 1 - "Audio Tuner" related input pin: 0
    [dshow @ 000001f9b6ca86c0] Crossbar Input pin 2 - "Video Composite" related input pin: 4
    [dshow @ 000001f9b6ca86c0] Crossbar Input pin 3 - "S-Video" related input pin: 4
    [dshow @ 000001f9b6ca86c0] Crossbar Input pin 4 - "Audio Line" related input pin: 3
    [dshow @ 000001f9b6ca86c0] Crossbar Input pin 5 - "Video Composite" related input pin: 7
    [dshow @ 000001f9b6ca86c0] Crossbar Input pin 6 - "S-Video" related input pin: 7
    [dshow @ 000001f9b6ca86c0] Crossbar Input pin 7 - "Audio Line" related input pin: 6
    And wow, that's good news. Look at all those pixel formats! And I also notice that crossbar pins line up with the ones that appeared in VirtualDub, which means this should be a good report.

    Now there are obviously 2 devices with the same name, so I can't be certain which exact device the above options relate to. So I ran the above command twice more, but this time using the alternative names, which are exact. Here are the commands;
    Code:
    .\ffmpeg.exe -f dshow -list_options true -i video="@device_pnp_\\?\pci#ven_1131&dev_7164&subsys_89800070&rev_81#4&393f474&0&0020#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bd5b5aea-2141-48a8-8758-f0cf5e0bc800}"
    Code:
    .\ffmpeg.exe -f dshow -list_options true -i video="@device_pnp_\\?\pci#ven_1131&dev_7164&subsys_89800070&rev_81#4&393f474&0&0020#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bd5b5aea-2141-48a8-8758-f0cf5e0bc801}"
    I won't bother pasting the full output, because it is basically identical. The only thing that changes is the dshow@id prefix, and the line the says "Crossbar switching for...". Here are those 2 lines to outline the differences, FYI;

    [dshow @ 0000027821968840] Crossbar Switching Information for @device_pnp_\\?\pci#ven_1131&dev_7164&subsys_89800 070&rev_81#4&393f474&0&0020#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bd5b5aea-2141-48a8-8758-f0cf5e0bc800}:
    [dshow @ 00000226612c8840] Crossbar Switching Information for @device_pnp_\\?\pci#ven_1131&dev_7164&subsys_89800 070&rev_81#4&393f474&0&0020#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bd5b5aea-2141-48a8-8758-f0cf5e0bc801}:
    So referring to the particular device with the alt-name works, and is probably the legit way to do it. So I put this information to work, and did a capture using the following ffmpeg command;
    Code:
    .\ffmpeg.exe -f dshow -video_size 720x576 -framerate 25 -pixel_format yuyv422 -i video="Hauppauge WinTV-7164 Analog Capture" S:\out-test.avi
    And success! As ffmpeg was capturing, it reported the input was uncompressed video, as you would hope! Here is a screenshot. Note the buffer error that I haven't looked into yet.


    When I put in the following command, it reports the following for the video;
    Code:
    .\ffmpeg.exe -f dshow -i video="Hauppauge WinTV-7164 Analog Capture" S:\out-test.avi
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 352x288, 25 fps, 25 tbr, 10000k tbn, 10000k tbc
    So that defaulted back to the CIF/SIF size, but it still says 'rawvideo'. Now I wonder if it was always returning raw video, and there was just something wrong with the dialogues in VirtualDub etc? Interestingly, I went back to Debut, because I remembered it had lots of format options, but they were all the same size. Check this out;


    I counted, 14 options in Debut, and 14 reported by ffmpeg. So, something must be falling down in the drivers or similar that is preventing these options from coming through to programs like VirtualDub and GraphEdit. Very interesting...

    Unfortunately, I have NFI how to fix that. As I said, with my limited knowledge, I poked around in the driver files to no success. I even ran a few searches in my PC registry, but found nothing.

    USING IT...
    So now, I am nearly able to rip with this card. Unfortunately, I can't connect VirtualDub and ffmpeg to it at the same time, so I don't know how to monitor the progress of my rips. Maybe I can watch the file with VLC? Or can I fork the feed with GraphEdit? My tapes are mini VHS from home camera, so I could always just let them play start to end. However, I would like to receive some advice from the pro's on how best to proceed, given the above info. Will it be possible to fix the issue of formats in programs? That would be ideal, for me and anyone else in the future who happens to use this card.
    Image Attached Thumbnails Click image for larger version

Name:	vdub-1-device.jpg
Views:	1608
Size:	78.3 KB
ID:	52629  

    Click image for larger version

Name:	vdub-2-caputure_pin.jpg
Views:	1211
Size:	75.6 KB
ID:	52630  

    Click image for larger version

Name:	vdub-3-caputure_filter.jpg
Views:	1214
Size:	47.7 KB
ID:	52631  

    Click image for larger version

Name:	vdub-4-crossbar.jpg
Views:	1239
Size:	116.6 KB
ID:	52632  

    Click image for larger version

Name:	graphedit-1-filters.jpg
Views:	1276
Size:	165.1 KB
ID:	52633  

    Click image for larger version

Name:	graphedit-2-filter_properties.jpg
Views:	1254
Size:	104.6 KB
ID:	52634  

    Click image for larger version

Name:	graphedit-3-capture_pin_properties.jpg
Views:	1247
Size:	97.8 KB
ID:	52635  

    Click image for larger version

Name:	ffmpeg-1.jpg
Views:	1206
Size:	150.5 KB
ID:	52636  

    Click image for larger version

Name:	debut-options.jpg
Views:	1217
Size:	140.3 KB
ID:	52637  

    Last edited by neRok; 7th Apr 2020 at 08:08.
    Quote Quote  
  2. Formerly 'vaporeon800' Brad's Avatar
    Join Date
    Apr 2001
    Location
    Vancouver, Canada
    Search PM
    Try dumping the Analog ITU Video pin straight to a .bin file in GraphEdit. If it lets you record, grab a few seconds of your DVD player source and attach it here.

    Try installing WinTV. Maybe you can set a different resolution there, which might carry over to the DirectShow default.
    My YouTube channel with little clips: vhs-decode, comparing TBC, etc.
    Quote Quote  
  3. Unfortunately I can't install any version of WinTV, as I don't have the original CD anymore, so I don't have a license or anything. And I can't find a crack or keygen online.

    Regarding the ITU pin, I'm not sure how to write it out to the bin file. I tried to hook it up to "DirectShow Filters > File writer", but it wouldn't connect. I tried to hook it up to null renderer, but it wouldn't connect. The null renderer would connect to the "~Capture" pin.

    I went searching for "Analog ITU Video" and found a thread on another forum regarding the HVR-2250: https://yabb.jriver.com/interact/index.php?topic=62362.0
    Where the user provided a "Filter Graph Info (TV graph)", which happened to include the following (partial quote);

    Filter 'Hauppauge WinTV-7164 MPEG2 PS Encoder/Mux'
    CLSID: {17CCA71B-ECD7-11D0-B908-00A0C9223196}
    Host: ksproxy.ax
    Output Pin 'MPEG2 PS'
    Connected to pin 'MPEG-2 Stream' of filter 'MPEG-2 Demultiplexer'
    Major type MEDIATYPE_Stream Sub type MEDIASUBTYPE_MPEG2_PROGRAM, Format type Unknown GUID Name: {E06D8022-DB46-11CF-B4D1-00805F6CBBEA}
    Input Pin 'I2S Audio'
    Connected to pin 'I2S Audio' of filter 'Hauppauge WinTV-7164 Analog Capture'
    Major type MEDIATYPE_AnalogAudio Sub type MEDIASUBTYPE_None, Format type FORMAT_None
    Input Pin 'Analog ITU Video'
    Connected to pin 'Analog ITU Video' of filter 'Hauppauge WinTV-7164 Analog Capture'
    Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_None, Format type FORMAT_None

    Filter 'Hauppauge WinTV-7164 Analog Capture'
    CLSID: {17CCA71B-ECD7-11D0-B908-00A0C9223196}
    Host: ksproxy.ax
    Output Pin '~Capture'
    Output Pin '~Audio'
    Output Pin 'VBI'
    Output Pin 'I2S Audio'
    Connected to pin 'I2S Audio' of filter 'Hauppauge WinTV-7164 MPEG2 PS Encoder/Mux'
    Major type MEDIATYPE_AnalogAudio Sub type MEDIASUBTYPE_None, Format type FORMAT_None
    Output Pin 'Analog ITU Video'
    Connected to pin 'Analog ITU Video' of filter 'Hauppauge WinTV-7164 MPEG2 PS Encoder/Mux'
    Major type MEDIATYPE_Video Sub type MEDIASUBTYPE_None, Format type FORMAT_None
    So that got me thinking that I need to find that filter and connect to it, which I managed to do. I also found the crossbar filter. Here is what I found in GraphEdit;
    Image
    [Attachment 52645 - Click to enlarge]

    But within that properties box, you cannot change the "Video Format", nor the "Profile", except to another PS option. The same occurs on the "TS Encorder" filter, you cant change format, and can only choose a TS profile.

    Any more suggestions?
    Last edited by neRok; 7th Apr 2020 at 22:27.
    Quote Quote  
  4. Formerly 'vaporeon800' Brad's Avatar
    Join Date
    Apr 2001
    Location
    Vancouver, Canada
    Search PM
    Oh. I didn't realize that WinTV is payware. They sell codes on their site for $13 or €13 (depending on which domain you visit), but I understand that you wouldn't want to pay that if you have no interest in MPEG-2 capture and no guarantee that it will help with AVI capture.

    Do you have an old Windows XP machine that can fit the card? It's possible the XP drivers could have a different config. I own many capture devices with better XP drivers than 64-bit Vista-onwards drivers.

    Do you have any way of feeding an NTSC source for testing? The LinuxTV page says that the Linux driver only works for NTSC, although maybe that's an old note. Perhaps Hauppauge, being American, didn't implement every feature for PAL. On the other hand, you were able to capture 720x576 using ffmpeg, correct?

    I used to have a DVD player (Philips DVP642) I bought here in Canada that could be forced to PAL mode using a remote sequence found online. I also have a WD TV Live whose composite output can be set to either NTSC or PAL. Maybe you have an NTSC game console. Just some ideas.
    My YouTube channel with little clips: vhs-decode, comparing TBC, etc.
    Quote Quote  
  5. I can (just did) set the dvd player to ntsc, but when I play my dvd, it reverts to pal. So I can only see the menu as ntsc, which does get detected automatically by the properties boxes in GraphEdit, but the resolution options stay the same.
    Image
    [Attachment 52646 - Click to enlarge]


    Re ffmpeg, yes I did 3 small captures with it in 720x576, 704x576, and 352x288 resolutions. This was with exact command I posted above, which didnt have any compression set for the output (so it defaulted to whatever mpeg-4 settings ffmpeg desired). All 3 reported raw video input, as above. The smaller 2 didn't have the buffer error. The bigger 2 had some white lines appear in the capture though. Here is a screenshot of one of them;
    Image
    [Attachment 52647 - Click to enlarge]


    Re the linux drivers, when I first got this card (2009 or 2010), I dabbled with Linux and MythTV, and I'm pretty sure I got it capturing TV back then.

    I could get a suitable XP machine running, but I would rather not. I actually do have a running XP machine, but it doesn't have PCI-E. It does however have an ATI 9600XT GPU with the rage theater chipset It's my fall-back. It's just so slow and clunky, I would rather get this hauppauge card working properly.
    Quote Quote  
  6. Well I thought I should be thorough at my investigations, so I set up an XP machine. Check out how the capture card barely squeezes in between the GPU heatsink, the mobo heatsink, and how it presses on that capacitor! :S All the slots below the GPU were PCI.
    Image
    [Attachment 52648 - Click to enlarge]


    I also took a picture of the rear panel whilst I was at it, for proof;
    Image
    [Attachment 52649 - Click to enlarge]


    I used Win XP SP3 32bit "final" disc I had laying with all updates inlined from 2013, installed gpu and chipset drivers, and disabled the other devices like audio and lan (CBF installing). I installed the "original" working driver that I mentioned earlier, and everything appeared to be working (didn't actually test). Check out the screenshot below. Notice it doesn't have the ~Capture pin at all, like I eluded to in my first post. This must be a rather new driver feature - post 2012 at least.
    Image
    [Attachment 52650 - Click to enlarge]


    So I installed the latest "stand-alone" driver from their website - 34216 - which installed, but the device wouldn't run. It had an exclamation next to it in device manager, saying driver corrupt or similar. I wiped the drivers with the HWClear tool from the first lot of drivers, installed again, and it was still broken. It seems these drivers from their website are broken!

    So I thought I would do my trick of installing WinTV 10, but it needs an internet connection to run the installer. OMG, so much effort. So I installed that, which needed .NET 4.0 now too, but it eventually got there. And it fixed the driver issue. And I just noticed as I was doing the screenshot below, it is a new driver version too - 34313. That explains why WinTV 10 is the secret sauce! Here is the glorious result;
    Image
    [Attachment 52652 - Click to enlarge]


    So good call Brad, you were right. The "ActiveMovie Window" was rendering on my screen, it just wouldn't save in the screenshot - but note it's size was 720x576. I had to connect the crossbar to get it to work, because it didn't default to any input pin. Also note that only some of the resolution options came through. It is strange how not all did though. Something else must be at work here...

    But there are other differences in this setup other than XP, and any of them may be responsible;
    First, on the PC I was originally using - a Win 10 x64 PC - I was using GraphEdit x64. But on the 32bit XP machine, I was using the 32bit GraphEdit. So maybe using 32bit GraphEdit is the answer?
    Second, when I right clicked > render pin on the XP machine, it fed the ~Capture pin directly to the Video Renderer filter. However, looking at the screenshots above, it put an AVI Decompressor filter in between. Maybe that is causing the issue?
    Lastly, even though I did install the WinTV 10 drivers on my newer PC, I'm not 100% sure that they are actually getting used by the device. So I might do a driver flush and reinstall, and see if that helps.

    Will report back in due time.

    Edit: Rebooted the XP machine to test theory #2, and have made a discovery. When using the AVI Decompressor filter, it shows and lets you select the other resolutions, but when you apply it says "The format is not currently available". So it must be that filter forcing the other filter to output 352x288. Note, I can select either "352x288 (default)" or "352x288" options in the dropdown.
    Edit2: Tried connecting a few different things to the output, and each does different things. For example, the compressor "Cinepak Codec by Radius" put the "AVI Decompressor" in between, and then only allowed 720x576 resolution to be used. Strange.
    Last edited by neRok; 8th Apr 2020 at 06:02.
    Quote Quote  
  7. Formerly 'vaporeon800' Brad's Avatar
    Join Date
    Apr 2001
    Location
    Vancouver, Canada
    Search PM
    In VirtualDub, can you change to any of the missing ones using Video -> Set custom format?
    My YouTube channel with little clips: vhs-decode, comparing TBC, etc.
    Quote Quote  
  8. Tried on the XP machine, and could not.

    I thought I would run the ffmpeg query on the XP machine, but that was another rabbit hole of problems. Modern 32bit versions of ffmpeg don't work on XP due to missing DLL's, so I had to find some custom builds, which I got from here: https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=6930

    Here's the output;

    ffmpeg version N-96249-g81172b5-Reino Copyright (c) 2000-2020 the FFmpeg developers
    built with gcc 9.2.0 (GCC)
    configuration: --arch=x86 --target-os=mingw32 --cross-prefix=/cygdrive/m/ffmpeg-windows-build-helpers-master/ffmpeg_lo
    cal_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32- --pkg-config=pkg-config --pkg-config-flags=--sta
    tic --extra-version=Reino --enable-gray --enable-version3 --disable-debug --disable-doc --disable-htmlpages --disable-ma
    npages --disable-podpages --disable-txtpages --disable-w32threads --enable-avisynth --enable-frei0r --enable-filter=frei
    0r --enable-gmp --enable-gpl --enable-libaom --enable-libass --enable-libfdk-aac --enable-libflite --enable-libfontconfi
    g --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libmp3lame --enable-libopenmpt --enable-libopus --en
    able-libsoxr --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 -
    -enable-libxml2 --enable-mbedtls --extra-cflags='-march=pentium3' --extra-cflags='-mtune=athlon-xp' --extra-cflags=-O2 -
    -extra-cflags='-mfpmath=sse' --extra-cflags=-msse --enable-static --disable-shared --prefix=/cygdrive/m/ffmpeg-windows-b
    uild-helpers-master/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/i686-w64-mingw32
    libavutil 56. 38.100 / 56. 38.100
    libavcodec 58. 65.102 / 58. 65.102
    libavformat 58. 35.101 / 58. 35.101
    libavdevice 58. 9.102 / 58. 9.102
    libavfilter 7. 70.101 / 7. 70.101
    libswscale 5. 6.100 / 5. 6.100
    libswresample 3. 6.100 / 3. 6.100
    libpostproc 55. 6.100 / 55. 6.100
    [dshow @ 04de8e80] DirectShow video device options (from video devices)
    [dshow @ 04de8e80] Pin "~Capture" (alternative pin name "0")
    [dshow @ 04de8e80] pixel_format=yuyv422 min s=720x576 fps=25 max s=720x576 fps=29.97
    [dshow @ 04de8e80] pixel_format=yuyv422 min s=720x480 fps=25 max s=720x480 fps=29.97
    [dshow @ 04de8e80] pixel_format=yuyv422 min s=640x480 fps=25 max s=640x480 fps=29.97
    [dshow @ 04de8e80] pixel_format=yuyv422 min s=352x288 fps=25 max s=352x288 fps=29.97
    [dshow @ 04de8e80] pixel_format=yuyv422 min s=352x240 fps=25 max s=352x240 fps=29.97
    [dshow @ 04de8e80] pixel_format=yuyv422 min s=720x352 fps=25 max s=720x352 fps=29.97
    [dshow @ 04de8e80] pixel_format=yuyv422 min s=704x576 fps=25 max s=704x576 fps=29.97
    [dshow @ 04de8e80] Pin "~Audio" (alternative pin name "1")
    [dshow @ 04de8e80] Pin "I2S Audio" (alternative pin name "3")
    [dshow @ 04de8e80] Crossbar Switching Information for Hauppauge WinTV-7164 Analog Capture:
    [dshow @ 04de8e80] Crossbar Output pin 0: "Video Decoder" related output pin: 1 current input pin: 2 compatible input pins: 0 2 3 4 6
    [dshow @ 04de8e80] Crossbar Output pin 1: "Audio Decoder" related output pin: 0 current input pin: 1 compatible input pins: 1 5
    [dshow @ 04de8e80] Crossbar Input pin 0 - "Video Tuner" related input pin: 1
    [dshow @ 04de8e80] Crossbar Input pin 1 - "Audio Tuner" related input pin: 0
    [dshow @ 04de8e80] Crossbar Input pin 2 - "Video Composite" related input pin: 5
    [dshow @ 04de8e80] Crossbar Input pin 3 - "S-Video" related input pin: 5
    [dshow @ 04de8e80] Crossbar Input pin 4 - "Video Composite" related input pin: 5
    [dshow @ 04de8e80] Crossbar Input pin 5 - "Audio Line" related input pin: 4
    [dshow @ 04de8e80] Crossbar Input pin 6 - "S-Video" related input pin: 0
    So, those formats aren't even present. I'm going to switch the card back to the Win10 machine and do some tests now.
    Quote Quote  
  9. So the Win10 machine was running 34216, even after the WinTV10 "install". I then tried to manually set the size in VirtualDub, and it worked, for all sizes in the first post! Except, not all of them showed a picture (mostly the unusual sizes didn't).

    Next I tried 32bit GraphEdit, which was no different.

    Then I changed the driver to 30192 (in device manager I could just pick a different driver from a list), but there were no differences in graphedit or with the ffmpeg query.

    So now I went on the hunt for the mysterious 34313 driver, and I discovered a lot in the progress. I eventually found it at this link: https://drp.su/en/hwids/PCI%5CVEN_1131%26DEV_7164%26SUBSYS_88000070
    That link is for a nearly 40mb zip file, and it seems to contain ALL of the latest Hauppauge drivers (as of 2019), for all their devices on all Windows versions! It comes with an installer exe, and uninstaller (the hcwclear.exe I mentioned previously).
    The HVR-22xx drivers are regularly called "driver89" and "hcw89", so that must be their internal device number (89). That's important to mention, because drivers with number 34313 exist for other Hauppauge devices.
    So I opened the file driver inf files and found;
    "hcw89.inf" had version "11/08/2016,7.9.1.34313"
    "hcw89_64.inf" had version "08/03/2016,7.9.1.34216"
    So that explains that - the 64bit drivers didn't get updated. And you can't install the 32bit drivers on the 64bit system - I tried.

    Now in the process of doing the above, I completely borked my driver install. Even after flushes and driver re-installs, the device would no longer capture. In GraphEdit, the filter only had the 3 output pins like in the first screenshot I took from XP. I had to do the WinTV10 reinstall method again, and then it started working. But then I realised what the problem most likely was - the crossbar wasn't configured. Doh! I'm betting that if the crossbar was configured correctly, the ~Capture pin would have appeared. And this was most likely the drama I had at the start of the first post - unconfigured crossbar. The WinTV10 installer must have some additional routines within it to get the crossbar working.

    So yer, I think I've reached the end of the road with regards to what I can do. It seems like it will do a clean capture with VirtualDub and a custom format, so that's what I'll do.
    Quote Quote  
  10. Hi,

    Late reply and for anyone who comes here but I want to give some of my own notes when using this card for capturing NTSC VHS tapes.

    Specs: Windows 10 20H2, Virtualdub 64-bit 1.10.4, Wintv-hvr-2250
    VCR is connected to the card through the composite (RCA) breakout cable

    I first also tried the driver from the support page for this product but Virtualdub would report "failed to build filter graph" capture pin. I wanted to try their WinTV app to see if it was a Virtualdub error but I noticed, as you did, it updates the drivers on install. You can stop the installation when it asks for a software key.

    Once I restarted Windows Virtualdub was able to switch to the device for capture but under "capture pin" only 352x288 was shown.
    Image
    [Attachment 57808 - Click to enlarge]


    However if you go to set custom format you can manually select up to 720x576.
    Image
    [Attachment 57809 - Click to enlarge]


    I ran a lossless capture test (UTvideo) between 352x288 and 720x576 and the interlacing effect was finer in the higher resolution capture which in turn made the image clearer.
    Here's a small part of the background from screenshots of each. The capture was lossless but you can see how much detail is lost. What I don't really understand is that NTSC VHS is supposed to be equivalent to around 240 lines of resolution but the 720x576 capture looks better. Maybe this is due to the interlacing effect being more prominent with the lower resolution capture.
    Image
    [Attachment 57812 - Click to enlarge]


    Some other notes about this card:
    - I disabled the decomb and noise reduction in video->capture filter because I want to store an archive lossless copy then deinterlace/ apply noise reduction later
    I also assumed their decomb and noise reduction wouldn't be that great

    - There were some timing settings that had to be adjusted to avoid drop frames and audio pitch problems. Screenshot from the capture->timing menu
    Image
    [Attachment 57811 - Click to enlarge]
    Quote Quote  
  11. Capturing Memories dellsam34's Avatar
    Join Date
    Jan 2016
    Location
    Member Since 2005, Re-joined in 2016
    Search PM
    What is the capture cards' native resolution? If its indeed 288 and it's just doubling the lines that's no good, I would stay away from such card.
    Quote Quote  
  12. So it seems the resolution it's set to use by default is 352x288. I'm sure with 720x576 I'm exceeding the maximum detail from the VHS tape and I'm certainly above the 480 visible video lines for NTSC. Having said that there's a clear quality difference both before and after deinterlacing.

    I often see a bunch of posts about capturing NTSC VHS at around 240~ and maybe I don't really understand this but since you are getting both fields interweaved shouldn't you capture at 2 times the assumed maximum ntsc-vhs meaningful lines?
    Quote Quote  
  13. NTSC video has a active picture of 485 discreet horizontal scan lines. PAL video has an active picture of 576 discreet horizontal scan lines. You always want to capture every line. That's 576 lines for PAL, and usually 480 lines for NTSC (a few lines are left out).

    When a video engineer says VHS has a resolution of 240 lines they are talking about horizontal resolution. And that 240 lines is across a width of the screen equal to the height of the screen (ie a 3:3 portion of the screen, not the full 3:4 screen). So the full width of the VHS picture has a resolution of about 320 lines. The international standard is to capture 704 pixels across the active picture (this is a slight simplification) plus a little extra at the left and right in case the picture is slightly off center -- a total of 720 pixels.

    So you should capture NTSC video as 720x480, PAL video as 720x576. Then you work from there with any processing you want to apply.
    Quote Quote  
  14. One last question,

    The default PAR is .9 if I change to another AR like 720x480 then resize to 640x480 do I need to compensate for the original PAR?
    Quote Quote  
  15. By resizing (the active picture portion of the frame) to 640x480 you are compensating for the original PAR and creating square pixels. The PAR is now 1:1.
    Quote Quote  
  16. Member
    Join Date
    May 2022
    Location
    Ohio
    Search Comp PM
    I know this thread is a year old, but wanted to comment on capturing from Hauppauge cards using FFmpeg using dshow under Windows O/S. I came across this post during several attempts of trying to get the correct FFmpeg dshow incantations for my specific card when attempting to capture raw video from the Windows' proprietary SAA7134 chip driver, as the Linux SAA7134 driver only provides the transport streams. I also failed to get the device URL method to work, unlike the original poster succeeded.

    The Hauppauge cards atypically provide a compressed combined audio/video TS stream, so the FFmpeg dshow video/audio devices will be identical as previously mentioned. (Somebody provided a patch to FFmpeg for working around the standard requiring two separate audio/video inputs.)

    My Hauppauge PCIe card, a Hauppauge 2250 (eg. Philips SAA7164 chip) has both, DVB and analog tuner/composite/s-video capabilities. The FFmpeg dshow documentation is a little vague, and easy to forget the requirement to specify the exact inputs to capture from, else users will only get video or audio, and not both or nothing at times. The below is an example of choosing the correct audio pin number and the video pin number of the composite inputs of the first tuner on the card. These numbers are acquired by using the dshow "-list_options true" option documented below.

    c:\ ffmpeg -f dshow -list_options true -i video="Hauppauge WinTV-7164 Analog Capture"

    c:\ ffmpeg -f dshow -crossbar_audio_input_pin_number 5 -crossbar_video_input_pin_number 2 -i video="Hauppauge WinTV-7164 Analog Capture":audio="Hauppauge WinTV-7164 Analog Capture" -c copy test.yuv

    Yea! Now I can get raw video yuyv422 from the device!

    So far, these Hauppauge 2250 PCIe cards are getting great analog recordings via the composite/s-video inputs from VCR VHS tapes, even the frames with picture tearing/stretching are smooth and detailed with no need of a TBC! Very few frame drops! As others have previously mentioned, best to leave the comb and noise filter options at defaults, enabled comb and disabled noise reduction respectively. At most, adjust the processor amp brightness option only when needed and sometimes the contrast. Do not waste time trying to adjust the color options unless a color test card is included within the videos, or other red/white/blue flags/colors are readily distinguished, and one has plenty of time to waste. Common to capture raw or best method, and post process in software.

    Again, posting this for users trying to use Hauppauge 2250's with FFmpeg dshow filter and stumbling upon this thread via Google searches. Doubtful FFmpeg will update their documentation or website with clarified examples any time soon.
    Quote Quote  
  17. Member
    Join Date
    Aug 2006
    Location
    United States
    Search Comp PM
    Originally Posted by rogerx View Post
    My Hauppauge PCIe card, a Hauppauge 2250 (eg. Philips SAA7164 chip) has both, DVB and analog tuner/composite/s-video capabilities.
    One small correction: The Hauppauge WinTV 2250 (I have one) is manufactured for use in N. America and for that reason has ATSC tuners for digital TV instead of DVB tuners. Interesting to read about using one for VHS capture.
    Ignore list: hello_hello, tried, TechLord, Snoopy329
    Quote Quote  
  18. Member
    Join Date
    May 2022
    Location
    Ohio
    Search Comp PM
    Correction on video container, else users may obtain a non-playable video using ".yuv" suffix.

    Use a proper AVI video container:
    c:\ ffmpeg -f dshow -crossbar_audio_input_pin_number 5 -crossbar_video_input_pin_number 2 -i video="Hauppauge WinTV-7164 Analog Capture":audio="Hauppauge WinTV-7164 Analog Capture" -c copy test.avi

    Example of using huffyuv lossless compression:
    c:\ ffmpeg -f dshow -crossbar_audio_input_pin_number 5 -crossbar_video_input_pin_number 2 -i video="Hauppauge WinTV-7164 Analog Capture":audio="Hauppauge WinTV-7164 Analog Capture" -vcodec huffyuv -acodec copy test.avi
    Quote Quote  



Similar Threads

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