The AVATS project provides support for enhanced stability and longevity of the media tools, VIC and RAT. The media tools underpin both the Access Grid (AG) and the Portal Access Grid (PAG).
AVATS provides baseline support for VIC and RAT, enabling a number of benefits:
- ensuring VIC and RAT remain compatible with new developments in the tools operating environments
- supporting and maintaining the web-based development systems established under the SUMOVER project
- coordinating useful developmental contributions by others
- conducting stability enhancements to increase the tools robustness,
- enhancing documentation for the tools
- finding a more long term sustainability model
VIC can receive video with no special hardware, but a video camera and/or capture card is required for sending video. RAT requires some form of audio hardware to send and receive audio. Both tools will run on Windows (XP/Vista), Linux (Ubuntu7+) and OSX(10.4+).
What can it do?
VIC and RAT are open-source applications that, respectively, support the sharing of video and audio over the Internet between multiple participants. Both tools can enable conferencing between two participants directly, or between a group of participants on a common multicast group. They require no special facilities for point-to-point (unicast) communication. However, IP multicast, which is used for multiparty conferencing, requires all participants to reside on a multicast capable network. Media streams are encapsulated in Internet Engineering Task Force (IETF) compliant RealTime Protocol (RTP) formats, which may be optionally de/encrypted with DES or AES.
VIC (VIdeo Conference) is a video conferencing tool that can send and receive video in a variety of standardised formats, such as H.261, H.263 and the newer H.264 and MPEG4. VIC is also compatible with the INSORS IG2 system - both its standards-compliant H.264 streams, and also the decoding of its proprietory H.264 encapsulation. VIC features an auto-layout interface to handle layout of video streams from multiple sites, an image overlay feature for the outgoing video streams, and a variety of controls over transmission and display.
RAT (Robust Audio Tool) is an audio conferencing tool that can send and receive audio in a variety of standardised formats, such as G.711, GSM, G726. RAT features a range of different, receiver-based, loss-concealment routines to mask packet losses, and sender-based channel coding in the form of redundant audio transmission.
How does it work?
VIC attaches to the network on the address and port supplied at startup. It can send and receive video simultaneously - it will listen for valid RTP encapsulated video packets, whilst potentially also sending encoded video. On reception of validated video packets, VIC will instantiate an appropriate codec to decode the video type, and then instantiate a video-render module appropriate for the machine's display type and depth. The stream's packets are fed through the decoding and display chain so that a user can view the video stream. This process is repeated for each of the different streams received by VIC. The resulting video is typically displayed in a (slower) thumbnail view, which the user can click on to provide a large, full-motion-video window. Optionally, the auto-place feature can automatically layout the new video windows in a user-defined layout.
On the sending side, the user selects a video encoding format and a sending rate, and clicks the transmit button. This will instantiate a video-capture module, which grabs frames from a video source (e.g. a camera). Subsequently, an appropriate video-encoder module is instantiated. This takes the frames encodes, packetises them and queues them for delivery on the network. VIC has a control loop which controls the video-packet sending rate, which is configured by the user's choice of video frame and bit rate from the GUI.
RAT connects to the network on the address and port supplied at startup. It listens for valid RTP encapsulated audio packets, whilst - optionally - sending encoded audio. On reception of validated audio packets, RAT instantiates an appropriate codec to decode the audio type, and then connects the decoded stream to a mixer which enders the audio to an audio-output device. Subsequent audio streams will also be connected into the mixer. RAT monitors the streams for lost packets and will attempt to compensate for them using appropriate schemes, such as pattern matching. For audio transmission, RAT sends audio streams based on the user selected codec - which captures, encodes and packetises the audio. The transmission rate is dependent upon the audio codec and rate chosen by the user.