Digitizing VGA? (take 2)
urgent asks: "In March of 2002, Ask Slashdot ran this article, wherein advice on 'hardware to digitize the VGA output of a PC' was sought. Most of the responses seemed to assume that remote administration of PC's/servers was the end goal. If you've got control of the software and/or hardware, it's pretty clear there are easier solutions for that. On the other had, there are many legacy and embedded systems where it would be nice to monitor and record display output. For instance, integrating old computerized factory equipment into a SCADA system, or recording old embedded maritime and medical displays (hint: jobs). My dream hardware would be a dongle that connected to a VGA out and could be polled over ethernet or CAN."
Ok, now I won't be able to help you (as much as you'd want, at least), but let's try...
1 - A VGA signalis actually 3 signals (RGB) + vsync and hsync signals... That's 5 very high fequency signals...
So, you have a couple of choices...
Using a software in the computer itself, to record its screen...
Using a VGA->composite adapter, ten using a standart video capture card (yeah, yeah, image sucks, but, I mean, it's your idea in the first place...)
I believe direct VGA digitizing does not exist in commercial form. Why? Because it's pretty much useless (sorry about that)
how long until
A VGA signal is very similar to a 480p HDTV signal. 640x480.
You could get an HD capture card, put it in a mini-ITX box, and write an app that captures from that card's video input (x) times a second and displays it on its internal server.
Not quite a "dongle" but same idea...except a little larger.
There's a plenty of VGA to IP boxes out there:
Heres one: It's bacially a 8-port KVM stwith with a built in computer thar does VNC. infor
Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.
By "legacy and embedded systems" you mean, broadcast-flag enabled HDTV devices?
Are pretty close to what you are looking for. Somewhere in the cable or the switchbox the vga output is digitized so you can attach to the kvm switch over the network. The quality is poor, and mouse synch sucks, but that shouldn't be a problem if you just want to record the output.
The client (java) is not open source, so I don't know how you would get access to the video stream, but it's probably possible.
They do make boosters that send a VGA signal long distances over standard ethernet-type cabling (its not over ethernet, per se, it just uses the same Cat5 cable stock). a Google search found many examples such as these ( I have no connections or experience with any of these companies, only a similar interest in connecting a monitor to a server in the other part of my house). A KVM (or hierarchical ganged bank of KVMs) at the monitoring end would let you select the display. The only downside is price, probably $200-$300 per monitored device (depending on distance, quantity, etc.)
Two wrongs don't make a right, but three lefts do.
So really you MUST have compression unless you want to kill the network (and that's assuming you have gigabit) so a simple dongle is out of the question. You are left with KVMs that do this for you (mentioned in another post) and running video over cat5e (not ethernet, it uses the cable) which is also in another post. A simple dongle isn't feasable to run VGA over an Ethernet network.
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
Not if your computer reboots and you need to get into the BIOS screen remotely. We're looking for some solutions ourselves for just that reason. For just recording the VGA output, there are better solutions for that too if you are in control of the hardware/software (Fraps for movies on the PC for instance). For DOS base systems you could write a TSR that polls the text screen buffer. I'm sure you could hack the Linux kernel to do something similar, or write your own program for a Windows system (start out with VNC source code). If you want to write a program to automatically do these things without changing the computer that is doing the output at all, I think zulux's idea would work.
I've been mulling this over myself for quite some time. The limited view would be an FPGA with a little bit of memory working at a known resolution and refresh rate. IBM text mode is typically 720x400. Since the font is fixed, then it may even be fairly straightforward to do ascii text decoding on a per-project level.
My stream would then consist of the initial screen shot, then the FPGA would simply compare each subsequent frame to the last frame sent and only send changes. Same thing for graphics, but the data rate would be much greater. The data coming back would be keyboard scan codes.
The ultimate would be the above hardware, but outputing VNC, and accepting mouse commands back. The resolution would necessary be limited, but for the majority of remote systems high resolution is not critical.
If I only had time and money, I'd have this built with a modem/serial interface, CAN, RS-485, Ethernet, and later develop a cell phone modem interface (extension of serial/modem, but phones are pickier). It would also have controllable power outlets for remote reboots, temperature sensors, and a power outage log.
-Adam
So if such hardware exists (and it could certainly be made), this is yet another obstacle to a "secure" PC. Do other standards for connecting displays have Macrovision-style restrictions? Would Palladium hardware obselete all those monitors?
An ugly solution is to find a VGA to NTSC box and then capture it from there in a video capture card. Backwards way to do it, but you might have the NTSC in card laying around.
Just attach an LCD display and put it on a flatbed scanner...
But seriously, don't LCD's have a built-in ADC? Some time ago I read somewhere that LCD's with analog connectors ought to be more expensive than LCD's with digital connectors (instead of vice-versa) because they need an ADC. OTOH I think the site where I read that was slashdot; I'm not responsbile for any inaccuracies in this post.
This sig under construction. Please check back later.
http://www.realweasel.com/
They have some ISA and PCI -> Serial cards aviable that lets you serial port what would normally be on the screen (text only).
Depending on the legacy system this might be workable.
A few years back I worked with a system in my middle school attached to a microscope system with various cameras.
The equipment was donated, and nobody ever bothered figuring out how it worked. That is, until I came along, and fooled around with it a few months before graduating.
The stuff wasn't new - it wasn't new when it was donated five years earlier. The microscopes and cameras in particular - many of the insturments bore markings "Made in WEST Germany".
Anyhow, back to the point. The cameras were a bit more recent, and outputted their signal in a VGA format in a manner similar to the equipment the poster is talking about.
A PC was also donated to the school along with the microscope. It was newer - a 486/100 (though this was around the time the school began standardizing upon WinME (ugh!)), ran Win 3.11, and had a peculiar hardware device.
It had a highly advanced graphics card for the time, along with another card which appeared to have the ability to input and output one (possibly two.. I forget) VGA signal and process it via. a special software application (which was quite good IIRC, and offered many tools to adjust the images). The card appeared to be made by Matrox. It was capable of capturing individual still frames, and I believe was also able to do a time-lapse recording (a capture every 5 seconds or so), though this wasn't exactly useful for our purposes, and we never used it. Remember, full motion capture was not an option due to the age of the equipment. If you were able to capture at 30fps, the processor would never keep up, and the hard drive would fill up with raw data after about 2 minutes.
I really wish I could have seen the hardware, though that was certainly not an option - the computer was in a solid steel full tower (GIANT!) case, held together with tons of screws. I would get in trouble for taking it apart 'just for a peek'. I returned recently to find that they THREW THE ENTIRE SETUP IN THE TRASH. It was very disappointing, and a great example of the wastefulness of our public education system.
Hope this helps. You might still be able to find the matrox cards somewhere. Look also under RGB capture (many of these devices used 5 BNC plugs for their VGA signal instead of the D-sub connectors we're used to nowindays.
-- If you try to fail and succeed, which have you done? - Uli's moose
There's some nifty console video card adapter on the market for server boxes, that puts a VGA text console on a serial port. It might be useful, if I find more I'll speak up.
There's already things out there that do exactly what you describe for scooping text updates on DOS. BBSes used to use them in 'Doors' applications when playing text-based games online. It'd scoop changes and push them across the serial line.
"People will pay big bucks for the luxury of ignorance."
Check out this project Mindcandy DVD.
This guy digitized a number of classic and influential pc demos for posterity, knowing that the hardware to view them in their original form would be soon difficult to obtain. His problem was how to capture the video and audio from various old systems, have the audio sync up, and then master it for DVD. Not an easy technical feat.
Included on the DVD is a small section where he goes into the details of how he captured some of the more difficult demos. It might be worth watching or getting a hold of the guy.
Also, would it be possible to put a RGB display card in the machine you need to capture on? I used to scan on an old 9000series powermac that was connected to a then expensive 22" RGB display. I dont know the specs of the card or monitor, but it opens up several possibilities, like using a RGB vcr and recording to tape.
thats my $0.02.
I want 2D games back.
I can't think of many other sources that use CANbus for data transfer. I think your best bet is going to be VGA distribution (assuming that you're trying to send the same signal to multiple sources). We did this a few years ago as part of the dashpc project. It's nothing new.
However, if you're trying to multiplex a VGA signal, you're on your own - I don't think there's a definitive method of doing that (yet).
Please note that I'm assuming that my understanding of your question is clear. If not, please feel free to elaborate.
Don't think that a small group of dedicated individuals can't change the world. It's the only thing that ever has.
Foresite Accustream 170 About 2900$ though. I don't work for them and have no experience with the card, but this is what I came up with when trying to google for the old Cybex (now avocent) Keyview II, which had a similar, though much cheaper kind of card.
Isn't it already digital on its way into the video card? Even if the digital stuff going into the video card is just instructions to the video card, would it be possible to tap into the feed from the video card's processor to its digital to analog converter, or is all that sealed up in one chip these days?
I see even classic Slashdot is now pretty much unusable on dial up anymore.
if you want to just grab a vga (or higher resolution for that matter) frame and digitize it it is not too difficult and off the shelf solutions exist. coreco (www.imaging.com) makes several a2d boards that will do this, matrox may be able to help you also (i haven't done anything like this for a while so look around). if you need to grab sequences of frames then bandwidth becomes an issue and you either need to capture to ram for short sequences or you need a raid for larger sequences. good luck.
To me it seems that you want basic a VGA splitting and sharing device independent of the the computer that uses just the VGA signal it selfs and send it from a single source to multiple destinations.
Try these links then.
NTI
QVS
Google, VGA Video Splitter
It's surprising to me that it seems most are talking about client/server apps, streaming, VNC, etc.
Anyway this reminded me of a setup we had in my high school CAD class. The teacher would use something similar for presentations, examples, and to just blank the screens so no one would be playing on the computers while he was lecturing. I can't remember the name of the one used but it was fully addressable allowing any node on the system to become the source and have it sent to any combination of other nodes.
webcam pointed at the screen. use VNC to send the images if you are really lazy. otherwise use any internet webcam software and pick off the images from anywhere. put the images through OCR if the screen just has text output. super cheap.
If you want to build something how about starting with a VGA to DVI converter. At least that gives you the analog portions of the circuit and the ADC. Or if you can stick in a card that has a DVI output.
Maybe THESE may help (especially last item on the page).
On that line, isn't it possible to just write some smart code to use the video signal (off the R G or B signal) to transmit audio signals? I mean, it would take a bit of doing, but it would be like the TI-8x's that were hacked to play sounds through their link ports.
Slashdot is proof that Sturgeon's Law applies to mankind.
It sounds like you need something like one of those security cameras that come with ethernet built-in, but with a vga input instead of the camera.
I found this, but I have no idea if its in your budget.You may be able to hack one of the web enabled cameras to read vga, or put together a small box with a frame grabber from pc/104 parts.