Streaming Video

Transmitting Video using RTP

Video and audio are streamed across a wide area network from the server to the client in response to a client request for a Web page containing embedded videos. The client plays the incoming multimedia stream in real time as the data is received. Current transport protocol, codec and scalability research plus the increasing bandwidth and avialibility of large capacity WAN's will eventually make video on the Web a practical reality.

JMF is an API from JavaSoft which can handle real-time multimedia streams, such as live video and audio. JMF is excellent for creatingplatform independent clients.

Problem

How to transmit media over the network using JMF and JMF-RTP. You may want to transmit media from one computer to another. Or you may want to broadcast a live feed to your company's intranet. The source of the media can be a file, live capture using a capture device or any other source supported by JMF. Solution Two simple wrapper classes, VideoTransmit and AVTransmit, are provided that can be programmed to take media input from a source of your choice and transmit the media to a destination computer or network in a format acceptable for RTP transmission.

The JMF API is used to read the source and convert it to packetized RTP data. The RTP API implementation included in JMF will then transmit the media using the RTP protocol.

The two sample classes are very similar in structure. But each include a little twist of its own to provide a broader perspective for the readers.

The VideoTransmit program transmits only video regardless of the input source. It always transcodes the media to JPEG/RTP for transmission. It uses the RTP DataSink API to transmit the media. AVTransmit will transmit all available media tracks from the input. It will attempt to use the default supported RTP format for each track. It then uses the RTP SessionManager API for the transmission. For JMF 2.1.1 users, there is also an alternative sample that make use of the new RTPManager API.

Where to go now

The code for performing this is online here. Read the documentation and download the Java Media Framework 2 and compile the programs. Extend them and voila - a completed project.

Java Development Toolkits

The Java Development Toolkits Versions: 1.1x can be found at here.
The Java 2 Development Toolkit ver. 1.2.2 can be found at here.
The Java 2 Development Toolkit ver. 1.3 can be found at here.

Java Media Framework

Here are some Windows 95/98 versions of the Java media Framework that I have saved locally for downloading.

JMF 1.02
JMF 1.1
JMF 1.1 (Java Version - cross platform)
JMF 2.0 Early Access
JMF 2.0 Early Access (Java Version - cross platform)
JMF 2.0
JMF 2.1

Other links for java topics/resources are:

iBus
Sun's Java Beans
Java Tools
Jacob - A java ORB
Java Development Toolkit 1.2
Mediabeans
IBM's Alphaworks - great source for Java stuff
Java Shareware
Java Virtual Machine
Playground
Radus
Mercury
Intel's Java Group
SW Technologies
Java Resources
Javatoys
JAPP
Java Multimedia
Kiwisoft
JNet
IBM's Java stuff

Home

To contact Author: Email: kj.curran@ulster.ac.uk.