Easily capture video from any VGA or DVI device
Volume Number: 23 (2007)
Issue Number: 11
Column Tag: Media
Easily capture video from any VGA or DVI device
Discover how to grab raw video frames and stream them to your preferred capture utility
by Joe Froehlich
How did you do that?
At one point or another, you've most certainly used the infamous [Command] [Shift]  key sequence to take a screen shot of an application window or a dialog box that reports a particular error. And, if you prepare training or technical documentation on a regular basis, you've probably graduated to a more sophisticated screen capture utility like Ambrosia Software's SnapzPro X.
But, how do you capture the screen that appears when you launch the Mac OS X Startup Manager, shown in Figure 1, for example? Furthermore, what if you need to record a movie of the entire boot sequence for troubleshooting or training purposes?
Figure 1: Mac OS X Startup Manager
You can't use the tools we've just described because the operating system isn't loaded yet and there's no way to launch a capture utility. In this article, we'll show you how to capture not only static images like Startup Manager, but entire video streams from any VESA-compatible VGA or DVI source, including industrial, scientific, and forensics equipment.
Discover the magic
To acquire images and data streams like those we're discussing here, you typically need to use a frame grabber that captures the raw data generated at the output of a VGA or DVI source, regardless of whether the source is a computer or some other type of equipment. Most frame grabbers are available only as internal PCI expansion cards. Unfortunately, this limits the type of equipment you can use to capture source content. On the other hand, Epiphan Systems, Inc. provides an external USB solution, obviating the need to rely on internal expansion cards for this task and providing convenient portability at the same time.
Epiphan's product family, appropriately named VGA2USB, includes several distinct devices, including the LR, HR, and Pro models, which differ primarily in the image resolutions and frame rates they support. A DVI2USB product is also available to support DVI source equipment. A comparative summary of all product specifications is available via the Frame Grabbers link on Epiphan's website (www.epiphan.com). Figure 2 illustrates the standard version of VGA2USB; the other devices look similar but differ in the color of their respective enclosures.
Figure 2: VGA2USB frame grabber with VGA port (left) and mini-USB port (right)
Plug it in
Prior to connecting the product to your equipment, you need to install the streaming software on a system you want to use as a capture workstation; the source equipment doesn't require any software. The streaming software includes the following items, all included in a single installation package:
The USB device driver
The v2u capture and diagnostics utility (installed in /usr/bin/)
The vdig QuickTime digitizer (installed in /Library/QuickTime/QuickVGA2USB.component)
To install the software, download the latest version of the installation package from www.epiphan.com/downloads/, unpack it, and run the installer. Once the installation is complete, connect the source equipment to the VGA2USB device, and the VGA2USB device to a USB 2.0 port on your capture workstation, as shown in Figure 3.
Figure 3: Connecting VGA2USB to your equipment
If desired, you can install either a passive or an active signal splitter to simultaneously display the VGA or DVI output from the source on a secondary display. Doing so helps you monitor the source image during a capture session, for example.
Next, open System Profiler and expand the USB device tree. You'll see the VGA2USB device listed, as shown in Figure 4. Before continuing, make sure the device is connected to a USB 2.0 port.
Figure 4: The VGA2USB device as it appears in System Profiler
And finally, open a Terminal session and launch /usr/bin/v2u. With no arguments, the v2u utility reports the detected signal, as shown in Figure 5; otherwise it reports no signal detected. For a complete list of arguments, enter v2u Ðh.
Figure 5: Using the v2u diagnostic utility.
Make a movie
While you can use the v2u utility to perform diagnostics and capture individual frames, you'll probably want to use an Aqua application, such as QuickTime Pro, to capture video streams. There are several other applications that you can use as well; for example, VGA2USB is certified to work with Adobe Premiere on both Windows and Mac platforms. Other third-party applications include Vara Software's Wirecast and Videocue as well as Boinx Software's iStop Motion.
Because each capture application offers different features and capabilities, it isn't practical to discuss them all here. For the purpose of this article, we'll just give you a quick tour. In Figure 6, for example, the video output of our server machine is being streamed (via VGA2USB Pro) to Wirecast, which is running on our capture workstation. When we click the Record button on the toolbar, Wirecast records a movie of our login session. We can then use QuickTime Player to play back the movie. We could also use Wirecast to broadcast the stream if desired.
Figure 6: Capturing a video stream in Wirecast
Need a Windows solution?
If you wish, you can use a Windows platform to capture your streams as well. Epiphan provides its own Windows capture application, which is installed by default when you install the drivers on a Windows machine. Of course, there are also several third-party applications that work with it as well. Figure 7, for example, shows a PC BIOS screen captured using Epiphan's VGA2USB capture utility.
Figure 7: Capturing a PC BIOS screen
"Big deal," you say?
At this point, you may be asking yourself, "Why not just use VNC, ARD, or some other remote monitoring solution?" The answer to this question is that, depending on the screen you need to acquire, these services may only be available much later in the boot process. Furthermore, they require you to alter the source by installing the appropriate software component. You can't use these solutions to capture a screen like Startup Manager or a PC BIOS, much less the video output of a non-computer device.
While our demonstration illustrates a computer technology application, there are other environments in which a frame grabber is not only useful but is actually required, depending on the screen you need to acquire. Figure 8, for example, shows the output of sonogram. Other application environments include:
Presentations to remote audiences
Medical diagnostic imaging
Scientific device screen acquisition
Courtroom evidence recording
Security and surveillance
Industrial control system monitoring
Figure 8: Acquiring a screen from a medical imaging device
In short, if you have a device that generates a VGA or DVI signal and you need to capture its output without altering the source equipment (critical for computer forensics, for example), you need a frame grabber.
In this article, we presented a method for capturing static images as well as video streams from devices that are otherwise inaccessible using traditional screen capture utilities. Hopefully, you've learned something new and, if you have such needs, you'll undoubtedly want to explore solutions like this further.
Joe is a technical writer and instructional designer with extensive experience on both Windows and Mac platforms. He's a member of the Apple Consultants Network, the Microsoft Partner Program, and the IEEE Computer Society. You can reach him at firstname.lastname@example.org.