Web Conferencing Using the Java Media Framework (JMF)
Broadcast and receive media streams
This article describes our experiences with developing a browser-based Web conferencing application with the following constraints:
1. HTTP protocol (port 80) to broadcast and receive video/audio
2. Broadcasters and receivers are not required to have public IP addresses
3. Multiple users, each capable of broadcasting to and receiving feeds from many users
4. Low-cost solution for continuous video/audio feed
Java Media Framework (JMF) is used to develop the browser-based Web conferencing application. In this architecture, the client uses two JMF applets - one for capturing video/audio from a Webcam and the other for playing video/audio feed. The capture applet continuously captures video/audio feed for a specified length of time (e.g., 10 seconds) and saves it locally in a file. This file is uploaded to a Web server using an upload servlet. The media stream is stored in MSVIDEO (AVI) or QUICKTIME (MOV) format. The player applet then continuously fetches the media clips from the Web server.
The player applet uses perfecting capability to play clips from the server in a continuous manner. The advantages of this approach are that it does not require expensive streaming servers, and it satisfies the constraints mentioned earlier. The article will start with a brief explanation about real-time streaming, followed by an introduction to JMF, a description of the capture and player applets, and a comparison with other technologies.
Please find the relevent files attached..