v
r
t
p
VRTP: Implementing a Monitor Application
for the Real-Time Transport Protocol (RTP)
using the Java Media Framework (JMF)
Francisco Afonso
Thesis Advisor: Don Brutzman
September 1999
v
r
t
Thesis Motivation p
• An RTP monitor is a useful tool for MBone
applications and future vrtp applications
• JMF is a possible solution for the implementation
of the RTP protocol in vrtp
•JMF is a free package, extension of Java language
• The RTP Monitor is the first step to understanding
JMF for future transmission and reception of
simulation data
v
r
t
Real-Time Transport Protocol (RTP) p
• RTP is a protocol designed to support the transmission of
time-based media, such as audio and video, over
multicast-capable networks
• Using RTP a session between several participants can be
established (many to many). Each participant sends
feedback messages about the reception of each sender.
(RTP Control Protocol - RTCP)
• RTP does not guarantee real-time delivery, since it
usually runs over UDP
•RTP is used in MBone - Multicast Backbone (an
experimental worldwide multicast network)
v
MBone Videoconference Example r
t
(using vic) p
v
r
t
RTP Monitor Application p
Definition: an RTP monitor is an application
that receives packets sent by all participants,
to estimate the quality of service for
distribution monitoring, fault diagnosis and
long-term statistics. (RFC 1889)
v
r
t
Java Media Framework (JMF) p
• JMF is a Java API developed by Sun
Microsystems and other companies to allow
the use of multimedia features by Java
applications and applets
• Supports reception and transmission of
audio and video streams using RTP
• Latest version: JMF 2.0 Beta
v
r
t
Virtual Reality Transfer Protocol (vrtp) p
is being developed to provide client, server,
• vrtp
multicast streaming & network-monitoring
capabilities in support of internetworked 3D
graphics and large-scale virtual environments
v
vrtp r
Streaming Stack t
p
v
r
t
Thesis Work p
• RTP specification (RFC 1889) - 70 pages
• JMF API Programmer's Guide - 200 pages
• JMF Javadoc (RTP API only) - 120 pages
- 29 classes, 22 interfaces, 4 exceptions
• JMF example source code
• A lot of Internet browsing about RTP
• JMF and IEFT - AVT mailing lists
v
r
t
Thesis product : rtpMonitor p
v
r
t
rtpMonitor Features p
• Displays global and stream statistics
• Displays participants and feedback reports
• Records statistics on files ( last five minutes, previous
five minutes, last hour, previous hour, different dates)
• Plays audio or video received in the session
• Saves session addresses and names as bookmarks
• Allows customization ( recording interval, presentation
interval, participation in the session, … )
• Launches external application for viewing output files
v
r
t
rtpMonitor Session Bookmarks p
v
r
t
rtpMonitor Preferences p
v
r
t
rtpMonitor Output Files p
v
JMF / RTPMonitor r
t
Media Presentation p
v
r
t
Lessons Learned p
• Software reuse is good. Do not reinvent the wheel!
• Big companies make big pieces of software with lots of
bugs. Try to help detect the bugs, specially if the software
is free and you need it.
• Study Design Patterns. They have been used by good
software designs.
• Subscribe mailing lists about your thesis topic. You can
learn with other people problems and experiences.
• Internet standards are still evolving. You can help!
v
r
t
Future Work p
In RTPMonitor:
• Present information about the participants
• Save statistics in XML format
• Analyze stored statistics and present them graphically
• Receive Session Description Protocol (SDP)
announcements
In vrtp:
• Send and receive simulation data with RTP and JMF
v
Future work: r
t
example XML output file p
14:32:29
2
1
1
132986
494
122
73
0
0
0
brutzman@131.120.178.33
389773164
0
372
RTPMonitor@nps.navy.mil
3817614594
389773164
brutzman@131.120.178.33
389773164
389773164
v
r
t
Some Web References p
RTP: http://www.ietf.org/internet-drafts/draft-ietf-avt-rtp-new-04.txt
JMF: http://www.javasoft.com/products/java-media/ jmf/index.html
vrtp: http://www.web3d.org/WorkingGroups/vrtp/
XML: http://www.w3.org/XML
UML: http://www.rational.com/uml/index.jtmpl
v
r
t
Contact Information p
• Francisco Afonso - afonso@cs.nps.navy.mil
• Don Brutzman - brutzman@nps.navy.mil
http://web.nps.navy.mil/~brutzman