|
exhibit research | NCM | PC07 Greenscreen Poster | Support Page
|
||
|
|
How it Works
The computer displays a live video feed from the camera, which is connected to one of the computer's two Firewire (IEEE 1394) ports. The computer processes the video signal in real time, to mask out a certain range of colors. (This greenscreen masking is adjustable in a calibration screen.) The computer's monitor signal is sent to the two plasma monitors, turned 90 degrees clockwise. Note that the live video signal is also flipped 180 degrees horizontally (strictly speaking, it is vertically, but since the monitors are turned it appears horizontal). This is done so that the monitor facing the user acts as a mirror -- if the user moves in one direction, they go the same direction on the monitor.
When the Poster software first starts up, it may display the previous poster image with a different background; this is fixed when a button is pressed. When the computer receives a button press, it displays the proper poster behind the masked video signal. The poster image contains an outline which the user(s) can use as a guide in positioning themselves. The computer begins counting down from 10 (the countdown time is also adjustable in the calibration screen). This is accompanied by audio cues, all of which come from the computer, to which a small amp and speaker are connected. At this time, the computer also begins blocking any further button presses.
At zero, the computer changes its masking. It puts up a background image of the poster without outlines (so they do not appear in the picture) and flips the image 180 degrees horizontally (as it appears on the screens). This is done to correct the mirror effect, so that anyone wearing a printed t-shirt will not have the lettering appear backward. The computer grabs a frame of the masked live video feed, and keeps it on the screen for 10 seconds (this time also adjustable in the calibration screen). The computer also tells the show controller to trigger the flash, just after the photo has been snapped, so that the light from the flash does not change greenscreen masking.
While the snapshot is being displayed, the computer saves a copy of it, as well as a smaller, thumbnail-sized copy, in the localimages folder. It then tries to copy the files over the network to the remote location specified in the calibration screen. If the remote computer is not mounted, it tries to mount it. (A spinning cursor appears when this is happening.) If it fails to copy the image on the first try, the computer will beep (sound of ringing glass). If it cannot mount the remote computer, it will write the name of the snapshot file to a text file called IMAGES_NOT_UPLOADED.
Each time the computer takes a snapshot, if the remote volume is not mounted it will try to mount it. When it finally does, if there are images listed in the IMAGES_NOT_UPLOADED file, it will try to copy a few of them along with the newly snapped image. So if the Gift Shop computer has been unavailable for a while while the poster is running, it will take some time for it to copy all of the images -- they will not all appear at once on the shop computer. Once an image has been copied to the remote computer, it is deleted from the Poster computer.
After the specified display time, and after it has tried to copy the image(s) to the remote computer, the computer returns to a live video feed, showing the last selected poster (with people outlines) in the background. It tells the show controller to darken all of the buttons, and it waits for a button press.
After 5 minutes (adjustable in the calibration screen) the computer will run an attract loop. This is a separate program which just displays the latest 10 images in a certain folder. It has its own adjustable settings. When a button is pressed, the computer closes the attract loop and resumes normal operation.
Greenscreen Masking
The calibration screen is activated by pressing the spacebar on the keyboard (inside the crate on the floor). IMPORTANT: The computer takes a reference snapshot when the calibration screen is activated, so nothing should be in front of the greenscreen. There are four basic steps to adjust masking:
Step 1: First, a reference frame is taken. This is done automatically upon activation of the calibration screen, but one can be taken manually with the button in Step 1.
Step 2 is choosing a color that will be used for masking. First, make sure that the Remove Background button in Step 3 is unchecked. Click the Step 2 button that says Choose Color. It will change to say Click on a Color. Click somewhere in the middle of the video frame, until the button changes back to say Choose Color.
Then adjust the tolerance slider beneath the button. A value of around 99 usually works best. Adjust the tolerance so that most of the green disappears. At this point, it is helpful to stand in front of the greenscreen, or have someone else stand there while adjusting. Or you can stick your hand in front of the camera, or get up in front of the screen yourself, then go back and adjust as needed.
The set of three numbers beneath the slider represent RGB color values; the center one is green and should be the largest number. These are mainly provided for reference, but numbers can be manually input here.
Step 3: Now activate the Remove Background button, and all of the green should disappear. This compares the incoming video (30 times a second) to the reference frame, and makes invisible anything that is the same. The tolerance slider is best left to about 30, but can be adjusted as needed.
Step 4: These features are provided for fine-tuning the mask, but usually are not needed, and are best left off, as they will slow down the framerate of the video feed. Remove Holes closes gaps in large masked areas, and Grow/Shrink makes the mask larger or smaller in the number of pixels specified.
Troubleshooting
If the video feed is not clear: First, try unplugging and re-plugging the Firewire cable going into the computer, then reboot (press ESC to exit the Poster program, click at the top of the screen to activate the menu and select Restart from the Special menu).
Error Messages: The computer has a Control Panel called Okey Dokey which says OK to any dialog box that appears on the screen. If an error keeps flashing on the screen, that means that each time Okey Dokey is dismissing it but the error persists. In this case, try pressing the ESC key repeatedly, or holding the Apple (Command) key and pressing the period key repeatedly.
If the message is a Script Error: please make a note of it and email to kevin@woed.com. Pressing OK to one of these errors will attempt to keep running the program. But if the error prevents continued running it will keep appearing, in which case the error must be cancelled (using the ESC or Cmd-. keys) and the program stopped. Then reboot.
If the message is a communication error between the computer and printer: first try rebooting. If that does not work, check the printer power and data cables. On the computer's desktop, go to the Chooser from the Apple (far left) menu, select POSjet, and verify that a USB connection appears in the right-side window.
If the program crashes to the desktop: An error message will be displayed but will probably be immediately dismissed by Okey Dokey, so the computer will be sitting on the desktop. Reboot. If the problem persists, contact kevin@woed.com. You can try reloading the Poster software (download here).
Networking Issues
If images are not appearing on the Gift Shop computer, first check the Poster computer. Exit the Poster software (by pressing the ESC key; you may need to click the mouse first). Once on the desktop, see if the volume printstation appears on the desktop.
If not, look in the Poster036b folder. Double-click on the file called mountvolume.applet. If nothing happens for a while and there is a spinning cursor, it probably means that Poster cannot see Print Station on the network.
Go to the Apple Menu/Chooser (click at the top of the screen to activate the menubar), and click on Appletalk. If printstation appears in the right-hand window, run the mountvolume.applet again to mount it. If this does not mount the Print Station, then the login information on Print Station may have changed. This information is set in the File Sharing control panel of Print Station.
If login information has changed, it will need to be changed on the Poster computer as well. Open mountvolume.source on Poster, and enter the new information there. Then choose Save from the File menu, then Save As Run Only, and save as a Classic Applet, with the box that says Never Show Startup Screen checked and the Stay Open box unchecked. Save it as mountvolume.applet, replacing the existing file.
If the Print Station does not mount, and does not appear in the Chooser, verify that Poster has network connectivity by opening Internet Explorer (inside Poster/Applications (OS9) or under the Apple menu under Recent Applications. If it does not connect to anywhere, check the Ethernet cable going into the computer. Call IT Partners if necessary.
If the Poster computer has network connectivity but still does not see Print Station, go to the Gift Shop and verify that Print Station is on and the Ethernet cable is connected. Check its network connectivity and File Sharing settings as above.
Once you have re-established connectivity between the two machines, open the Poster software and press the spacebar to activate the Calibration screen. Click on the location to select the localimages folder of Print Station. (Macintosh HD/Desktop Folder/printstation008/localimages). Take a couple of pictures to verify connectivity.
Camera
If a tape is inserted, the camera will turn off after five minutes.
Computer
The machine originally specified for this exhibit was a 933MHz G4 with a fast SCSI-2 drive. However, when a power surge destroyed the Bronc computer, the Poster computer moved there, and the 733MHz/IDE G4 formerly for R04 Ranch Women replaced the Poster computer. A faster processor would probably boost its video processing capabilities, but it was deemed adequate for the task. This particular model has 128MB RAM and a Nvidia GeForce2 MX graphics card.
More information on the G4 is available here.
Stealth Serial Port driver is here.
Monitors
More information on the CMP307XU is available here.
Cabling and Connections
Data: An Ethernet cable comes in from the floor to the computer. The printer is directly connected by USB with a cable run from the crate, under the floor, to the printer. A keyboard is plugged into the other USB port, with a mouse plugged into one of the two USB ports on the keyboard. The camera is directly connected with a Firewire cable which runs from the side of the camera (bottom as it is mounted), down through the floor, and up into the crate. The show controller is directly connected to the serial port on the computer, with all cables inside the crate.
There are some additional cables in the crate, notably a USB/Ethernet bridge which was tried and abandoned during installation.
Lighting
The large flourescent fixtures on the side of the greenscreen contain greenscreen-compliant Kino-Flo flourescent tubes. The fixtures were pulled away from the screen to provide a more even spread. There is an additional flourescent fixture above the screen, with standard flourescent tubes. Various track lights were aimed to attempt to fill shadows and darker areas.
The two large spotlights on the floor are meant primarily to light the visitor. Because these were also filling darker spots on the greenscreen, the power switches were removed so that they stay on all the time (though they, as well as the flourescents, could be tied into the general lighting controls).
Printer
In the Poster program, printing layout is controlled by a file called "barcodeprinting.cst," in the Poster036b folder on the desktop. (Download it here.) To re-install the Dymo Labelwriter, use this barcodeprinting.cst file.
After heavy use, the Dymo LabelWriter 330 Turbo was deemed unsuitable for this application, due to difficulties with paper spooling and tearing, heat buildup, and communication problems with the computer.
Poster Software
Manual Control: Button presses can be simulated with keys 1 through 5 on the keyboard. The "l" key (lower-case L) will manually trigger the Attract Loop, and the "q" will exit the Attract Loop (it runs in a window on top of Poster). The "'" key (single quote) will trigger the software to continuously take snapshots; this was used for testing, and could be utilized for testing network connectivity problems.
Other Adjustable Parameters: From the calibration screen (press spacebar to activate), the countdown time, time to Attract Loop, snapshot display time, receipt printing, and remote directory can all be specified. Note that the attract loop timeout is in seconds, so for example 300 seconds = 5 minutes. This information is also written in an external text file, in Prefs/posterprefs.txt. This information can be adjusted from this file if necessary, though the Calibration Screen is easier. In the posterprefs file, look for the following parameters: pathToRemoteImages, countDownValueInSeconds, secondsTillAttractLoop, snapDisplayTime.
Also note the parameter called postercount, as this shows the current number used in naming posters. This number is incremented every time a snapshot is taken. It can be manually set, but if it is set to a low number, it may write over existing files on the remote machine. When it reaches its upper limit, this number will reset back to zero. Since the limit is quite high, it will likely take years to roll over.
Poster Naming Convention: Each snapshot is named according the incremental counter described above, and padded with zeroes to create an 11-digit filename, in order to comply with the UPC barcode standard. Each file also includes an extension, separated by a dash, which indicates its poster number (1 through 5). Note that the UPC barcode standard adds a random checksum character to the end of each barcode string; this character will not match the poster number, and in fact is discarded by the Print Station software after the barcode is read.
In general, each file has a unique name which makes them relatively easy to locate (either by computers or humans), especially when paired with the poster number extension and file creation date. In order to locate a particular file, the printed number beneath the barcode can be compared with filenames. We have also provided a printed thumbnail version of the poster for visual searches.
Video Issues: The video feed displays at DV (720x480) resolution in a window centered in the 800x600 display. If ever the video display shows all white, or an abstract pattern, check the camera connections, and try unplugging and re-plugging in the Firewire cable going into the computer.
Files & Folders: The Poster software utilizes externally linked files and folders, and if any file or folder names are changed, it will ask for help in locating them. The files poster and displaysnaps are Director movies which can be opened and manipulated in Director; the StartHere file is merely a "stub projector" which opens poster, and it contains no other code. sharedCast and barcodeprinting.cst are Director cast files which also can be opened in Director.
The IMAGES_NOT_UPLOADED file is a list of files that the program was not able to copy to the remote computer. Each time a snapshot is taken, the program looks at this list and tries to copy some of these files while the current snapshot is being displayed.
There are a few simple Applescripts provided. mountvolume.applet and mountvolume.source are run-time and authoring versions of a simple Applescript which merely tries to mount a specified remote volume. To change the remote machine, double-click the mountvolume.source file, enter the new location, save, and save as a Run-Only Classic Applet, under the name mountvolume.applet. The first time the app is run, it will come up with a startup screen which must be disabled. You may need to temporarily disable Okey Dokey (see below) before doing this, as it will automatically try to dismiss any dialog box that appears. Also included are Applescripts that reboot and shut down the machine
The localimages folder holds all of the poster snapshots, at least until they are copied to the remote machine, after which they are removed from the local localimages folder. posterpicts holds the source files for the five posters, and these are linked files for ease of updating (see below). The Prefs folder holds text files that describe parameters read by the poster and displaysnaps programs. The XTRAS folder holds Director Xtras (plug-ins) used by the programs.
Utilities and Settings: Also installed on the computer are a couple of Control Panels: Okey Dokey is a freeware utility which simulates pressing "OK" to any alert box or error message that appears. The time is adjustable, and it has been set to its fastest setting. No "special apps" are specified, so it will toggle between being on and off.
There is a Control Panel called iDo Script Scheduler, another utility which triggers Applescripts at specified times. In this case, it is being used to reboot the computer at 9:55 AM every day.
The monitor resolution should be set to 800x600@75Hz, Millions of Colors (Monitor Control Panel). Sound should be turned on; the keyboard provides keys for adjusting volume or muting. Energy Saver settings should be set so that the computer never goes to sleep or spins down the hard drive. This Control Panel is set to start up and shut down the computer at specified times.
Attract Loop Software
This is a separate program which acts as a slide show for recently snapped posters. This program is important because the plasma monitors can easily have an image burned in permanently if that image is left on the screen too long.
The program looks in a specified directory for the 10 (or specified number) most recent images, then shows them for a specified time. A button press closes the program and goes back to Poster. In case there are no files in the localimages folder, the default posters have been placed there. (This was done because snapshots are being deleted after they are copied to the Gift Shop computer.)
Manual Control: Clicking the mouse will bring up the settings screen. Unfortunately, the Poster software wants to hide the cursor, so you may have to move the mouse around a bit to see it. You can also quit (Apple-q), and adjust the settings from the external text file Prefs/displaysnapsprefs.txt. Look for the following parameters in the text file: folderPath (where to get the snapshots: in the localimages folder); displaytime (how long to show each one); totalNumberOfImagesToCycle.
When the Attract Loop first loads pictures, it displays a default poster picture. This file is externally linked (posterpicts/attract.pct) and can be changed, as long as the name, size and location are kept the same.
How to Change Posters
All of these files were exported from layered Photoshop files, which have been provided, one for each poster. The full version of each poster, and the Flash file, is 800x600, to match the monitor resolution. The other PICT files are 720x480, to match the size of the video window. Note that they are turned 90 degrees clockwise to match the rotation of the monitors.
To put in new posters, export files as described above and keeping the names consistent. Make sure the 720x480 files are exactly in the center of the larger files and that everything lines up.
How to Install the Software