Video Services
The information on this page is no longer up to date or fully accurate. If you are a member of the Boston University community and have video needs, please contact us and we will try to help you or direct you to others if we can not help you directly.
The Scientific Computing and Visualization group has limited facilities for producing real-time video recordings of your computer graphics animations, including simple video post production.
There are several methods for recording your animation, either from a running program or from a sequence of images. We can do simple (``cut and splice'') editing and can add titles, credits, and sound during editing. We have facilities for producing 1/2" Betacam-SP, 3/4" U-matic, 1/2" Super VHS and 1/2" VHS video tapes. You are responsible for the cost of the production media, including laser disk frames, original video tapes, and final master tapes. All video production is done in conjunction with an SCV staff member and requires prior scheduling.
While producing a video from a computer display may seem as conceptually straightforward as pressing the record button, running your program, and hitting stop, producing a high quality video tape invariably involves more preparation and production than you probably think. A few of the items that may be involved:
- Getting your program to run using the appropriate display,
- Placing and sizing your windows appropriately,
- Setting colors and other graphics attributes,
- Supplying titles and credits ahead of time,
- Supplying images in an appropriate format,
- Organizing the sequence of segments, deciding on appropriate lengths, etc..
- Discussing any special work which needs to be done by the SCV staff,
- Editing and post-production,
- Scheduling the video facilities for recording and post-production.
See the sections below for more details.
Please contact the SCV staff (scv@bu.edu) as far ahead of time as possible. The more lead time we have, the better will be the finished product. In any event, you should schedule a meeting at least two weeks before you wish to have your finished video tape; special requests may require more time than this.
Any sequence of images which can be displayed on our SGI systems can be recorded onto video tape. Your video generally must be produced by recording in real-time. We can no longer fully support recordings of single-frame animations. The images may be displayed directly from a program, or you may supply a sequence of images as a single file, a set of files, or as the standard output of a running program. Any 640 x 480 or larger region of the displayed image can be selected for recording.
Real-time recording is accomplished by recording the display of a running program directly onto a video tape, so that the speed of what you see on the final video is the same as what you see on the monitor. If your animation can run in real-time on one of the displays listed above, we can simply turn on the recorder and capture your images onto video tape.
Single-frame animation is used when your images cannot be produced in real-time. We can no longer fully support this method of animation. In this case you must record the animation one image, or frame, at a time. Each second of video tape consists of 30 individual frames. While this method is somewhat more difficult and considerably more time consuming than recording in real-time, it is the way most of our video animations are produced. Since you control each and every frame, the time to generate each frame is not critical and variations in the time between frames, such as are caused by other normal activities on the computer system, do not affect the result.
Here is a list of the different methods which you might use to supply an animation:
- Your running program displays in real-time; we record it onto video,
- Your running program displays a sequence of images for single-frame animation; we record this sequence onto video,
- Your running program generates a sequence of images on standard out, in an appropriate image format, piping it to our recording software,
- You supply a file or set of files in the appropriate image format, which we record using our recording software.
Please read the appropriate sections:
Real-time recording is conceptually the simplest method. You run your program and we record it. You must be able to run your program so that the graphics appear on a display which we can record from, and set the window size and shape so that it fits onto the video screen (see Displaying from your program below).
You must be prepared to run the program exactly as you wish it to appear in the final video. Imagine yourself watching the video as a member of the expected audience. Does it make sense? Does it communicate what you wish? Also, consider the amount of time to devote to each segment.
You will likely find that your program runs faster or slower on our machine and/or display than you are used to. For instance, you may normally display your graphics on the console of the machine on which your program is running. If you are now running your program on one machine and sending the graphics across the network, you may notice a slowdown. In the opposite case, you will experience a speedup. If you are using a package such as Iris Explorer or Mathematica, the speed could be faster or slower, depending on usage by others on the same system, relative to the speed of the machine on which you usually work.
We can no longer fully support this method of animation. Contact us for more details.
Each second of video tape consists of 30 individual frames. Animation is created by producing a sequence of images in which there is a relatively small change from each image to the next. When the animation is viewed at 30 frames per second, you see the illusion of motion. The changes between frames may be changes in shape or color of objects, by motion of objects, or by motion of the viewing position or viewing direction, or by any combination of these.
Often an animation can be conceptually broken into short segments. The frames at the beginning and end of each segment (i.e., the frames which mark the transition between segments), are called keyframes. To get the apparent speed of motion that you want, you can ask yourself how many seconds it should take to go from one keyframe to the next, and then multiply by 30 to get the number of required frames.
There is a slight twist on this: in the case of slowly changing imagery, or in cases where it does not make sense to calculate thirty images for every second of animation, it is possible to repeat images 2, 3, or more times. This is called double-framing, triple-framing, etc. Depending on the amount of change in the images, there will be a threshold speed at which the motion becomes jerky. To calculate the number of frames needed when double-framing multiply seconds by 30 and divide by 2 (i.e., multiply by 15). When triple-framing multiply seconds by 30 and divide by 3 (i.e., multiply by 10), etc.
We can record single-frame animation in several ways. Your program can produce the sequence of images on one of the three displays, calling a system routine to record each image after it is displayed. Alternatively, you can produce a file or set of image files, in an appropriate format which can be recorded using our recording software. Finally, your program may send a sequence of images in an appropriate format to its standard output stream, and we can pipe this into our recording software.
We will provide the Unix command or a C/Fortran subroutine which actually controls the video equipment. You will just need to insert it in the appropriate place. If the application package is a program for which you have the source code, it is generally an easy matter to insert the required line of code into the program. Some applications have been designed to generate animations (example: Maya) and thus also provide an easy way to do this. Other application packages may make this more difficult or impossible.
The subroutine call or Unix command we give you will invoke our recording software. If you are running on another host and do not have an account on our systems controlling the video equipment it will be necessary for an SCV staff member to run your program, allowing remote invocation of the recording software.
Producing a set of image files may be done in numerous ways: generally, either as the output of a commercial or public-domain application or generated by your program. Necessary factors are that the images be in a format which we can access and, for multiple files, that the naming convention used provides a simple way to access them in order (see File formats).
Now that you have produced a beautiful, vivid, clear image on your computer, you are going to lose much of the depth of color and resolution by converting to video. There are several things which can be done to help the final image look better.
Avoid high contrast colors, like having a sharp edge between an all red zone and an all green zone. Such edges will tend to `bleed' horizontally, resulting in a fuzzy, `ghosty' line.
Avoid colors above about 80% of their maximum possible values, as they tend to become `over-saturated', i.e., look washed-out and tend to bleed.
Avoid small text, as it will just be a blur on the video. It will probably need to be at least 24 point to be discernible, and larger to be readable from a normal viewing distance. The apparent font size on the video is dependent on the magnification during scan conversion (from computer RGB to NTSC video), i.e., the larger the portion of the screen you record, the larger the font needs to be.
It is easier to see linear forms like lines and text if they are rendered as bright objects on a dark background.
The first step in recording data from your running program is to enable it to display on one of our systems. The image may be displayed using any of the available utilities or programming tools, e.g., X Windows or GL, or by an application which makes use of these. You may run your program on a remote machine, likely the machine where you usually work, or you may copy your program to our machine connected to the video equipment to avoid the network overhead. To run on some machines, you will likely need to consult with a member of the SCV staff.
Any 640 x 480 rectangle (640 pixels wide by 480 pixels high) or larger region of the displayed image can be selected for recording. The video frame has an aspect (height-to-width) ratio of approximately 3:4, therefore if you want your image to fill the screen without being stretched or squashed, it should use this ratio. Depending on what video system the final video is actually displayed on, a certain margin will be unseen around the sides and top and bottom. There is a fair amount of variability to this so you should plan on keeping all of the important graphics within an area bounded by margins of 5% of the display window size or so all around. You may or may not want to include the border of your window in your video. If you do not, then you must make your display window larger, to allow for the margins just described. If you do want to include your borders, note that you will undoubtedly also get some of the background screen as well, due to the margins just mentioned. Thus you should probably choose a background you don't mind appearing in the video.
The section of the display which will be recorded can be set up at the time the recording is made. this is achieved by running the program, and while it is running (or perhaps suspending it at a key time), specifying the size and location of the video recording area. When we actually make the recording, the recorder will be turned on, and then you will run your program. For consistency and efficiency it is much easier if the program automatically opens its window(s) with a certain preset size and in a certain preset position.
You can supply your sequence of images as a file, a set of files, or a byte stream on standard output from your program. Here is a list of the possibilities:
- A set of files in BUCGL format,
- A set of files in a format which can be converted to BUCGL format,
- A single file which is a concatenation of files in BUCGL format,
- A set of files containing raw data as described below,
- A single file containing raw data as described below,
- A byte stream on standard output, of raw data as described below.
In the case of multiple files, it is important that the naming convention you use allows them to be easily accessed in the correct order. Typically, Unix utilities (such as "cat") are used to direct a set of output files to the appropriate place. A file name scheme such as file1.rgb, ..., file9.rgb, file10.rgb, ..., file19.rgb, file20.rgb, ... does not give the expected order (try doing "ls" on such a set). A method that does work is file0001.rgb, ... file0009.rgb, file0010.rgb, etc.
For us the most convenient image format is the BUCGL format. However, you (or we) can convert a wide variety of formats into the BUCGL format using the SDSC Image Tools.
You may also save raw, binary image data using either 8 or 24 bits per pixel. If you save your images as raw 8 bit data (1 byte per pixel), you may additionally supply us with a color lookup table which specifies the colors to be used for your data values. Each byte is used as an index into the color lookup table. In this case, the color lookup table should be a file containing 256 lines, with three Ascii numbers on each line. These three numbers correspond to the red, green, and blue values for that index and must lie in the range 0 ... 255, inclusive.
To save full color, 24 bit raw images, you can write out the red, green, and blue values for the pixels in each image in one of several different orders, with the color values lying in the range 0 ... 255, inclusive:
- Pixel interleaved: write one pixel at a time, each as an RGB triple.
- Raster interleaved: write one row at a time, all the red values in the row, all the green values in the row, all the blue value in the rows.
- Frame interleaved: write the whole frame, all the red values in the frame, all the green values in the frame, all the blue values in the frame.
For example, an image with 4 rows and 5 columns might be written out as follows.
Pixel interleaved looks like:
RGBRGBRGBRGBRGB row 1
RGBRGBRGBRGBRGB row 2
RGBRGBRGBRGBRGB row 3
RGBRGBRGBRGBRGB row 4
Raster interleaved looks like:
RRRRRGGGGGBBBBB row 1
RRRRRGGGGGBBBBB row 2
RRRRRGGGGGBBBBB row 3
RRRRRGGGGGBBBBB row 4
Frame interleaved looks like:
RRRRRRRRRRRRRRRRRRRR all the red
GGGGGGGGGGGGGGGGGGGG all the green
BBBBBBBBBBBBBBBBBBBB all the blue
Once you have your images saved, we have software to display and record the images onto video tape.
The advantage of saving your images as files is that it separates the generation of the images, which can be done at your convenience and over a relatively long period of time, from the recording of the images, which requires exclusive use of our very much in demand recording equipment and must be done by SCV staff. The disadvantage is that it can require huge amounts of storage to hold the images until they are recorded. If your software can write the images to 8mm data tapes (2.3GB or 5GB capacity) as they are being generated, this is often the best solution.
It may help in your planning to be aware of the video production process in the SCV lab.
The first step is to display your images on one of the three displays mentioned in the preceding section, either generated by from your running program or read from one or more image files. The RGB signal which is going to this display is fed into a real-time scan converter which samples this signal and outputs an NTSC component video signal. Note that both the computer RGB signal and the NTSC component video signal are analog signals.
It is possible to scan convert any portion of the display which is at least 640 x 480 pixels. Setting up this subwindow requires running software to control the scan converter, while viewing the resulting image on a video monitor.
The NTSC video signal is connected to our write-once laser disk and our Betacam-SP video recording deck. For real-time graphics, we record onto Betacam-SP 1/2" video tape. For single-frame animation, we record each image onto a single-frame of our write-once laser disk. Once the entire set of images is recorded, we transfer that sequence onto video tape.
Credits and titles are created in exactly the same way as any other graphics. A presentation graphics package is used to assemble text on one of the displays and it is recorded onto the laser disk or video tape.
Once all of the video segments, titles, etc., are recorded onto Betacam-SP video tape, they can be edited together. This entails playing the existing segments on a play-only video deck while recording them using the recording deck. Our equipment allows frame-accurate editing, so that segments may be `cut and spliced' precisely. Editing allows for the reordering of segments, the insertion of text segments, etc.
Note that all of the original video segments will be recorded onto one or more Betacam-SP tapes, and that the final version of your video will be on a different Betacam-SP tape. Then, we will copy the final version onto whatever type of tape you actually need for presentation. The most commonly requested tape format is VHS.
It is possible to include sound on your video tape. The source may be obtained from cassette tapes, compact discs, video tapes, and/or recorded live. Audio from these sources may be mixed and recorded onto Betacam-SP video tape. The audio tracks thus produced may be edited on Betacam-SP tapes in the same manner as described in the preceding section.
A standard way to do computer animation targeted at entertainment is to produce a soundtrack first, then plan the animation to match up with significant events in the soundtrack. For instance, if the soundtrack contained a voice, the animator may try to make an animated character's face and mouth motions match up with the speech.
Another common use of audio is to provide narration for a scientific visualization or other animation which requires explanation. In this case we might produce the video first, allowing a reasonable length of time for the explanation, and then record the narration as the narrator watches the video.
Processing audio is somewhat involved and less routinely handled, so you must contact SCV well ahead of time and allow additional production time.
The following table compares the different video formats which we have available.
Media Image quality Edit quality Availability
Betacam-SP excellent excellent poor
Laser Disk very good none poor
U-matic fair good fair
S-VHS good fair fair (getting better)
VHS poor poor excellent
If you are planning to show your video tape at a conference, you should ask what formats they can accept. Generally, Betacam, S-VHS and U-matic video tape look a lot better than VHS.
There is a basic charge of $5.00 per minute (or fraction thereof) of video, which is used to cover the cost of scratch and final master tapes. The final master tapes are kept in the Computer Graphics Lab archives. If you do any single-frame animation, there is an additional charge of $9.00 per minute (1/2 cent per frame) of animation to cover the cost of the write-once laserdisk. The cost of the final delivered video tape (the one you take with you), depends on the tape format. The end product of the production process will be one video tape which you take with you. If any additional copies are desired, at the time of production or at a later date, there will be a $15.00 copying charge in addition to the cost of the copy media.
Basic video production media charge: $5.00 per minute (rounded up) of video
Single-frame animation media charge: $9.00 per minute of animation
(1/2 cent per frame)
Final video tape
1/2" VHS (T10/15) $4.00
1/2" VHS (T30BRA) $6.00
1/2" VHS (T120BRA) $8.00
1/2" S-VHS (T30BQ) $8.00
1/2" S-VHS (T120BQ) $10.00
3/4" U-matic (MBR10) $12.00
3/4" U-matic (MBR20) $15.00
3/4" U-matic (MBR30) $18.00
1/2" Betacam (BCT10M) $24.00
1/2" Betacam (BCT20/30M) $27.00
1/2" Betacam (BCT60M) $42.00
1/2" Betacam (BCT90M) $64.00
Tape copying $15.00/tape
For example, if you produced a video tape which required editing 5 minutes and 20 seconds of video, of which 75 seconds was animation, and you wanted one final copy on VHS tape, the charge would be:
Production media: 6 minutes @ $5.00 / minute $ 30.00
Animation media: 1.25 minutes @ 9.00 / minute 11.25
Final video tape: 1 VHS T10 @ 4.00 / tape 4.00
Total $ 45.25
If you later wanted two more copies on VHS tape, the charge would be:
Copying charge: 2 copies @ $15.00 / copy $ 30.00
Final video tape: 2 VHS T10 @ 4.00 / tape 8.00
$ 38.00
|