Pixel Perfection - An Introduction to RGB Retro Capture
-
NightSprinter
- Posts: 232
- Joined: Thu May 02, 2013 2:24 pm
Re: Pixel Perfection - An Introduction to RGB Retro Capture
What about setting in the video section for the audio input line to "Link"? I think I've had issues like that on my SC500-N1 card in the past.
-
NightSprinter
- Posts: 232
- Joined: Thu May 02, 2013 2:24 pm
Re: Pixel Perfection - An Introduction to RGB Retro Capture
blizz, here is a good question I never found an answer or solution to: how can one reliably record games that do a lot of resolution switching? I know a handful of games from the Saturn/PS1/N64 era did go to/from 240p/480i a lot. Even some PS2 games (Gradius III & IV) did so. Any suggestions?
-
blizzz
- Posts: 1150
- Joined: Fri Sep 16, 2011 6:19 pm
- Location: Germany
- Contact:
Re: Pixel Perfection - An Introduction to RGB Retro Capture
The easiest way would be to record from a scaler that can handle these transitions well. The other solution is to use a capture device that records both 240p and 480i as 480i and manually cut the footage. But that can be really annoying if there are a lot of resolution changes. You can also use the internal scaling in the SC-500N1 driver to record both 240p / 480i as 480p and edit the files manually. But that's not a perfect solution.
marqs' project (thread) might be great for this task as "quick 240p<->480i switching" is one of his goals.
marqs' project (thread) might be great for this task as "quick 240p<->480i switching" is one of his goals.
-
GetOperational
- Posts: 6
- Joined: Sun Nov 16, 2014 11:45 am
Re: Pixel Perfection - An Introduction to RGB Retro Capture
Hey blizzz, I wanted to say good job on the Pixel Perfection site. Very informative and easy to navigate.
I have developed an interest in lossless capture lately, thought mine is more focused on screencasts, including content that cannot be captured via software methods such as bios screens and the like.
I was wondering if you had any opinion on the Magewell capture hardware, specifically the Magewell XI100DUSB-HDMI (note: their website is super slow).
It's a $300 usb3 dongle they claim can capture 1080p60 rgb24 uncompressed from hdmi. And they have a bunch of other cards with various inputs. What makes it interesting to me is the rgb24 colorspace, uncompressed, and it shows up as a webcam device so it should work on whatever os.
I'm considering purchasing one, am curious about the video quality, but there is very little information out there on these things. I thought I would ask you since you seem to have experience with a wide range of capture devices.
I have developed an interest in lossless capture lately, thought mine is more focused on screencasts, including content that cannot be captured via software methods such as bios screens and the like.
I was wondering if you had any opinion on the Magewell capture hardware, specifically the Magewell XI100DUSB-HDMI (note: their website is super slow).
It's a $300 usb3 dongle they claim can capture 1080p60 rgb24 uncompressed from hdmi. And they have a bunch of other cards with various inputs. What makes it interesting to me is the rgb24 colorspace, uncompressed, and it shows up as a webcam device so it should work on whatever os.
I'm considering purchasing one, am curious about the video quality, but there is very little information out there on these things. I thought I would ask you since you seem to have experience with a wide range of capture devices.
-
blizzz
- Posts: 1150
- Joined: Fri Sep 16, 2011 6:19 pm
- Location: Germany
- Contact:
Re: Pixel Perfection - An Introduction to RGB Retro Capture
The first time I heard about the Magewell devices was last week, after a Streamer installed one. He had some problems at first but seems to be happy with it now. They also claim to work without a driver installation.
They are certainly very interesting, but I'm currently not interested in buying more capture equipment that I don't have a need for. Would love to read some in depth reviews though.
They are certainly very interesting, but I'm currently not interested in buying more capture equipment that I don't have a need for. Would love to read some in depth reviews though.
-
lettuce
- Posts: 1336
- Joined: Wed Jun 22, 2011 7:10 pm
- Location: Bedfordshire, England.
Re: Pixel Perfection - An Introduction to RGB Retro Capture
So the xcapture-1 is still the only device on the market that can do 240p@60fps up to 1080p@60fps??blizzz wrote:The first time I heard about the Magewell devices was last week, after a Streamer installed one. He had some problems at first but seems to be happy with it now. They also claim to work without a driver installation.
They are certainly very interesting, but I'm currently not interested in buying more capture equipment that I don't have a need for. Would love to read some in depth reviews though.
-
blizzz
- Posts: 1150
- Joined: Fri Sep 16, 2011 6:19 pm
- Location: Germany
- Contact:
Re: Pixel Perfection - An Introduction to RGB Retro Capture
The Magewell XI100XE-DVI accepts HDMI up to 1080p60 and analog RGB at "irregular resolutions". But the range only lists 640×400-2048×1536. That's a $899 card btw.
-
Fudoh
- Posts: 13044
- Joined: Mon Mar 06, 2006 3:29 am
- Location: Germany
- Contact:
Re: Pixel Perfection - An Introduction to RGB Retro Capture
does it matter ? What's native 240p capture really good for ? You cannot even upload it to Youtube without having YT mangling the video. 1080p60 capture capability along with a 240p-capable VP is much more convenient.So the xcapture-1 is still the only device on the market that can do 240p@60fps up to 1080p@60fps??
-
lettuce
- Posts: 1336
- Joined: Wed Jun 22, 2011 7:10 pm
- Location: Bedfordshire, England.
Re: Pixel Perfection - An Introduction to RGB Retro Capture
Well yeah if your wanting to capture retro systems and dont have any upscalers to handFudoh wrote:does it matter ? What's native 240p capture really good for ? You cannot even upload it to Youtube without having YT mangling the video. 1080p60 capture capability along with a 240p-capable VP is much more convenient.So the xcapture-1 is still the only device on the market that can do 240p@60fps up to 1080p@60fps??
-
GetOperational
- Posts: 6
- Joined: Sun Nov 16, 2014 11:45 am
Re: Pixel Perfection - An Introduction to RGB Retro Capture
I decided to chance it and ordered the XI100DUSB-HDMI usb3 dongle. I guess I'll find out in a few days if it's the real deal or not.
I've never reviewed anything before but I'm temped to do a short review of this device since there is so little info online. Maybe stick some capture samples on my website.
I'm not sure what the best way is to test capture quality. I may try doing a lossless capture of a machine running an emulator (or whatever) to huffyuv. Then extract a frame from the huffyuv file and compare it to a screenshot taken on the source machine of the same frame. Take the two images and look for color bleeding or color conversion.
Right now the big questions I want to answer:
Does it really work at 1080p60 rgb24 for an extended period?
How lossless is "lossless"?
How does it handle hdcp?
Does it really work without any drivers?
What is the input lag in ms? (probably more relevant for live streamers mixing in extra audio channels than myself. not sure how to measure that one)
I realize this may be of limited interest to many here as this particular model is an hdmi-only device but if anyone has any questions about the hardware or tests they want run on it let me know and I'll do my best to make it happen.
I've never reviewed anything before but I'm temped to do a short review of this device since there is so little info online. Maybe stick some capture samples on my website.
I'm not sure what the best way is to test capture quality. I may try doing a lossless capture of a machine running an emulator (or whatever) to huffyuv. Then extract a frame from the huffyuv file and compare it to a screenshot taken on the source machine of the same frame. Take the two images and look for color bleeding or color conversion.
Right now the big questions I want to answer:
Does it really work at 1080p60 rgb24 for an extended period?
How lossless is "lossless"?
How does it handle hdcp?
Does it really work without any drivers?
What is the input lag in ms? (probably more relevant for live streamers mixing in extra audio channels than myself. not sure how to measure that one)
I realize this may be of limited interest to many here as this particular model is an hdmi-only device but if anyone has any questions about the hardware or tests they want run on it let me know and I'll do my best to make it happen.
-
Fudoh
- Posts: 13044
- Joined: Mon Mar 06, 2006 3:29 am
- Location: Germany
- Contact:
Re: Pixel Perfection - An Introduction to RGB Retro Capture
Happy testing. What's your capture rig ? SSD Raid array ?
Remember that the data rate for losless 1080p60 in RGB is 460MB per second. I'm wondering if any USB3 chipset these days does fully support this.
Remember that the data rate for losless 1080p60 in RGB is 460MB per second. I'm wondering if any USB3 chipset these days does fully support this.
-
blizzz
- Posts: 1150
- Joined: Fri Sep 16, 2011 6:19 pm
- Location: Germany
- Contact:
Re: Pixel Perfection - An Introduction to RGB Retro Capture
Hard to say if USB3 is fast enough. There are people who don't get enough speed for 1080p60 with the AverMedia ExtremeCap U3. 1080p 60fps RGB24 would be pushing USB3 to its limits. But luckily it's not a huge problem to store the data. Most new high end SSDs can write more than 500MB/s sequentially. A Samsung 840 EVO 1TB should be fast enough and only costs 350€. Though it could only store a bit more than half an hour of uncompressed footage. But honestly it doesn't really matter, you will encode 1080p60 with x264 anyway. At that point it also doesn't matter if it was RGB24 or YUY2 before the compression.
To test if the card truly supports RGB24 you could use a PC with an AMD GPU and record some test patterns. Other interesting tests are how it handles full range vs limited range RGB, how much it taxes your CPU, if it can record non-standard refresh rates etc. Input lag should be low enough for streaming purposes. Only the devices with on board encoder have a bigger delay. The most important test would be the compatibility with other programs.
To test if the card truly supports RGB24 you could use a PC with an AMD GPU and record some test patterns. Other interesting tests are how it handles full range vs limited range RGB, how much it taxes your CPU, if it can record non-standard refresh rates etc. Input lag should be low enough for streaming purposes. Only the devices with on board encoder have a bigger delay. The most important test would be the compatibility with other programs.
-
Fudoh
- Posts: 13044
- Joined: Mon Mar 06, 2006 3:29 am
- Location: Germany
- Contact:
Re: Pixel Perfection - An Introduction to RGB Retro Capture
many people don't set it up the right way. When initializing the drive you need to increase the block size. If you let Windows choose the standard block size, you get I/O troubles eventually and the drive won't be able to sustain such high writing rates for a longer period of time.Most new high end SSDs can write more than 500MB/s sequentially. A Samsung 840 EVO 1TB should be fast enough and only costs 350€
-
Sixfortyfive
- Posts: 212
- Joined: Mon Sep 17, 2007 6:31 am
Re: Pixel Perfection - An Introduction to RGB Retro Capture
I always forget whether it's best to set the cluster size to half, equal, or double the stripe size, too.
I'd also assume that it'd be best to hook up an external HDD via SATA instead of USB if you're also capturing through USB at the same time.
I'd also assume that it'd be best to hook up an external HDD via SATA instead of USB if you're also capturing through USB at the same time.
-
GetOperational
- Posts: 6
- Joined: Sun Nov 16, 2014 11:45 am
Re: Pixel Perfection - An Introduction to RGB Retro Capture
My main desktop has a MSI Z77A-G45 motherboard and a Intel Core i5-3570K cpu. (both about 2y old).Fudoh wrote:Happy testing. What's your capture rig ? SSD Raid array ?
Remember that the data rate for losless 1080p60 in RGB is 460MB per second. I'm wondering if any USB3 chipset these days does fully support this.
Storage is a 512GB samsung 840 pro ssd. I benchmarked it once after I put it together, I forget the exact numbers but the write speeds were around 510MB/s.
While the cpu isn't super fast I think it will be up to the task. I run linux mint on this machine and when I have done screencast recordings before it's been using ffmpeg and x11grab. When I do 1080p60 either to h.264 "lossless_ultrafast" with yuv444, or huffy with rgb24 each of the 4 cores gets pegged at around 60-80%. I've also got a couple amd machines in the closet.
As you say it will likely come down to the usb3 controller.
-
GetOperational
- Posts: 6
- Joined: Sun Nov 16, 2014 11:45 am
Re: Pixel Perfection - An Introduction to RGB Retro Capture
I have been playing around with the Magewell dongle for a few days now. The short version is: it does appear to live up to the claims.
I ran into a few time consuming problems along the way, however I can't fault the dongle for any of them. Most of the issues revolved around almost every codec, video editor, and capture software wanting to use yuv422 or yuv420 by default. If you are determined to do everything in rgb24 from start to finish it can be done, but it may take some time to find the correct path.
A couple examples:
In Windows I tried both virtualdub and a specific old version of obs that claimed rgb support. Both would subsample to yuv. After doing some reading I discovered virtualdub's rgb support is mostly fake and obs was still subsampling to yuv. Some of this was probably my own inexperience with Windows capture, I might have been able to get rgb to work in obs or another program but I haven't spent the time.
In Linux the device would show that it had two color modes, yuv and " ", but the blank entry couldn't be detected as rgb. I emailed Magewell and surprisingly they responded rather quickly. Apparently there is a bug in the Linux uvc driver (usb video class, aka webcam drivers included in Linux). A friend of mine compiled a custom kernel with the fixes from Magewell and now the rgb option was detected correctly. (As a sidenote he is seeing if this fix can be ported upstream so no one else will have to deal with this in the future).
what I have tested so far:
(no drivers?) as the documentation states you don't need any drivers, this proved true in Windows and Linux. I didn't test OSX but it should work the same.
(compression?) captured frames do appear to be pixel-perfect. Analyzing individual frames and screenshots from the source and the captured video I have not been able to detect any processing.
(colors?) similar to above, when capturing in rgb (device actually captures bgr24, whatever) I cannot detect any difference between source and capture.
(hdcp?) the dongle appears to obey hdcp, meaning if you capture a hdcp source you get a black screen. If you use a good splitter it works.
(usb bandwidth?) back of the napkin math for 1080p60 rgb24 is (1920*1080*60*24)/8= 373.25 MB/s, plus 48khz stereo pcm audio and you're close to 375 MB/s. Theoretical max for usb3 is 625 MB/s, a more realistic max after taking overhead into account is 400 MB/s. I tested with an old crappy renesas/nec usb3 controller and the results were predictably bad (dropped frames). Then with a 2-year old intel controller which seemed fine, I imagine the fancy asmedia ones would work as well.
(storage?) as you can see above if you were capturing raw frames and everything was working to the max you would need 375 MB/s. During my captures I was doing realtime lossless compression to huffyuv with ffmpeg which typically averaged around 167 MB/s or 10 GB/min.
not yet tested:
audio - I haven't tried anything audio related, documentation says it does pcm stereo.
weird resolutions and framerates - everything I have tried so far has been 1080p60.
scaling/deinterlacing - If you capture from a different resolution than the source the dongle will scale it, if it's interlaced it will deinterlace, if there are black borders it will crop them, I haven't tested any of these features.
extended captures - I would like to run a half-hour capture at some point to verify everything is stable over an extended period of time and you don't get audio drift or increased frame dropping over time.
So far I am pleased with the device and the response from Magewell.
If anyone has any specific questions or a test they want run I will try to accommodate. I plan to put together a little page on my site with example ffmpeg capture and conversion strings for those who might want to save some time traveling down the lossless rgb path, along with sample images from the device.
I ran into a few time consuming problems along the way, however I can't fault the dongle for any of them. Most of the issues revolved around almost every codec, video editor, and capture software wanting to use yuv422 or yuv420 by default. If you are determined to do everything in rgb24 from start to finish it can be done, but it may take some time to find the correct path.
A couple examples:
In Windows I tried both virtualdub and a specific old version of obs that claimed rgb support. Both would subsample to yuv. After doing some reading I discovered virtualdub's rgb support is mostly fake and obs was still subsampling to yuv. Some of this was probably my own inexperience with Windows capture, I might have been able to get rgb to work in obs or another program but I haven't spent the time.
In Linux the device would show that it had two color modes, yuv and " ", but the blank entry couldn't be detected as rgb. I emailed Magewell and surprisingly they responded rather quickly. Apparently there is a bug in the Linux uvc driver (usb video class, aka webcam drivers included in Linux). A friend of mine compiled a custom kernel with the fixes from Magewell and now the rgb option was detected correctly. (As a sidenote he is seeing if this fix can be ported upstream so no one else will have to deal with this in the future).
what I have tested so far:
(no drivers?) as the documentation states you don't need any drivers, this proved true in Windows and Linux. I didn't test OSX but it should work the same.
(compression?) captured frames do appear to be pixel-perfect. Analyzing individual frames and screenshots from the source and the captured video I have not been able to detect any processing.
(colors?) similar to above, when capturing in rgb (device actually captures bgr24, whatever) I cannot detect any difference between source and capture.
(hdcp?) the dongle appears to obey hdcp, meaning if you capture a hdcp source you get a black screen. If you use a good splitter it works.
(usb bandwidth?) back of the napkin math for 1080p60 rgb24 is (1920*1080*60*24)/8= 373.25 MB/s, plus 48khz stereo pcm audio and you're close to 375 MB/s. Theoretical max for usb3 is 625 MB/s, a more realistic max after taking overhead into account is 400 MB/s. I tested with an old crappy renesas/nec usb3 controller and the results were predictably bad (dropped frames). Then with a 2-year old intel controller which seemed fine, I imagine the fancy asmedia ones would work as well.
(storage?) as you can see above if you were capturing raw frames and everything was working to the max you would need 375 MB/s. During my captures I was doing realtime lossless compression to huffyuv with ffmpeg which typically averaged around 167 MB/s or 10 GB/min.
not yet tested:
audio - I haven't tried anything audio related, documentation says it does pcm stereo.
weird resolutions and framerates - everything I have tried so far has been 1080p60.
scaling/deinterlacing - If you capture from a different resolution than the source the dongle will scale it, if it's interlaced it will deinterlace, if there are black borders it will crop them, I haven't tested any of these features.
extended captures - I would like to run a half-hour capture at some point to verify everything is stable over an extended period of time and you don't get audio drift or increased frame dropping over time.
So far I am pleased with the device and the response from Magewell.
If anyone has any specific questions or a test they want run I will try to accommodate. I plan to put together a little page on my site with example ffmpeg capture and conversion strings for those who might want to save some time traveling down the lossless rgb path, along with sample images from the device.
-
blizzz
- Posts: 1150
- Joined: Fri Sep 16, 2011 6:19 pm
- Location: Germany
- Contact:
Re: Pixel Perfection - An Introduction to RGB Retro Capture
Very interesting, thanks for the report! Instead of Huffy you should try x264vfw. I have done 4:4:4 RGB encodes with x264 in the past and I remember that there were several problems, but it worked in the end. The current version of x264vfw has an keep RGB option, so that should be easier now.
I hope that we will get an affordable device that can record 1080p60 and multi-channel PCM in the not so distant future. Now that 1080p60 is common the next big feature should be surround sound, but there's still little support for it on online services
I hope that we will get an affordable device that can record 1080p60 and multi-channel PCM in the not so distant future. Now that 1080p60 is common the next big feature should be surround sound, but there's still little support for it on online services
-
GetOperational
- Posts: 6
- Joined: Sun Nov 16, 2014 11:45 am
Re: Pixel Perfection - An Introduction to RGB Retro Capture
Like you, I tried to do rgb x264 encoding a while back when I read it was possible. I ran into a lot of problems and basically gave up once I saw how easy huffyuv was in comparison. I'm sure the compression is much better in x264, maybe it's time I give it another go and see if some of the glitches have been ironed out.blizzz wrote:Very interesting, thanks for the report! Instead of Huffy you should try x264vfw. I have done 4:4:4 RGB encodes with x264 in the past and I remember that there were several problems, but it worked in the end. The current version of x264vfw has an keep RGB option, so that should be easier now.
I hope that we will get an affordable device that can record 1080p60 and multi-channel PCM in the not so distant future. Now that 1080p60 is common the next big feature should be surround sound, but there's still little support for it on online services
Multi-channel audio would be cool, I wonder how they could do it. If the source was outputting a dts stream for example you would either need to have the device split/process it in some way (licensing issues?) or just pass it through raw and let the software on the host computer capture it, I'm guessing the software side of things are somewhat underdeveloped in that area.
As you say, that may be the last piece of the "perfect" puzzle if we already have resolution/framerate/color handled.
-
Ed Oscuro
- Posts: 18654
- Joined: Thu Dec 08, 2005 4:13 pm
- Location: uoıʇɐɹnƃıɟuoɔ ɯǝʇsʎs
Re: Pixel Perfection - An Introduction to RGB Retro Capture
Anybody dabbled in HEVC yet?
-
GetOperational
- Posts: 6
- Joined: Sun Nov 16, 2014 11:45 am
Re: Pixel Perfection - An Introduction to RGB Retro Capture
It's tough to test h.265 when it's not broadly supported (which I guess is a chicken-egg thing when it comes to adoption).Ed Oscuro wrote:Anybody dabbled in HEVC yet?
This should get better in the near future as handbrake added support for it a week ago and the upcoming vlc will also support it.
-
blizzz
- Posts: 1150
- Joined: Fri Sep 16, 2011 6:19 pm
- Location: Germany
- Contact:
Re: Pixel Perfection - An Introduction to RGB Retro Capture
I did a small test with x265 on Monday. I encoded the opening cinematic of Game of Thrones (1:54 min) in 720p with both x264 and x265 in Handbrake on a i5-2500K @4.0GHz. I used the slow preset and crf 20 for both.
x264: 2 min, 67 MB, 14% CPU utilization at playback
x265: 10 min, 39 MB, 16% CPU utilization at playback
Can't really say anything about the subjective quality, but I'm pleasantly surprised that the playback in MPC-HC works flawlessly. The only downside is that storage is cheaper and growing faster than CPU power. So it might still be better to use x264 unless you only have 1TB storage for all your movies. x265 is not yet ready to use, but it's getting along nicely.
x264: 2 min, 67 MB, 14% CPU utilization at playback
x265: 10 min, 39 MB, 16% CPU utilization at playback
Can't really say anything about the subjective quality, but I'm pleasantly surprised that the playback in MPC-HC works flawlessly. The only downside is that storage is cheaper and growing faster than CPU power. So it might still be better to use x264 unless you only have 1TB storage for all your movies. x265 is not yet ready to use, but it's getting along nicely.
Support for 7.1 LPCM would be enough. That's easy to record and there are no licensing problems.GetOperational wrote:Multi-channel audio would be cool, I wonder how they could do it.