CS298 Proposal

Media Applets

Xunyan Yang(xunyanyang@hotmail.com)

Advisor: Dr. Chris Pollett

Committee Members: Dr. Mark Stamp, Department of Computer Science, (stamp@cs.sjsu.edu), Dr. Suneuy Kim, Department of Computer Science, (kim@cs.sjsu.edu).


Presently, there are many popular media formats such as Windows Media format, Real Media format and QuickTime Media format. To play the media streams supported by different media formats in a browser, we need to install a plugin such as Windows Media player, Real Time player or QuickTime player. There are two problems of this approach. First, it's not convenient for users since they need to install different media plugins which constantly expire. Second, the security implementations of different player plugin software are different. There is no unified mechanism to ensure the security of downloading and playing media streams. The goal of this master's project is to develop a Java media applet, which have the ability to deal with multiple media stream formats, to directly play media streams delivered by the RTSP server in a secure way. The Java media applet will work with server side software which implements Secure Sockets Layer (SSL) protocol to ensure the security.

CS297 Results

  • Wrote a simple Java program to experiment with functionalities of the JMF API. Since Java is the target language of the CS298 project, this deliverable helped me get to know about its ability to play media streams.
  • Wrote a server-side program which implements part of RTSP. This deliverable helped me get familiar with RTSP.
  • Wrote an application that is on top of JSSE (Java Secure Socket Extension) [SUN03] API. This Deliverable let me experiment with the functionalities that provided by the JSSE and get ready to build a SSL applet and server in the final project.

Proposed Schedule

Week 1-4: (Aug 25 - Sep 19)Write the RTSP server.
Week 5-9: (Sep 20 - Oct 24)Write the media applet functioning as a RTSP media player.
Week 10-12: (Oct 25 Nov 14)Write CS298 report.
Week 13-14: (Nov 15 - 28)Give a CS298 draft to the committee. Prepare final presentation.
Week 15 (Nov 29 - Dec 5)Finalize the report.
Week 16: (Dec 6 -12)Oral defense.

Key Deliverables:

  • Software
    • An SSL-enabled RTSP server that can work with my SSL applet.
    • An SSL-enabled applet that implements RTSP. This applet is not only a mini media player that supports AVI format as well as is flexible to allow for other formats in the future.
  • Report
    • Background information and motivation behind the study of this writing project.
    • Description of the architecture of the applet.
    • Description of experiments using my applet and server.

Innovations and Challenges

  • Provide the ability to play media streams in any Java-enabled browser without using a plugin.
  • Provide a channel to ensure the security of downloading and playing media streams.
  • Develop a Java media player without using available Java API such as JMF. For the client machine, we can not assume that any API library is preinstalled.
  • Optimize and minimize the size of the media applet. The size of the applet is crucial since it is directly related to the download time at a given bandwidth.


[MC98] RIFF/WAV File Specification. http://www.music-center.com.br/spec_rif.htm. 1998.

[MICROSOFT03] Advanced Systems Format (ASF) Specification. http://www.microsoft.com/windows/windowsmedia/format/asfspec.aspx. Microsoft. 2003.

[MJ96] AVI Overview, John F. McGowan. http://www.jmcgowan.com/avi.html. 1996.

[NETSCAPE97] SSL Tunneling and the Proxy. http://developer.netscape.come/docs/manuals/proxy/ProxyUnx/SSL-TUNL>HTM. Netscape Communications. 1997.

[NETSCAPE98] Introduction to SSL. http://developer.netscape.com/docs/manuals/security/sslin/contents.htm. Netscape Communications. 1998.

[SRL98] Real Time Streaming Protocol (RTSP). H. Schulzrinne, A. Rao, R. Lanphier http://www.cs.columbia.edu/~hgs/rtsp/draft/draft-ietf-mmusic-rtsp-09.pdf. Columbia Univ./Netscape/RealNetworks. 1998.

[SUN98] Understanding JMF. http://java.sun.com/products/java-media/jmf/2.1.1/guide/JMF Architecture.html. Sum Microsystems. 1998.

[SUN03] Java Secure Socket Extension (JSSE). http://java.sun.com/products/jsse. 2003.