Distributed collaboration and webcasting applications are complex distributed applications that require control of multimedia equipment (e.g., cameras, microphones, switchers, projectors, audio systems, etc.) and processes that capture, play, and operate on audio and video streams. These applications typically use multicast communication protocols because data must be delivered to many participants or processes. Considerable research has been completed over the years to create algorithms and programming systems to develop distributed systems and manipulate streaming media. While this research has produced impressive results, distributed streaming media applications are still hard to develop and slow to change. They are complex - often requiring many skilled technicians and operators to maintain and operate.
The research proposed here will develop and publish middleware that will significantly reduce the time and effort required to develop multicast streaming media applications. This software will manage multimedia equipment and streaming services. It will solve three problems: 1) accessing and controlling the widely varying and constantly changing A/V equipment found in a typical studio, classroom or colaboratory, 2) managing streaming media processes and services, and 3) managing conferences, multicast sessions, and media streams. These problems are caused by the proliferation of A/V equipment with custom-designed features, command sets, and interfaces and the complexity of the interface between the audio and video signals used by broadcast production equipment and Internet streaming protocols.
We have three applications in mind that will use this middleware: 1) an interactive end-user shell, 2) an automation system for an Internet webcast production system, and 3) an automation system for the Access Grid distributed collaboration system. The interactive shell is based on the idea of direct manipulation of equipment, streams, sessions, and conferences. The goal is to simplify the use of streaming media in day-to-day activities. The webcast and distributed collaboration control and automation systems will reduce the cost and complexity to produce events. This cost and complexity is a major impediment to widespread use of these technologies. A broadcast television production can afford to hire many producers, directors, and production assistants to produce a program. A webcast or videoconferencing system cannot afford the cost. Users must produce events themselves, which means the systems must be as easy-to-use and reliable as a telephone or a television.
The fundamental principle underlying the proposed middleware is to raise the abstraction level by allowing the user or application to say what they want rather than how to implement it. In other words, use declarative specifications, automate the repetitious and tedious details required to manage resources, and simplify operation of remote equipment.
The proposed middleware, called the Infrastructure for Distributed Video and Audio (INDIVA), manages a collection of A/V equipment, media processing and control computers, and software services. This collection of resources is controlled and managed by a server. An application library will simplify naming and using these resources either directly through desktop applications or indirectly in a program.
The availability of low-cost, high-bandwidth communication can be exploited to allow more people to participate in remote events. The benefit of this proposed research is to enable production of more events at lower cost and operational complexity. In addition, it will encourage the development of new and novel applications that use streaming media.