VGA video capture: does it meet our standards?
Ken Gracey
Posts: 7,390
in Propeller 2
Hey there,
As we start to post more Quick Bytes with VGA, TV and HDMI output I'd like to be able to capture the video, so I've got a hardware device set up for this purpose. Once I verify the VGA renders properly on a monitor, I plug the VGA cable into the VGA=>USB capture device and grab the video with OBS.
I made a test with the P2 Quick Byte DVI/VGA Text Driver:
https://www.parallax.com/dvi-vga-text-driver-demo/
I have a different capture device for TV and HDMI, but I think the process on my end will be similar.
I'd like to know if people find the VGA capture quality acceptable, or not.
Thanks,
Ken Gracey
Comments
It's okay for this, but nitpicking...
There seems to be some chroma subsampling going on. Make sure the source's format is set to some form of RGB (if possible)
Set the source's scaling filter to Area
Not very important for this one, but always make sure the aspect ratio is correct
Perhaps high resolution text is not the best example of what your capture card can really offer and you are at the mercy of the rescaling and youtube compression on top, made worse when things are changing fast on the screen. Some of the darker colours seem rather dim/unreadable though, which looks weird. Different gamma settings perhaps.
That's what I was looking for, @Wuerfel_21. I was using all default, so I'll apply the settings as you suggested and post a [better] video tomorrow -- and ask you to get another look.
@rogloh, I think she identified the problems.
Will report back to the video capture technicians tomorrow with better results.
Ken Gracey
Why Area instead of Point?
More discussion: https://obsproject.com/forum/threads/new-scale-filtering-mode-area-averaging.77590/
The issue of the differing shield thickness with Point is likely from the horizontal scaling ratio of 5.1445:1. Area looks less sharp to me. If the source can be upsampled by an integer factor like 2:1, Point should be better.
If the 1080p RGB could be 2:1 upscaled to 2160p that might help counteract any downsampling that youtube does. This might need to be done after capture.
Also, don't use subpixel rendering when streaming or taking screenshots. That is a PC issue that doesn't apply to the P2.
When scaling at an integer ratio, I am fairly certain that Area gives the same result as Point.
My OBS doesn't look quite the same as @Wuerfel_21's version, but I am able to configure the key items: an output resolution that matches the capture, 60 fps, but the RGB setting is not accessible (greyed out).
I thought I'd be able to post a new, improved version today but that didn't work out. The educational stuff kept me busy, and will do so at an increasing level until I have to vaporize from P2 Live Forums for a bit in April. I should be able to post a new version on Wednesday, before the P2 Live Forum.
Thanks for the help. It saves me a lot of time.
Ken Gracey
I'm back, hopefully with improved results. I've made another capture with 60 fps, RGB, matching output resolution, as described above by @Wuerfel_21.
Here is the ORIGINAL video:
Here is the NEW video:
Please tell me if you see any improvements, and whether or not it's good enough [for me to move on, and for inclusion in Quick Bytes, etc]. I notice an improvement in the color (more vibrant) and sharpness.
Thanks,
Ken Gracey
Still not quite perfect, but it's a bit improved. Then again, there's only so much you can see in that footage. We kinda need a video test suite for P2.
OK, well this says a lot since you've set a high bar for the video requirements. I'll roll with the settings I've got and now move on to composite video capture.
Did your P2 goodies arrive yet?
Ken Gracey
What you got there? IMO the only device I've found to be actually good (as opposed to "acceptable" and "terrible terrible aaa burn it" that I experience with USB capture dongles) at it is my old TV tuner card.
Oh yes, meant to write you about that. Will do soon
One weird effect in the new capture can be seen in the final example at the end with the slow scrolling text of the character set. The newer video seems to display the text in big chunks at a time as if it is capturing less frames, while the original video is very smooth in comparison.
What happened there I wonder? More compression and frames thrown away? Both videos report the same codec in the stats for nerds popup. My player is not reportedly not dropping any frames on this end either according to that information, so it could be on the encoder side. Does anyone else see that effect too?
I was just assuming it was supposed to be like that. If that's the capture frame rate, that's no good.
@"Ken Gracey" give the VJET example a try, it pushes silky smooth graphics at 60 FPS. It'd be easy to notice that not being smooth.
What capture device are you using? Some have video compression built-in that you can't disable.
Note: I have not actually used any of the following, they're just links based on some research.
You might be able to use something like https://www.bhphotovideo.com/c/product/1335718-REG/magewell_32080_usb_3_0_dongle_1_channel.html/overview for all input types, though I don't know what compression it may/may not do.
https://www.bhphotovideo.com/c/product/1281032-REG/blackmagic_design_bdlkminirec4k_decklink_mini_recorder_4k.html is a better-known brand-name in the professional world, so you may have better luck with it, even with a VGA->HDMI converter.
Ken,
What you're trying to show in that video is quite hires text which is not easy. Yes, it's blurred, worse in some sections.
But it is fine, We don't want massive downloads either to play video.
IMHO, it is fine for now so yes move on. You have so much more on your plate! You can always improve as time goes on.
Looking at some frame captures, the first looks sharper IMO. The second video is shifted by about 1 pixel only on the right side compared to the first. I don't know it this is an issue with the scaling or the capture clock.
The ideal setup would be a parallel to HDMI converter ran to a HDMI capture device.
This reminded me of another tip: Don't overload your system. Since there were dropped frames at 60 fps, switch it back to 30.
My media player gave this error:
"[vp9 @ 0x7f467959dc20]The deprecated avcodec_decode_* API cannot return all the frames for this decoder. Some frames will be dropped. Update your code to the new decoding API to fix this."
But that does not seem to be the source of the dropped frames because I checked the h264. It's the same.
I haven't used OBS. Would "Scale Filtering: Disable" work well here?