<< Indiva HomeSetting Up Indiva ManagersHow to compile and install IndivaFirst, make sure that your local OpenMash source code is up to date by running "cvs update", "make", and "make import". Run "make indiva" under your mash build directory (usually mash-code/mash) to create Indiva scripts. Created scripts are located under the bin sub-directory. The scripts created are: imgr (Indiva Manager), ihm (Indiva Host Manager), iae (Indiva Audio Encoder), ive (Indiva Video Encoder), ifwd (Indiva Forwarder), ikld (Indiva Kaleido Controller), irs (Indiva Routing Switcher), iview (Indiva Viewer), ictrl (Indiva Controller). You should make sure that the scripts (as well as the executables mash and smash) are in your PATH environment variable. Setting up Indiva Managerimgr accepts the following parameters
The manager also listens to (RPC port + 1) for HTTP connection. Defining Indiva ResourcesResources in Indiva domains are represented by files or directories located under the Indiva root directory. Every non-hidden file or directory under the Indiva root directory will be treated as a resource. TIP: Hiding a file or directory is a convenient way to "comment" out a particular resource. Resources are classified according to their classes. A 2-3 letters extension in the file or directory name indicates the class of the resource. The following table shows the list of available classes.
In this document, I will refer to the input and output ports collectively as ports, and camera, microphone, mixer, routing switcher and capture cards collectively as devices. Conferences, sessions and streams will be collectively called media resources. Putting resource A under the directory of resource B means that A belongs to B. Therefore, the following constraints holds:
Resource AttributesEach resource has some associated metadata, given by a list of (key,value) pairs. Metadata for RTP streams and ports is stored in the file that represents the resource. For other resources, metadata is stored in a hidden file named ".info" under the directory that represents the resource. Indiva uses plain text in Tcl's list format (for ease of parsing) to store the metadata. The format of the metadata is as follows: classid {
key1 {value1}
key2 {value2}
:
:
}
{
}
classid is a string that represents the class of the resource (used for sanity check). It must be exactly the string as shown in the above class table. The last empty list item { } in the metadata is reserved for future extension. Some (key,value) pairs are required. You can also define your own keys. Keys can appear in any order in the metadata file. Here are some of the required keys that may break the system if not defined correctly. Keys for MBone session
Keys for Devices
Keys for Ports
Adding a new resource in Indiva is as easy as creating a text file. Remember that each resource is represented by a text file or by a directory containing a hidden file .info. Just create a file with the intended name and properly define their attributes. The resource will be recorgnized by Indiva after Indiva Manager restarts. Setting Up Indiva Host ManagerIndiva host manager (ihm) is responsible for launching services. Therefore, it must be running on hosts that run services. These include the capture machines and the control machines. You must also make sure that ihm have executable access to all the services. You should also ensure that smash is in your PATH environment variable, and the service scripts are accesible by ihm. By default, ihm looks for the scripts in the current directory. However, you can specify the scripts directory using option -path. Multicast must be working between ihm and imgr. ihm accepts the following parameters
There are a whole bunch of other parameters ihm supports. But I never tested them. The default values to those parameters seem to be working fine. Active Service ParametersThe managers and services uses Active Service AS1 protocol to communicate with each other. There are a few more command line arguments that you can give to imgr, ihm and services to configure the behavior of Active Services. You normally don't need this.
|