Short Paper

Impact of New Information Resources: Multimedia and Networks, INFOSYS 296A,
School of Information Management Systems
University of California Berkeley
Fall 1996.

Professor Howard Besser Prof. Howard Besser
The course was offered in the Fall of 1996
by Haas School of Business and the School of Information Management Systems
at University of California at Berkeley.

This paper is written by Shailen S. Mistry (shailen@cs.berkeley.edu)


The Berkeley Continuous Media Toolkit(CMT) is a programming toolkit which provides an innovative way for developing continuous media applications. It is run on most computer platforms including Sun, HP, SGI, Dec Alpha, Linux, and WindowsNT. The CMT can be used to create an application programming interface(API) that allows rapid prototype development. The writer of the multimedia programs is freed from managing the low level details of how the media objects are controlled and manipulated. Instead, the writer can implement a high level design of an application. This new application is very beneficial to users and developers of multimedia presentations or programs. I found the CMT to be an amazing Toolkit used to control and display various forms of multimedia.


The Berkeley Continuous Media Toolkit creates low-level modular tools used for developing continuous media(CM) applications. (2)
Audio, video, text, graphics, slides, and other forms of multimedia can be syncronized and managed using the CMT. Each of the multimedia forms is represented an object which can be read, written, and manipulated as continuous media streams. By representing multimedia objects as data types, a whole new method of handling audio and video has emerged. CMT is a great breakthrough in programming and displaying multimedia applications. It makes it much easier to configure the timing, size, and type of media being shown.


The CMT is built on top of the Tool Command Language(Tcl) and is used with the Tcl Toolkit(Tk). Tcl is an interpreted scripting language that allows simple graphical user interface(GUI) develepment. All the interfacing of the CMT is seen in user friendly windows. Buttons usually hold the options available for each application.

The location of the window running the multimedia applications can be set by the programmer or moved by the user. The size of the window defaults to the size of the image/text being shown. When audio files are being played, the window holds control buttons to stop, play, rewind, forward, and volume are found in the window.

Depending on the complexity of the application, the user can have a great deal of control of what she is viewing/hearing. Interface control options include being able to move frame by frame through a video, move forward or back on slides, change the volume of audio, and search through text. As more reseach and development is done on the CMT, even more features will be introduced as tools in the toolkit.


Synchronization of different media streams is controlled by a logical time system(LTS). The LTS coordinates the execution of separate appliations using the options of source start(ss), source end(se), logical start(ls), and logical end(le) (in seconds). The source start sets the time into which the media applications should start. The source end sets when the media application should end. For example, if a one minute long video object had the options (-ss 10 -se 50), the CMT would start the object ten seconds into the clip and stop playing the clip ten seconds before it ends.

The logical start option is used to set the time where in actual time from the beginning of a series of segments the media application should start. Similarly, the logical end represents the actual time when the segment should end. Usually, this is the logical start time plus the length of the clip to be shown. An example of this is shown in the following. A five minute UC Berkeley video is to have a thrity second emergency interruption for the news. The video object has the options (-ss 0 -se 300) initially set. If the interruption is to occur a minute into the video, the options should be set to (-ls 60 -le 90). A question arises about the values of options for media streams that are not set by the programmer. By default the options are set to the following values if not specified.

        Option          Function        Default Value
        -ss time        source start    0
        -se time        source end      length of the segment
        -ls time        logical start   logical end of the last segment in
                                        the series of segments
        -le time        logical end     logical start(ls) + the actual length
                                        of the segment in the stream

In UC Berkeley video example above, the logical start and finish times were not established. Since there were no previous media streams, the CMT will automatically set logical start to 0, and logical end to 600. For the news commercial, the source start will default to 0, and the source end will default to 30.

The synchronization control built into the toolkit provides an excellent method to control the timings of multimedia applications. By using the flags fro source start/end and logical start/end, the toolkit makes organizing video and audio clips in order much easier. I really liked having the ability to change the timings as simply as described. Network Capability

The CMT has the capability to create objects on other machines (remote hosts). The toolkit contains several commands that create a CM object on a remote host and connect it to a process running on the local computer(server). Using the server process name, the media stream on the remote host can be played, have its options set, or connected to other media streams.

The portability of the CMT can be very helpful as many applications can be distributed over a network of computers. By creating, modifying, and executing CM objects on remote hosts, a great deal of freedom is given to the user in how and where programs are executed. Being able to use foreign hosts in my opinion is a key asset of CMT. With this capability, one person can control what is being shown on many different machines..


The Berkeley Continuous Media Toolkit is a new and innovative programming toolkit used for developing continuous media streams. The syntax and structure of the CMT is very similar to Tcl/Tk and thus is simple to learn. In addtion, additional tools can easily be added to the toolkit so that more features are available to the programmer.

Since the Continuous Media Toolkit has been developed recently in the last year, there are not any commericial applications being sold which use the toolkit. The product will be used primarily by academic institutions and as a plug-in for web browsers. Currently, anyone can download the CMT from the Berkeley Multimedia Resource Center website. (http://bmrc.berkeley.edu/projects/cmt/cmplayer)

Multimedia presentations can be put together using the CMT. In seminar presentation, the speaker's voice, overhead slides, and video/audio demonstations can all be presented to someone interested in the subject across the world, almost as if she was attending the seminar itself. With a new Netscape Plug-In, the CMT can be used by a wide variety of people around the world to view presentations. Future possibilites include using the CMT along with the multicast backbone (MBONE) to provide overhead slides, video clips, and graphic animations along with the video and audio sent out over the internet.

The CMT has competition by other multimedia development applications such as Cornell's project on a Resolution Independent Video Language (RIVL) or commercial applications like the windows media player. Yet, both of the applications mentions cannot handle as many different types of media with the same control as the CMT.

The CMT holds great promise in future development of multimedia on the net. The simple language syntax and structure allows new users to quickly pick up programming in this new toolkit. Its ease of use and reusability of code allows rapid prototyping for application programmers.


  1. Image Provided by Berkeley Multimedia Research Center, Computer Science Division - EECS University of California Berkeley, original image location http://bmrc.berkeley.edu/projects/cmt, October 1996
  2. Rowe, Lawrence A., MacDonald H. Jackson, J. Eric Baldecshwiler. Berkeley Continuous Media Toolkit API, Computer Science Division - EECS University of California Berkeley, Sept. 2, 1996.


  1. Rowe, Lawrence A., MacDonald H. Jackson, J. Eric Baldecshwiler. Berkeley Continuous Media Toolkit API, Computer Science Division - EECS University of California Berkeley, Sept. 2, 1996.
  2. Berkeley Multimedia Research Center. Berkeley Continuous Media Toolkit Berkeley Multimedia Research Center, Computer Science Division - EECS University of California Berkeley, October 1996.
  3. Berkeley Multimedia Research Center. Introduction to CMT Berkeley Multimedia Research Center, Computer Science Division - EECS University of California Berkeley, October 1996.
  4. Patel, Ketan. CMT Documentation Computer Science Division - EECS University of California Berkeley, May 1996.

Related Links

Shailen S. Mistry / October 1996 / Comments