Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Graphics Software Hardware

Digitizing VGA? (take 2) 49

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."
This discussion has been archived. No new comments can be posted.

Digitizing VGA? (take 2)

Comments Filter:
  • 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 commercia
    • Re:First Post... (Score:4, Interesting)

      by pauldy ( 100083 ) on Wednesday February 04, 2004 @03:43AM (#8177934) Homepage
      LCD monitors do this. There are KVMs that do this. Don't forget that two of those signals are simply trigers and not data that must be captured. The other two break very nicley into 3 8 bit streams. They run at about 300Kbytes per frame or 18000Kbytes per second at VGA uncompressed 60hz. Using a microcontroler this data can be piped directly into an mpeg encoder chip like the one Tivo uses form IBM which could compress that down to a manageable size with little effort. The stream should be able to be distributed with relative ease using a microcontroler with a built in ethernet controler like the tini from dallas. The end result would be a very small device that was relativly inexpensive that did the job he was looking for while being very dongle like. It would also have the ability to distribute it via a controler area network if need be.
    • actually, the vsync and hsync are just pulses. Only a small portion would need to be digitized.

      It'd probably be a LOT easier to get a VGA -> vid signal adapter, then use a tv in card or something similar. maybe switch between input signals to get more than one display (at a reduced framerate) like is done on many of the multi camera security systems.
  • 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.
  • Already been done (Score:4, Informative)

    by zulux ( 112259 ) on Tuesday February 03, 2004 @08:04PM (#8175503) Homepage Journal


    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 [digitalv6.com]

  • You mean... (Score:3, Funny)

    by Tom7 ( 102298 ) on Tuesday February 03, 2004 @08:07PM (#8175530) Homepage Journal
    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 [google.com] found many examples such as these [kvm-switches-online.com] ( 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, pro
    • by moosesocks ( 264553 ) on Tuesday February 03, 2004 @09:50PM (#8176236) Homepage
      These are good for extending the output of the devices, but in the end, all you end up is the same monitor connected to a really long cable.

      Remember... CAT5 DOES NOT IMPLY TCP/IP. I cannot emphasize this enough. If you plug one of these extenders into a switch, you will probably destroy both the switch and extender. They use cat5 simply because it is cheap and universally availible.
      • More to the point, Cat5 != Ethernet != TCP/IP. Remember the NSI model:
        • Physical layer: Basically if it exists in meatspace, it's part of the Physical Layer. This would include Cat5 cable and any kind of interface card/dongle/whatever.
        • Data link layer: this is the protocol defining how the signal is sent over the physical layer. 100baseTX is a common Data Link protocol; KVM over Cat5 use their own propriatary Data Link protocols. Hubs and switches work at the DL layer.
        • Network layer: The IP part of T
  • by MBCook ( 132727 ) <foobarsoft@foobarsoft.com> on Tuesday February 03, 2004 @08:30PM (#8175698) Homepage
    I'd be worried about the bandwidth. For a VGA sized screen (640x480) at 60hz with 8bit color you're looking at about 18 megabytes per second. If you want 24 bit color, it's about 55 megabytes per second. 1024x768x24x60 is about 1135 megabytes. Remember that 10baseT is 1.25 megabytes per second, 100baseT is 12.5, and 1000baseT is 125, so even 8 bit VGA needs gigabit ethernet.

    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.

    • Well, I dont think the poster really mentioned needing 60Hz.

      Thinking like an engineer, I'd assume in many environments something as low as 5 Hz would suffice. Even less!

    • Bandwidth is not an issue, if you take into account that you transmit only changes or/and use lower refresh rate. A text-based monocrome (or 16-color) text output does not need much of bandwidth if you encode it smart.

      If you need full-color, high framerate display then you should use M-JPEG or MPEG compression.

  • If you've got control of the software and/or hardware, it's pretty clear there are easier solutions for that.

    Not if your computer reboots and you need to get into the BIOS screen remotely. We're looking for some solutions [kvm-switches-online.com] 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

    • 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.
    • I may be off base, but for what you're wanting (although not the original poster) I'd think you could just burn an EEPROM with a custom program quite similar to the DOS TSR's you describe and stick it on just about any network card with an empty socket on it.

      I'd think polling the screen for changes and providing a way to push keys would be about all the code you'd need on that level. If you want remote access over a network, you'd need to use the EEPROM for what it was meant for as well - to boot off a ne

  • 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, b
    • or rather than using the 5 billion cell fpga to do all that you could look into a microcontroler with an adc, mpeg encoder chip, and a couple meg of memory for around 200-300 bucks. The tini dev board from dallas semiconductor is around 100. IBMs mpeg encoder chip is around 50. The decoder chip for the vga signal would run you around 50-100. Plus some misc parts and you would have everything you rlooking for there and no one would have to tie their brain in a knot trying to do VHDL.
  • "Analog" hole (Score:3, Insightful)

    by BillyBlaze ( 746775 ) <tomfelker@gmail.com> on Tuesday February 03, 2004 @08:37PM (#8175758)
    Monitor outputs have no DRM.

    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?

    • 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.
  • 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.
  • LCD? (Score:3, Funny)

    by vrt3 ( 62368 ) on Tuesday February 03, 2004 @09:32PM (#8176125) Homepage
    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.
  • 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.
    • That's not what he wants. He wants to be able to capture anything that's coming out of the VGA port. This just emulates a video card & keyboard for PCs that can't use a serial port as the console like many non-x86 servers and workstations.

      Cool devices and killer logo, though.

  • 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
    • by Anonymous Coward
      That was probably a matrox meteor - or there are a couple other models the names of which I've forgotten. A good place to find them would be the clinical imaging department of your local hospital. At least at the hopital I work at, there are these old pc's with these cards hooked up to ancient medical imaging equipment. Most hospitals are moving to PACS systems and throwing these old kludges out. Try to find a guy who fixes the various modalities and ask em to keep an eye out for you. A bribe would pro
  • 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.
  • This may seem OT at first but bear with me.

    Check out this project Mindcandy DVD [mindcandydvd.com].

    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

    • Re:mindcandy dvd (Score:3, Informative)

      by GoRK ( 10018 )
      This link [archive.org] is their technical issues section (no longer on the site) .. it doesn't particularly apply to what this guy is asking though since they are primarily concerned with a conversion of VGA to NTSC -- a much different problem.
  • 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 [dashwerks.com] 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
    • This is neat!

      However, not what I'm trying to do. It's more like I'm trying to capture a VGA image every 5 or ten seconds, and then, say, save it or display it on one other machine. I do, in fact, work with vehicles, but generally maritime ones with old radars or depth sounding equipment.

      Not many VGA framegrabbers exist even for PCI bus (which I'm trying to avoid, as I don't want a whole 'nother computer for this). We've used this [unigraf.fi] in the past (hey! linux drivers!).

  • Foresite Accustream 170 [foresightimaging.com] 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?
  • 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.
    • I've found the comments about streaming and getting around DRM interesting. Basically, I'm talking about capturing a frame, oh, every 5 seconds. Really, there are alot of legacy systems I've been working with that have no output other than video! There's no way to record what's on the computer/embedded device other than grab the VGA output. This means a whole 'nother computer (and desktop grade at that) just for taking data. The webcam pointed at the screen is something that we have, in fact, tried. T
  • 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 [networktechinc.com]
    QVS [qvs.com]
    Google, VGA Video Splitter [google.com]

    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
  • Here's something you could easily set up: Connect the VGA output to a VGA to TV converter. You need a scan converter (which changes the horizontal and vertical rates) rather than just a signal converter. These are >$100 usually. Then connect the output of that to a video capture or frame grabber device. Yes, there'll be loss of quality but at least it'll work and you won't have to build something special.

    If you want to build something how about starting with a VGA to DVI converter. At least that g

  • Maybe THESE [motic.com] may help (especially last item on the page).
  • 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 [leutron.com], 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.

"Protozoa are small, and bacteria are small, but viruses are smaller than the both put together."

Working...