MERCI MultiMedia Conference Recorder (MMCR)

Lambros Lambrinos
Stuart Clayman

Department of Computer Science
University College London, UK.

This tool was developed during the MICE (work during MICE done by Stuart Clayman) and 
the MERCI (MICE work continued in MERCI by Lambros Lambrinos) projects.

Please report bugs and suggestions to:
L.Lambrinos@cs.ucl.ac.uk


MMCR 1.1
============
The latest release provides fast forward, rewind and random access
facilities. Also, a "change server" facility is provided. 

MMCR 1.0
=============
This is the first release of the MultiMedia Conference Recorder (MMCR). There are 
plenty of things planned to be added. Feedback is more than welcome.

The server,client and browsing software are written in Java. The programs
that do the recording and playback are written in Objective C.

1.0 Requirements
================
JDK1.1 and a machine (to become the server) that runs Solaris and has alot
of storage space available (the more powerful the better).

1.1 Installation
================
Edit the configuration files (client.config,server.config) to reflect your setup.
Allocate a directory for storing the data (give write access only to root) 
Start the server program (with root permission to be able to write on the disk)
on the server machine (command: java Server).
The client can be started from any other machine (command: java VCR).

2.0 The Server
==============
The server program sets up the machine to listen for connections on 
three different ports (recording, playback, browsing). Depending on the
activity required a client will be connected to one of the ports.
It is advisable to direct the server's output to a file.

2.1 The Client
==============
The client allows the user to start recording conferences and/or playback
previously recorded conferences. The current activities of the client
(i.e. what it is recording and playing) are displayed in the main client window. 

2.1.1 Recording
===============
To record, one must specify the title and a description for the conference.
Details of the required media must also be given to the server. These are the
name of the media, the multicast address/post to listen for data and the type
of data to be expected.

The following types of data are supported:
a) Raw: 'Raw' data includes any kind of data that can be sent to a multicast address.
with the exception of RTP encypted data. Recording an RTP media as raw data will
only store the data packets and not the session messages (this makes 'rat' not
work with 'raw' data). 'Wb' and 'nte' data belongs to this category.

b) RTP: 'RTP' data means RTPv2 and RTCP compliant packets. Recording data as RTP
enables extraction of sender details and timing information which are useful for 
playback purposes). 

c) Encypted: 'Encrypted' data is encrypted RTPv2 and RTCP compliant packets.

After all media are specified, the client is ready to connect to the server and
recording can be started. A button can be used to 'pause' and 'resume' recording
and the 'options' to give additional information to the recorder.
 
2.1.2 Browsing
==============
The browser (started when the 'play' option is chosen in the main window) presents the
user with the list of the conferences available on the server. Double-clicking on a title (or selecting it and clicking on the 'conference details' button) on a title
shows more information about the recording.

From the conference details window you can proceed to playback and the sources recorded
appear for selection. There is currently a limit on the number of sources (15) that can 
be played back. Provided that there are less sources the 'select all' button can be 
used. When all the required sources are selected the destination address/port and the 
ttl for each media has to be given.

2.1.3 Playback
==============  
To playback a conference one must go through the process described in 2.1.2 to choose
what they want to play and where (i.e. what addresses). Once these details are entered
playback can begin (click on 'play'). The 3 buttons at the bottom of the player 
interface control the playback. 

3.0 Bugs and limitations
========================
1. Client can only connect to the server specified in the configuration file 
  (an option to change the server on-line will be added soon)
2. Random access,FF,REW during playback not yet implemented
3. No interface to SDR (planned for next release)
4. No of sources limited to 15 during playback
5. No editing of media after their details are entered and registered
6. No media can be added after recording starts
