You are here


The Access Grid (AG) can be used for multi-user video conferencing. The underlying software is free and provides users with a convenient and cost effective tool for peer-to-peer communication. Software applications are available that can record AG video conferencing sessions, however they require the user to have the underlying AG software to replay pre-recorded sessions. While the AG software is free, the need to have such software is limiting and restricts the user's ability to search, retrieve, browse and annotate previously recorded AG sessions. To overcome this problem we have developed software that records AG sessions in a common movie format, such as MPEG. There is an enormous range of free and commercially available software for manipulating MPEG movies, which will enable users to conveniently search and browse pre-recorded AG sessions.

Virgil software aims to provide:

  • Mechanisms for the efficient recording, structuring, indexing, searching and retrieving of key events within access grid sessions;
  • Mechanisms for incorporating/linking related resources (meeting agenda, minutes, notes, reading material, previous meetings etc.)
  • An online search, browse and retrieval interface to a real testbed/archive of recorded, compressed access grid sessions


Screenshots from AG sessions recorded by Virgil:


The recording software is based on modified versions of Vic and RAT: the principal AG software tools. RAT multiplexes received audio streams and plays the audio through the computer's sound card. An optional command line argument allows all the "session" audio to be captured to a "wav" file. Vic processes the video streams from all sites participating in the AG session. The incoming data are decompressed and the resulting image(s) displayed on the screen. The modified version of Vic builds a composite, "tiled" video of all received video streams with the relevant user name and time stamps. This is written to a movie file for later (re)combination with the audio being saved by RAT. We have modified both applications so that thay can be controlled by Inter Process Communication (IPC). This enables a controller application to say precisely when recording should start and stop. It is also possible to pause recording and resume. On completion, the controller executes a process to build the movie from the separately recorded audio and video. The output format is selectable from popular formats: mov, avi, and mp4.

Using the software

The controller utility called "vvr" (Virgil Virtual Recorder) is written in Perl/Tk for portability. It is able to launch Vic and RAT supplying the URLs they are to use for the recording session. This and other configuration parameters such as the IPC port to use are stored for reuse in a configuration file. The modified Vic and RAT will read this file on startup to find the IPC port and send the controller the individual, randomly selected control ports they will receive commands on during the session.

Initial trials used command line driven versions of modified Vic and RAT that required no user interaction. This highlighted a problem associated with the way Vic makes best use of limited bandwidth. Specifically, Vic sends video data in groups of 8x8 pixels, giving highest priority to those which appear to have changed recently. It was found that this caused the tiled image to build up slowly with large blank areas until all "static" areas have been sent. By placing recording start under operator control, the unattractive, incomplete period can be avoided in the final recording.

Both Vic and RAT include metadata with their streams that provides information about the source from individual user configuration files. This arrives slowly, with some metadata being exclusive to each source! It is buffered as it builds during the session so that on completion, the controller can interrogate Vic and RAT for their metadata, then combine it into a single file to which non-streamed metadata such as a title, agenda and minutes may be manually added. Storing this metadata with the associated audio/visual record in a searchable object store such as Fedora provides a well orginized archive resource.

Future Development

Currently, the open source utility ffmpeg is used to perform the process of combining audio and video. Occasional problems with "lip-sync" have been observed in the result that warrent closer investigation. Both Vic and RAT are delicate and may occasionally "die" for no readily apparent reason. The controller tool allows them to be restarted, but any premature termination will result in lost data. With more development, it should be practical to recover from this problem with minimal loss.