The VideoGhost Pro and VideoGhost Max are intelligent hardware frame-grabbers, compatible with DVI, HDMI, and VGA signal sources such as computers and laptops. They feature a built-in JPEG compressor, and a high-capacity internal flash disk. Frames captured from the DVI, HDMI, or VGA bus will be compressed and stored to the built-in flash drive. The VideoGhost Pro/Max has a USB interface, which may be operate either as a USB flash drive, or as a USB Virtual COM port. The Virtual COM interface allows accessing the VideoGhost Pro/Max by a set of commands, enabling full control from an external device, such as a PC. An additional external push-button is available, accelerating switching between modes and capturing images.
The VideoGhost Max also features a true hardware COM interface with a DB-9 connector. This interface enables access to the VideoGhost’s resources and functions from external devices such as Programmable Logic Controllers, embedded systems, microcontrollers, or computers.
The VideoGhost Pro and VideoGhost Max are delivered a PC application named VideoGhost Control, demonstrating how to access all the features through Virtual COM. The software is delivered with source code in C#.
The VideoGhost Pro and VideoGhost Max can be used in a variety of hardware configurations, determined by the functionality and software configuration. Each configuration is associated with one of the three modes:
A list of configurations follows:
Configuration 1: Capture mode with JPEG timer
Description: The VideoGhost Pro/Max will capture a screenshot at a set interval, or after pressing the push-button, and store it as a JPEG file. The device will not enumerate as a USB device, but may draw power from USB. This mode of operation is identical as the standard VideoGhost, and is the default mode for the VideoGhost Pro.
Configuration 2: Flash-drive mode
Description: The VideoGhost Pro/Max will connect as a removable flash-drive with stored JPEG files. USB will be used to power the device. This mode may be triggered by pressing the push button for 3 seconds, or by sending a command through COM. Connecting the video source and receiver is not necessary.
Configuration 3: Virtual COM mode with on-demand capture and JPEG timer
Description: The VideoGhost Pro/Max will connect as a Virtual COM port, allowing full access through the PC application VideoGhost Control with on-demand capture. The JPEG capture timer may run in parallel. The push-button may be used to store a JPEG to the internal memory, or to transfer an image through Virtual COM. USB will be used to power the device. This mode may be set through the configuration file as the default mode of operation.
Configuration 4: Capture mode with auxiliary RS-232 control and JPEG timer
Description: The VideoGhost Max will capture a screenshot when triggered through the external RS-232 control, internal timer, or push-button, and store it as a JPEG file. The device will not enumerate as a USB device, but may draw power USB. This mode is only supported by the VideoGhost Max, and is its default mode of operation.
Configuration 5: Virtual COM mode with on-demand capture, auxiliary RS-232 control, and JPEG timer
Description: The VideoGhost Max will connect as a Virtual COM port, allowing full access through a PC application VideoGhost Control with on-demand capture. Additionally, an external RS-232 device may control the VideoGhost. USB will be used to power the device. The JPEG capture timer may run in parallel. The push-button may be used to store a JPEG to the internal memory, or to transfer an image through Virtual COM. This mode is only supported by the VideoGhost Max, and may be set through the configuration file as the default mode of operation.
Connecting the hardware is quick and easy, no software or drivers are required. First locate the source of the video signal, such as the output of the graphics card, or the TV output.
Connect the VideoGhost Pro/Max to the video source, and then connect the output device (TV or monitor) to the other end of the VideoGhost Pro/Max.
Finally, connect the USB connector to a free USB port.
The USB port is used for powering the device, and for communication with the host in either flash drive mode or Virtual COM mode. If the device is in Capture mode (Configuration 1 or Configuration 4), then a +5V DC USB power supply may be used instead.
In case of the VideoGhost Max, an auxiliary RS-232 device may be connected to the DB-9 cable. Refer to section COM commands for instructions how to control the VideoGhost Max from an external device.
The VideoGhost Pro/Max is now ready to capture screenshots. If this is the first time the device is being used, it will default to Configuration 1 (VideoGhost Pro) or Configuration 4 (VideoGhost Max), meaning it will not show up as a USB device. Press the external push-button for 3 seconds to switch to flash drive mode, and configure the device through the file CONFIG.TXT (see section Device setup).
If your VideoGhost Pro/Max is already configured to operate in Virtual COM mode (Configurations 3 or 5), further configuration may be done using the PC application VideoGhost Control. Simply install VideoGhost Control and use it to connect and configure the device (see section Virtual COM mode).
If your VideoGhost Pro/Max is configured to operate in Capture mode (Configurations 1 or 4) or flash drive mode (Configuration 2), it may be configured through the file CONFIG.TXT, placed in the flash drive root folder. This is the case for newly delivered devices. First, press the external push-button for 3 seconds to switch to flash drive mode (Configuration 2). Then use any text editor to create or open the file CONFIG.TXT.
Put the following line in the file, if you want to use the VideoGhost Pro/Max in Virtual COM mode (Configurations 3 or 5):
If you want to use the device in flash drive mode (Configuration 2) or simply capture images without using USB (Configurations 1 or 4), put the following line in CONFIG.TXT:
If you don’t need the internal JPEG capture timer, continue editing CONFIG.TXT by placing the following line in it:
If you want to use the internal JPEG capture timer in any of the modes, place the following lines in CONFIG.TXT and modify the values accordingly:
DisableLogging allows disabling JPEG logging. Allowed values are Yes (logging disabled) and No (logging enabled). Default value is No.
Interval sets number of seconds between successive screenshots. Please note that compressing and saving an image takes several seconds (depending on the image size and quality), so this may become the limiting factor for low values of Interval. Default value is 300.
Resize sets the resizing factor for storing screenshots. Allowed values are No (no resizing), Auto (automatic resizing factor based on image size), 75 (75%), 67 (67%), 50 (50%), 33 (33%), and 25 (25%). Default value is No.
Timestamping configures the built-in time- and date-stamping module. Allowed values are Yes (timestamping active, but limited to updating the modification time and date of JPEG files), Image (timestamps burned into JPEG image content), and No (timestamping disabled). Default is Image.
When finished editing CONFIG.TXT, save the file in the root folder of the flash drive, and safely remove the drive. The new configuration will be loaded on next power-up.
The configuration file CONFIG.TXT may contain several parameters, fully configuring how the VideoGhost Pro/Max operates.
The primary purpose of Virtual COM mode (Configurations 3 or 5) is to perform on-demand image capture, access recorded JPEG images, and configure the device.
Before connecting the device, make sure you have installed the VideoGhost Control application, delivered with your device. The latest version is always available under the following URL: software.keelog.com
VideoGhost Control is also available with source code in C# on the CD-ROM delivered with the device.
Installing VideoGhost Control is a straightforward process, simply follow the wizard’s dialog windows.
If you want to reconfigure your VideoGhost Pro/Max to Virtual COM mode (Configurations 3 or 5) from Capture Mode (Configurations 1 or 4) or flash drive Mode (Configuration 2), follow the procedure presented in section Device setup. This involves switching to flash drive mode (Configuration 2) by pressing the push-button for 3 seconds and placing the line UsbMode=Com in the configuration file CONFIG.TXT.
Next, connect the VideoGhost Pro/Max to a USB port. When connected to a USB port, the VideoGhost Pro/Max will attempt to enumerate as a Virtual COM device (Communications Device Class). Most operating systems contain built-in drivers. Some operating systems, such as Windows XP/Vista/7/8, will require confirming the driver’s publisher (select Install the driver software anyway).
If the operating system has any difficulties finding the correct INF file, select it manually from the Driver folder in the VideoGhost Control install folder. This is usually:
C:\Program Files\VideoGhost Control\Driver\
C:\Program Files (x86)\VideoGhost Control\Driver\
After successfully installing the device driver, launch VideoGhost Control. Connect to the VideoGhost Pro/Max using the first icon in the toolbar. This will scan all COM ports, searching for a compatible VideoGhost device.
Once connected, the software will display a list of images in the list on the left panel. The panel has two sections:
One of the primary features of VideoGhost Control is taking a snapshot. This can be initialized using the Device->Take a Snapshot option, by clicking the second icon in the toolbar, or pressing CTRL+T. The device will capture an image from the DVI/HDMI/VGA interface, and transfer it through Virtual COM to VideoGhost Control. The image will then be immediately displayed, archived on the computer’s hard drive, and listed in the Local Images section.
VideoGhost Control allows configuring the VideoGhost Pro/Max through the Device Configuration dialog window (Device->Device Configuration...). The device configuration can be written based on the selected options in the dialog window (Write to Device), or the dialog window may synchronized with the current device settings (Read from Device). If the Load default configuration option is checked, the default settings will be read from CONFIG.TXT instead of the current runtime settings. If the Store as default configuration option is checked, the transmitted settings will also be stored to CONFIG.TXT as default, loaded upon next power-up.
An important setting is Switch to Flash-drive mode (on next power-up). This will set the UsbMode=Flash setting in CONFIG.TXT, thus switching to Capture mode (and flash drive mode). Upon next power-up, VideoGhost Control will not be able to connect to the device, unless configured back to Virtual COM mode.
VideoGhost Control also contains several application-level Device setup available from File->Application Preferences...
Finally, VideoGhost Control contains several image handling features, such as panning, zooming, deleting, copying, displaying properties, and several more. The application is relatively self-explanatory in this aspect.
Virtual COM mode is in fact a low-level communication interface, which is wrapped into a Graphical User Interface by VideoGhost Control. The application sends simple COM commands, which are interpreted by the VideoGhost Pro/Max. Any of these commands can be sent by any other application capable of communicating with a serial device, such as Hyper-Terminal. See section COM commands for a complete list of available commands.
An important feature in Virtual COM mode is the external push-button. This button has two functions:
The internal JPEG timer is fully operational in Virtual COM mode, just as in Capture mode. The timer may be configured directly through the configuration file CONFIG.TXT in flash drive mode (see section Device setup for more information), or indirectly using VideoGhost Control.
Capture mode (Configurations 1 or 4) is a stand-alone mode that does not require a USB host. Its primary purpose is to let the VideoGhost Pro/Max run as an automated frame-grabber. A USB connection can be provided solely for the purpose of powering the device (but an external +5V DC power supply can be used as well).
Capture mode is the default mode after startup (Configurations 1, 2, or 4). The VideoGhost Pro/Max will not enumerate as a USB device, however it may capture images when triggered by the push button, or internal JPEG timer. The button has two functions:
If you want to reconfigure your VideoGhost Pro/Max from Virtual COM mode (Configurations 3 or 5) to Capture mode, simply use the configuration option in the VideoGhost Control application (Device->Device Configuration...->Switch to Flash-drive mode (on next power-up) and click Write to Device).
The internal JPEG timer is responsible for periodic captures from the DVI/HDMI/VGA interface. The timer is configured through the configuration file CONFIG.TXT (see section Device setup for more information). Recorded images can later be viewed in flash drive mode (see section Flash drive mode for more information).
The primary purpose of flash drive mode is to access recorded JPEG images. Flash drive mode can also be used to configure the VideoGhost Pro/Max in Configurations 1, 2, or 4 (see section Device setup for more information).
If your VideoGhost Pro/Max is configured to operate in Configurations 1, 2, or 4 (UsbMode=Flash), press the external push-button for 3 seconds to enable flash drive mode.
If you want to reconfigure your VideoGhost Pro/Max from Virtual COM mode (Modes 3 or 5) to flash drive mode, simply use the configuration option in the VideoGhost Control application (Device->Device Configuration...->Switch to Flash-drive mode (on next power-up) and click Write to Device). On the next startup, press the push-button for 3 seconds to switch to flash drive mode.
After a few seconds, the device will automatically get detected as a Mass Storage Device. The operating system will use the standard built-in mass storage driver (MS Windows in the following examples).
Note: During the first switch to flash drive mode, the operating system can ask for drivers. In such case choose automatic driver installation (usually default option).
The flash drive will contain the captured screenshots as JPEG files, grouped in folders named 001, 002, etc. Depending on the device configuration, the images may have burned-in time- and date-stamps. Use any image-viewing software to browse the JPEG files, such as the default Windows Photo Viewer.
Switching back to capture mode can be achieved by pressing the external push-button for 3 seconds, or by a safe software removal of the flash disk. Use the systems standard disk removal procedure. For MS Windows, left-click on the Safe Removal icon in the system tray and select the appropriate drive. Then reconnect the VideoGhost Pro/Max to the USB port.
It is necessary to configure the built-in clock module for getting correct date and time-stamps. The procedure is different for Virtual COM mode and flash drive mode. In Virtual COM mode, simply start VideoGhost Control, connect to the device, and select Device->Device Configuration...->Clock Settings... and write the correct time and date to the device. The settings will get stored to the internal real-time clock powered by an internal battery, meaning they will be preserved and updated even if the VideoGhost Pro/Max is not powered.
Alternatively, the internal clock may be configured in flash drive mode. If the VideoGhost Pro/Max is in Capture mode, switch to flash drive mode by pressing the external push button for at least 3 seconds. Then a text file named TIME.TXT should be prepared with the following format:
The fields should contain the current time and date. The field Format allows distinguishing between A.M., P.M., and 24-hour time (use the value AM, PM, or 24). After the file has been prepared, switch to flash drive mode and copy the file TIME.TXT to the root folder of the flash disk.
After copying the file, safely remove the flash drive. The new clock configuration will be loaded during the next power-up.
The clock configuration file must be named TIME.TXT and must be placed in the root folder. Variable and value strings are case insensitive, however they must match the options listed below.
Sample TIME.TXT for 12-hour time:
Sample TIME.TXT for 24-hour time:
The VideoGhost Pro/Max can be controlled through Virtual COM or hardware COM with a set of commands, offering the following functionality:
If you want to use the VideoGhost Max with the hardware COM interface, configure the serial controller to the following parameters:
Connect the serial device to the DB-9F connector on the VideoGhost Max.
The baud rate may be changed by the parameter BaudRate in CONFIG.TXT in flash drive mode, or through VideoGhost Control in Virtual COM mode.
Each command can be sent through the Virtual COM interface, or through the hardware COM interface in case of the VideoGhost Max. For using the hardware COM interface, connect a serial device to the cable with the DB-9F connector. The standard RS-232 pin-out should be used, with +/-12V logic levels. The transmission speed should be set to 115200 bps, 8 data bits, no parity bit, 1 stop bit, no handshaking. The baud rate may be reconfigured through the file CONFIG.TXT, or using VideoGhost Control. Other RS-232 parameters are fixed.
The VideoGhost Pro/Max will always respond using the same interface as was used to send the command. A command sent through Virtual COM will result in a response through Virtual COM. A command sent through hardware COM will result in a response through hardware COM. The only exception to this rule is the CAPTURE command, which always results in a response through the Virtual COM interface. This is due to the relatively low speed of the hardware COM interface, and time it would take to send an image as the response.
A full list of COM commands follows:
|Command contents||Command length in bytes||Response contents||Response length in bytes||Description|
|CAPTURE||7||Captured image in BMP format (16-bit per pixel, format 5.6.5) followed by EOF character (1Ah)||54 (header size) + Image width x Image height x 2 + 1 (EOF)||Initializes a screen capture from the DVI/HDMI/VGA interface. The image is sent in the 16-bit BMP format (5.6.5), followed by a single EOF character. The response is always sent through the Virtual COM interface.|
|STORE||5||No response||0||Initializes a screen capture from the DVI/HDMI/VGA interface, and stores the image to the internal flash drive in the JPEG format. This operation can take several seconds, depending on the screen resolution and contents.|
|GET VID||7||19AEh||2||Returns the USB VID word.|
|GET PID||7||2347h||2||Returns the USB PID word.|
|GET COUNT||9||JPEG image counter value in decimal format||Number of digits in JPEG counter||Every time a JPEG image is stored to the internal flash drive, the JPEG image counter value is increased. This value is useful for requesting images through Virtual COM just by supplying the image number.|
|GET CONFIG||10||Current configuration in text file format (one parameter per line) followed by EOF character (1Ah)||File size + 1 (EOF)||Returns the current device configuration in text file format identical to that of CONFIG.TXT. Each line contains a parameter-value pair separated by the equals sign. Line separator is CR/LF.|
|GET DEFAULT||11||Default configuration in text file format (one parameter per line) followed by EOF character (1Ah)||File size + 1 (EOF)||Returns the default device configuration from CONFIG.TXT in text file format. Each line contains a parameter-value pair separated by the equals sign. Line separator is CR/LF.|
|GET TIME||8||Current time and date in text file format (one parameter per line) followed by EOF character (1Ah)||File size + 1 (EOF)||Returns the current device time and date in text file format identical to that of TIME.TXT. Each line contains a parameter-value pair separated by the equals sign. Line separator is CR/LF.|
|GET PIC||8 + Image number digit count||Stored image in JPEG format followed by EOF character (1Ah)||File size + 1 (EOF)||Returns a stored JPEG file from the flash drive given by image number. The GET PIC command should be followed by a space and the image number in decimal format. The image number should not exceed the JPEG image counter available by using the GET COUNT command.
GET PIC 547
|SET CONFIG||11 + File size digit count + File size||No response||0||Sets the current device configuration. The command should be proceeded by a space sign and the expected configuration file size in decimal format, and then by the configuration file. The configuration should be sent in text file format identical to that of CONFIG.TXT. Each line contains a parameter-value pair separated by the equals sign. Line separator is CR/LF.
SET CONFIG 23 Quality=5CRLFInterval=200
|SET DEFAULT||12 + File size digit count + File size||No response||0||Sets the default device configuration by writing CONFIG.TXT. The command should be proceeded by a space sign and the expected configuration file size in decimal format, and then by the configuration file. The configuration should be sent in text file format identical to that of CONFIG.TXT. Each line contains a parameter-value pair separated by the equals sign. Line separator is CR/LF.
SET DEFAULT 24 UsbMode=ComCRLFInterval=50
|SET TIME||9 + File size digit count + File size||No response||0||Sets the current device time. The command should be preceded by a space sign and the expected time configuration file size in decimal format, and then by the time configuration file. The time configuration should be sent in text file format identical to that of TIME.TXT. Each line contains a parameter-value pair separated by the equals sign. Line separator is CR/LF.
SET TIME 26 Hour=8CRLFMinute=4CRLFSecond=9
|RESET||5||No response||0||Resets the device. This command is useful when reconfiguring the device mode from Virtual COM mode to Capture mode or flash drive mode using the SET DEFAULT command. The changes will take effect on the next power-up of the device.|
The COM command interface is heavily used by VideoGhost Control, available for the Windows family of operating systems. However, COM commands can be sent by any RS-232 enabled device such as a microcontroller, embedded system, or computer running any serial terminal software. The examples below demonstrate using Ubuntu with the Virtual COM interface.
Notes on installing the VideoGhost Pro/Max in Virtual COM mode in Linux/Ubuntu:
1. Login with administrator rights and update the kernel:
# sudo apt-get install linux-image-generic linux-headers-generic
2. Unload the usbserial module if it is already running:
#sudo rmmod usbserial
3. Load the usbserial kernel module
#sudo modprobe usbserial vendor=0x19ae product=0x2347
4. Connect the board
5. Verify that the USB connection is established:
The VideoGhost Pro/Max should be visible as:
Bus 004 Device 002: ID 19ae:2347
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
6. Find out which USB connection is established:
This should show a result similar to that below:
[194.936026] usb 4-1: new full-speed USB device number 2 using uhci_hcd
[195.117216] usb 4-1: New USB device found, idVendor=19ae, idProduct=2347
[195.117224] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[195.117230] usb 4-1: Product: USB to Serial
[195.117235] usb 4-1: Manufacturer: KeeLog
[195.117238] usb 4-1: SerialNumber: 0123456789AF
[195.244776] cdc_acm 4-1:1.0: This device cannot do calls on its own. It is not a modem.
[195.244895] cdc_acm 4-1:1.0: ttyACM0: USB ACM device
[195.248266] usbcore: registered new interface driver cdc_acm
[195.248275] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
7. Create a symlink on /dev/ttyACM0:
# sudo ln -s /dev/ttyACM0 /dev/ttyUSB0
It is now possible to access /dev/ttyUSB0 from any terminal application.
|VideoGhost DVI||VideoGhost HDMI||VideoGhost VGA|
|Power supply||4.5 V – 5.5 V DC||4.5 V – 5.5 V DC||4.5 V – 5.5 V DC|
|Max. power consumption||500 mA (2.5 W)||500 mA (2.5 W)||500 mA (2.5 W)|
|Data retention||100 years||100 years||100 years|
|Interface support||DVI-compatible video source,USB 1.1 or 2.0 with MSD support||HDMI-compatible video source,USB 1.1 or 2.0 with MSD support||VGA-compatible video source, USB 1.1 or 2.0 with MSD support|
|Max. video bandwidth||160 MHz||160 MHz||160 MHz|
|Max. video resolution||1920 x 1200||1920 x 1200||1920 x 12001|
Typical JPEG encoding time in seconds2:
|VideoGhost DVI||VideoGhost HDMI||VideoGhost VGA|
|Frame size||50% Resize||Auto Resize||No Resize||50% Resize||Auto Resize||No Resize||50% Resize||Auto Resize||No Resize|
The VGA version supports the most common resolution and refresh rate combinations:
|50 Hz||56 Hz||60 Hz||70 Hz||72 Hz||75 Hz||85 Hz||100 Hz||120 Hz|
1 Limited to standard resolution and refresh rate combinations.
2 Encoding times may vary depending on image contents.
The VideoGhost Pro/Max will not work in the following cases:
No video signal at the monitor or TV
Please check the following:
The VideoGhost Pro/Max does not switch to flash drive mode
Please check the following:
The VideoGhost Pro/Max does show up as a Virtual COM device
Please check the following:
VideoGhost Control cannot connect to the device (“Device not found!” error)
The VideoGhost Pro/Max has probably not enumerated properly as Virtual COM device. Please check the following:
VideoGhost Control cannot capture or transfer images (“No data received on port” error)
First, check if the VideoGhost Pro/Max is still connected. Click the Connect to device icon in the toolbar to disconnect and reconnect. If the device has connection problems, refer to the previous questions and answers. If you are attempting to do an on-demand screen capture, the problem has most likely to do with the DVI/HDMI/VGA interface. Check if the video source and receiver is connected, and check different screen resolutions. If you are attempting to transfer an archived JPEG image, most likely the image has been deleted, or is corrupt. You can fix this by adjusting the JPEG image counter. Refer to the next question in such case.
VideoGhost Control displays an invalid list of JPEG files
VideoGhost Control displays a list of JPEG files based solely on the JPEG image counter (always from 001 to the current counter value). Most likely some archived JPEG files have been deleted, however VideoGhost Control does not know about this. This can be fixed by manually setting a new JPEG image counter value. To do this, switch to flash drive mode, and create a file named COUNTER.TXT in the flash drive root folder. Put the string Counter=N in the file, where N is the new image counter value. This value will be loaded on next power-up.
I can’t find any screenshots after switching to flash drive mode
Please check the following:
The screenshots show no contents, just noise
You are probably trying to acquire a HDCP-protected video signal, such as a Blu-ray or DVD player. The VideoGhost Pro/Max is not a device intended for breaking the HDCP copyright protection.
Problems with time-stamps
Set the correct time by creating a clock configuration file TIME.TXT (flash drive mode), or by using VideoGhost Control (Virtual COM mode). Make sure you have not disabled time-stamping. Refer to the Clock configuration section for detailed instructions.
Screenshots are not logged as fast as I would like
Change the Interval parameter in CONFIG.TXT to a smaller number. If this doesn’t help, it means that the JPEG compression time is the limiting factor. Reduce the image size by reducing the Quality parameter in CONFIG.TXT. Finally, change the Resize parameter to 50, 33, or 25.
I’ve checked everything, nothing helps!
If you are still experiencing problems, please do the following:
No responsibility is taken for any damage, harm or legal actions caused by misuse of this product. The user should follow the guidelines contained in this document, otherwise no liability will be assumed. It is the user's responsibility to obey all effective laws in his/her country, which may prohibit usage of this product.