The recorder must firstly deal with multiple media within each conference, and secondly with multiple sources for each of the media.
Each media will be received on a different multicast address and port pair. It is the responsibility of the recorder to collect data from the multicast address for each media and determine the source of the sender. The utilization of the multicast address is in effect a multiplexing process by the senders. Each source sends packets to the same multicast address, and the underlying virtual network delivers those packets to all the members of that multicast address. There is neither a guarantee of delivery nor a guarantee of ordering for packets so each receiver may see the data arriving differently. The recorder, which has to join the multicast address to receive the data and is therefore a member, has to de- multiplex information from the multicast address in order to determine the original source. This process is shown in figure 9.14.
When the recorder receives packets for a media they are de-multiplexed from the media's multicast address, the source is determined, and the packet data is then stored as-is using an index for each of the sources. This is the simplest approach to recording, and can be used for data on any multicast address. The data does not need to be a traditional media, but can be any multicast data.
Many media applications use two (and occasionally more) multicast addresses, one for data and another for session messages. If two multicast addresses are used the recorder needs to accommodate this. Given the different kinds of media and their associated session messages it is pertinent to have specialised per-media recorders that can deal with this.
Once the issue of multiple multicast addresses is dealt with, some recorders may need to look at the contents of the packets before doing the indexing process. Of particular interest are sender timestamps, which are contained in the packet header for a media. Much of the RTP specification deals with sender timestamps and how to process them. It is expected that a specialised RTP recorder can utilize this functionality.
A further enhancement of the recorders is to deal with cross-media synchronisation signals. These will probably contain sender timestamps for multiple media, in order to allow a receiver to calibrate themselves and facilitate lip synchronisation. Without media tool support, lip synchronisation is not possible. Furthermore, any recorder of such media must also cope with these calibration signals.
Next: The Player Up: Recording Previous: Strategies for Recording and Jon CROWCROFT