VOGONS


VGA Capture Thread

Topic actions

Reply 1320 of 1403, by Kordanor

User metadata
Rank Member
Rank
Member

What kind of PC do you have? Maybe in this case the easiest option would be to get a cheap Graphics card, which got internal ways to compress to DVI. It would lose quality and squish 70Hz to 60 fps, but it can do the job. And the FX geforce cards are cheap to get. But they wont work on older boards (like SS7 oder older)

Reply 1321 of 1403, by Kitty Trouble

User metadata
Rank Newbie
Rank
Newbie

I don’t really want to mess with the internals, right now I’m splitting the vga between my monitor and the converter. The device using windows 11 / OBS is a laptop. The windows 98 machine is a desktop, I just got it so I’d need to look into the details.

Reply 1322 of 1403, by appiah4

User metadata
Rank l33t++
Rank
l33t++

I've had success by using S-Video output and using a USB Capture device to capture that. It's not great, it's not even good, but it works.

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 1323 of 1403, by Kitty Trouble

User metadata
Rank Newbie
Rank
Newbie
appiah4 wrote on 2023-07-12, 14:26:

I've had success by using S-Video output and using a USB Capture device to capture that. It's not great, it's not even good, but it works.

Do you have links to the products you use by chance?

Reply 1324 of 1403, by clb

User metadata
Rank Member
Rank
Member

Slightly going on a tangent, as part of developing CRT Terminator ( https://oummg.com/ and CRT Terminator Digital VGA Feature Card ISA DV1000 ) I have learned this gripe with OBS and Elgato's capture software. They do not support proper input video frame rate matched capture from a HDMI capture source when recording into a file for offline uploading e.g. to YouTube. Even if video input is set to 60hz, and OBS is set to capture 60hz, video frame loss or stuttering will still occur.

There is this kind of laxness around managing video refresh rates in OBS. I would not be surprised if other video capture software have similar issues.

Refresh rates are too commonly understood simplistically as integer values, like "60hz" or "70hz", but the truth is that the video frequencies are never precise integers - and the fact that they aren't is a surprisingly big deal.

If we take the DOS 320x200 Mode 13h as an example, that mode is never an ideal 70.000...hz, but varies depending on the clock chip of the VGA card that is used. For example, when I measure on Trident 8900D, I learned that Mode 13h comes out as 69.799... Hz, and when I measure on a Diamond SpeedSTAR Tseng ET4000AX, it comes out as 70.464... Hz. (On these old cards there is often also a slight variation based on the current uptime, as the clock oscillator heats up, the generated frequency breathes a little bit - but we can assume one has had the VGA card running so that temperature is at equilibrium)

In OBS for example, one can set up capture frame rate as an integer only. So one would set that up as 70hz for these devices.

Then, if recording input from ET4000AX, this means that OBS captures video at 70hz, but ET4000AX produces video at 0.464 hz faster, which will result in an extra frame every 2.155 seconds, which OBS will have to drop.

Or, if recording input from Trident 8900D, it will produce frames 0.201 Hz slower than what OBS expects, which means that OBS will be starved of an input video frame, and will have to repeat an older frame twice every 4.975 seconds.

This will result in this kind of periodic stuttering at even spaced intervals, e.g. 2 seconds, 4 seconds, or something else, which is extremely visible when viewing regularly panning motion, for example in Pinball Fantasies where the camera pans vertically following the ball. The human brain locks on really easily to observe this stutter, and will predict/anticipate this regular stuttering and it can become quite jarring.

CRT Terminator will solve this issue for live HDMI displays by implementing frame rate matching up to a thousandth of a hertz. This means that there will be a lost frame once about every 1/0.001 seconds = ~16 minutes 40 seconds, which will be extremely hard to spot since it is no longer a regular occurrence in panning motion. So if you are playing Pinball Fantasies with CRT Terminator, it will be butter smooth on a live display, as the HDMI display is locked on to display very close to the same refresh rate that the VGA adapter is producing frames at.

It would also be possible to implement proper HDMI video capture that would not lose frames, if OBS enabled a setting like "set project capture frame rate based on video source rate". Then, if one captured e.g. Jazz Jackrabbit from a VGA card running at a hypothetical 60.234 hz, and viewed it on a monitor with a mismatching 59.971 hz refresh rate, a smart player would be able to retarget the video frame rate to match on the fly, that is, by slowing down the video and audio by 60.234 / 59.971 = 0.4385% factor. For video, this would be a trivial no-op process, but audio requires an on-the-fly resampling, which is a very common operation that players already have for 44.1khz/48khz/96khz resampling purposes. The slowdown factor would not be audible, I'd claim not even by people with absolute pitch perception. (a 440hz A note would become a 441.93 hz note, which is about a 1.95 cents increase in pitch. https://music.stackexchange.com/questions/100 … ow-can-musician suggests the limit of human pitch perception is around 5 cents)

If input video was captured at 70hz, then if user is watching the video on a 120hz display or a faster gaming display, like 144hz, 160hz, 240hz, 360hz, it brings a great possibility to mitigate the video frame rate stuttering even if it was not able to program the user's display to run at the DOS 70hz.

I once asked the OBS developers on their Discord about this, and they said that it was not worth doing. That makes me sad 🙁

Not sure if this relates to anything at hand, though just wanted to write down my thoughts around refresh rate somewhere, that was triggered by the observation of capture refresh rates being discussed above. I guess I would be interested in knowing if there might actually exist any video capture software that would be able to do guaranteed frame perfect capture of 60.whatever hz video, and preserve that rate in the generated video file? (e.g. Jazz Jackrabbit or some other Mode-X games, or 640x480 games) That would then enable a video player to deal with the frame rate difference via retargeting+resampling.

Once CRT Terminator becomes available, I hope it will be suitable for speedrunning activities, at it enables different output modes that can customize latency and upscaling tradeoffs (passthrough for less than a scanline worth of latency, and vsync-lockless single-buffered upscaling for <1x frame latency, and triple-buffered vsync-locked upscaling for <2x frame latency)

Reply 1326 of 1403, by Kordanor

User metadata
Rank Member
Rank
Member

if you are a speedrunner and using a CRT due to low latency, thats a whole different can of worms, partially leading to the same issues, requiring a camera which can sync exactly to the Hz of the Monitor, easily costing 500€ and up

Reply 1327 of 1403, by clb

User metadata
Rank Member
Rank
Member

That speedrunning topic makes me curious. If I may ask, which games are you looking to run, and what kind of practices do those games have for measuring time? I.e. do they require frame counting the performances, or do they clock using external stopwatch timers?

Reply 1328 of 1403, by Kitty Trouble

User metadata
Rank Newbie
Rank
Newbie

I plan to speedrun point and click adventure games which tend to not be super precise, we use livesplit to estimate times, but use the video to be more accurate later. I’m not that experience of a speed runner. Typically games have conditions when to start and stop I.e. time starts when you do your first input, ends on your last dialogue choice

Reply 1329 of 1403, by clb

User metadata
Rank Member
Rank
Member

Gotcha, ok, so sounds like it is not like those NES Super Mario Bros speedrunning scenes where each result is precisely frame counted.

In that case, if you are running Mode 13h 320x200 70Hz VGA games, I recommend getting a Diamond SpeedStar 24 ET4000AX which runs the mode at 70.464 hz (going on a naive assumption that every copy of that card would be identical, which they won't be..), which is the fastest that I have seen the 70hz video mode to be clocked at. That will produce +0.63% faster runs on average 😉

Or you could also get a WD90C30-LR adapter, and flip its DIP5 switch to make the Mode13h mode instead run at 88.118hz, for a 88.118/70.316 = +25% faster times.. though that might acquire a quick ban from the community as soon as they see the card is running too fast 😀

On serious terms though, when people are speedrunning on actual hardware, that does mean that since everyone will have a VGA adapter that runs at slightly different refresh rate, then other players will be slightly advantaged against other players, depending on their adapter's refresh rate. The only way to even the playing field would be to frame count the performances, which in turn would require a video capture device that would be guaranteed to not lose frames.

But maybe the scene is not quite that competitive that such precision in measurements would matter, unlike with the SMB games.

Reply 1330 of 1403, by Kitty Trouble

User metadata
Rank Newbie
Rank
Newbie
clb wrote on 2023-07-12, 15:17:
Gotcha, ok, so sounds like it is not like those NES Super Mario Bros speedrunning scenes where each result is precisely frame c […]
Show full quote

Gotcha, ok, so sounds like it is not like those NES Super Mario Bros speedrunning scenes where each result is precisely frame counted.

In that case, if you are running Mode 13h 320x200 70Hz VGA games, I recommend getting a Diamond SpeedStar 24 ET4000AX which runs the mode at 70.464 hz (going on a naive assumption that every copy of that card would be identical, which they won't be..), which is the fastest that I have seen the 70hz video mode to be clocked at. That will produce +0.63% faster runs on average 😉

Or you could also get a WD90C30-LR adapter, and flip its DIP5 switch to make the Mode13h mode instead run at 88.118hz, for a 88.118/70.316 = +25% faster times.. though that might acquire a quick ban from the community as soon as they see the card is running too fast 😀

On serious terms though, when people are speedrunning on actual hardware, that does mean that since everyone will have a VGA adapter that runs at slightly different refresh rate, then other players will be slightly advantaged against other players, depending on their adapter's refresh rate. The only way to even the playing field would be to frame count the performances, which in turn would require a video capture device that would be guaranteed to not lose frames.

But maybe the scene is not quite that competitive that such precision in measurements would matter, unlike with the SMB games.

I’m not that technically inclined on the hardware side of computers. So you are saying that certain games would run faster on certain hardware? Most runners use an emulator. Now I know some games have techs with cpu cycles like kings quest 3 where it’s basically unlimited speed due to how the game is coded, but I don’t know the difference in monitor rates vs how the emulators handle them. But there is an option on the leaderboards to submit runs with native hardware. The community is very small. I don’t see how a capture card would affect the overall run.. I’d be streaming live on twitch, or recording, and what would be recorded would be the same length as the game I’m actually seeing through my win98 machine.

Reply 1331 of 1403, by clb

User metadata
Rank Member
Rank
Member
Kitty Trouble wrote on 2023-07-12, 15:26:

I don’t see how a capture card would affect the overall run..

The video capture card will not generally affect the speed of the run, unless the game community uses frame counting as the measuring method.

Let me try to phrase it another way.

All VGA adapters (even two copies of the same card) have a unique refresh rate +/- something around the ideal 70.000hz that they produce, there is no way to remove this discrepancy between VGA adapters.

a) if real world stopwatch timers are used to measure the performance:
- if player A has a VGA card that runs mode 13h at 69.913hz , and player B has a VGA card that runs mode13h at 70.423 hz, then the game will run 70.423/69.913 = +0.729% faster for player B so they will have a tiny advantage over A. Video capture cards will not affect the resulting times if real world stopwatch timers are used, even if they drop or duplicate frames.

b) if video capture frames are counted to measure the performance, then the difference between VGA adapter refresh rates between players A and B will not matter, but:
b.1. if video capture card capture rate is < VGA adapter capture rate (e.g. video capture card records at 70.000hz, VGA adapter generates video at 70.423 hz), then the capture card will need to periodically drop frames, which will yield an advantage to the resulting performance.
b.2. if video capture card capture rate is > VGA adapter capture rate, (e.g. video capture card records at 70.000hz, VGA adapter generates video at 69.892 hz), then the capture card will periodically have to duplicate frames whenever it is starving. In that case, the player's result will be pessimized, unless there is some way to visually detect and filter out these duplicate frames.

It may be difficult to know whether one is running at scenario b.1 or b.2, since the exact refresh rate of the video capture card and VGA adapter are not readily measurable down to the thousandths of hertzes.

The ultimate fair way to measure the runs would be to count frames (b), and have a video capture card that is able to calculate received frame counts, or to be a lossless capture that matches the input refresh rate, or be able to report the count of duplicated or dropped frames, so that the recording can be adjusted afterwards.

Reply 1332 of 1403, by KoMar

User metadata
Rank Newbie
Rank
Newbie

So just to put more publicity out for VGA240.EXE TSR - it makes cheap HDMI VGA dongles work!

My setup:
- Cablexpert A-VGA-HDMI-01 VGA to HDMI adapter cable, 0.15 m, black - https://cablexpert.com/item.aspx?id=9876
- Sandberg HDMI Capture Link to USB (Chipset: MS2109) - https://sandberg.si/en/product/hdmi-capture-link-to-usb

By default, on my Packard Bell Pentium 133 MHz machine it just captures the BIOS boot screen and goes to rainbow test image afterwards. Obviously it doesn't like low resolutions and/or 70 Hz refresh rate.
But just as I was ready to accept defeat, I stumbled upon this TSR: Re: VGA Capture Thread by @TheGreatCodeholio
And it works great! I tested 80 different DOS games and 99% captured just fine - see my YouTube video (sorry, Slovenian only): https://www.youtube.com/watch?v=dIlF9Tn6_B4

So if you're not picky, don't mind the slow switch between resolutions and can accept 70-to-60 Hz "hack", your program/game just might work!

🍻🍻🍻🍻

Reply 1333 of 1403, by Kordanor

User metadata
Rank Member
Rank
Member
KoMar wrote on 2023-07-26, 08:43:
So just to put more publicity out for VGA240.EXE TSR - it makes cheap HDMI VGA dongles work! […]
Show full quote

So just to put more publicity out for VGA240.EXE TSR - it makes cheap HDMI VGA dongles work!

My setup:
- Cablexpert A-VGA-HDMI-01 VGA to HDMI adapter cable, 0.15 m, black - https://cablexpert.com/item.aspx?id=9876
- Sandberg HDMI Capture Link to USB (Chipset: MS2109) - https://sandberg.si/en/product/hdmi-capture-link-to-usb

By default, on my Packard Bell Pentium 133 MHz machine it just captures the BIOS boot screen and goes to rainbow test image afterwards. Obviously it doesn't like low resolutions and/or 70 Hz refresh rate.
But just as I was ready to accept defeat, I stumbled upon this TSR: Re: VGA Capture Thread by @TheGreatCodeholio
And it works great! I tested 80 different DOS games and 99% captured just fine - see my YouTube video (sorry, Slovenian only): https://www.youtube.com/watch?v=dIlF9Tn6_B4

So if you're not picky, don't mind the slow switch between resolutions and can accept 70-to-60 Hz "hack", your program/game just might work!

🍻🍻🍻🍻

Thanks, I should probably also retest that even though I am using the Datapath. But the issue is, that it can't differentiate between 320x200 and 720x400, which both require different settings. Maybe his "hack" solves the issue.

Reply 1335 of 1403, by darry

User metadata
Rank l33t++
Rank
l33t++
Kordanor wrote on 2023-08-01, 20:25:

Late 2023 the retrotink 4k is supposed to release:
https://www.retrotink.com/post/introducing-the-retrotink-4k

Any thoughts? Anyone going to test?

"Best guidance is to budget $1,000"

That is, unfortunately, too rich for my blood. I do not doubt it will be a great product and that the high cost is unavoidable, but there are many other things I would rather spend that kind of money on.

Reply 1336 of 1403, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

Really? That's what they are telling people to budget? So approximately TEN times the cost of existing OSSC and Retrotink products?

How many people are they expecting to buy one, when it's the cost of a really nice TV or a decent PC?

The shark has just jumped the scaler...

My collection database and technical wiki:
https://www.target-earth.net

Reply 1337 of 1403, by clb

User metadata
Rank Member
Rank
Member

The actual quote without leaving out context is "Best guidance is to budget $1,000 and we hope you will be pleasantly surprised when the actual price is determined."

This reads like they are going for a very expensive and capable FPGA, wanting to achieve whatever dream features were not feasible to pull off with the smaller FPGAs, and they do not have a volume estimate or availability quote from a vendor.

In the gaming industry, triple A games were sometimes aiming for very expensive PCs from the start of a multi-year design, thinking that "by the time we are shipping, the prices will likely have come down to make the game available to a wide audience". Maybe they are hoping for something like that happening.

Reply 1338 of 1403, by Joseph_Joestar

User metadata
Rank l33t
Rank
l33t
megatron-uk wrote on 2023-08-06, 07:21:

Really? That's what they are telling people to budget? So approximately TEN times the cost of existing OSSC and Retrotink products?

How many people are they expecting to buy one, when it's the cost of a really nice TV or a decent PC?

For that feature set, assuming they fully deliver on their promise, I might be willing to pay a premium. The reason being, this single device would cover all of my retro console scaling needs, as well as provide a nice option to scale DOS PC games to modern displays. That said, I'll be waiting on very detailed reviews before I even think about laying down that amount of cash. If all the boxes that I care about are ticked, I may consider getting one.

Personally, I prefer gaming on CRT displays when possible. I currently have a 29" Sony Trinitron TV with SCART input for my retro consoles, and a 17" Samsung CRT monitor for my retro PCs. At the same time, I realize that these are finite resources and that they will get worn out through use and eventually break down. Having the option to use modern LCD displays with a nice selection of scaling and filtering options would make for a decent, long-term alternative.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy2
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 1339 of 1403, by darry

User metadata
Rank l33t++
Rank
l33t++
clb wrote on 2023-08-06, 07:30:

The actual quote without leaving out context is "Best guidance is to budget $1,000 and we hope you will be pleasantly surprised when the actual price is determined."

This reads like they are going for a very expensive and capable FPGA, wanting to achieve whatever dream features were not feasible to pull off with the smaller FPGAs, and they do not have a volume estimate or availability quote from a vendor.

In the gaming industry, triple A games were sometimes aiming for very expensive PCs from the start of a multi-year design, thinking that "by the time we are shipping, the prices will likely have come down to make the game available to a wide audience". Maybe they are hoping for something like that happening.

Yeah, I guess the 1,000$ is a worst case scenario and I should have quoted more of the context.

That being said, I would guess that most people who expect to buy the product for 1,000$ would be pleasantly surprised by an 850$ actual price point, as an example. If it ends up being 400$, for example, those people would be even happier.
Admittedly, the price may also go down over time after the launch, if the FPGA used becomes more affordable.

In the end however, if they say 1,000$ (as an upper limit), I am not going to hold my breath that it will likely be much cheaper. If it is, great, we all like good news/surprises. If not, I won't have set myself up to be disappointed (about potentially being able to afford it).

Either way, I hope it sells well and makes many people very happy,