VRTP: Implementing A Monitor Application For The Real-Time Transport Protocol (RTP) Using The Java Media Framework (JMF)

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 20

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
• vrtp
is being developed to provide client, server,
multicast streaming & network-monitoring
capabilities in support of internetworked 3D
graphics and large-scale virtual environments
v
vrtp r
t
Streaming Stack 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
<?xml version="1.0" ?>
<!DOCTYPE Stat SYSTEM "RTPMonitor.DTD" >
<Stat>
<Report>
<Time> 14:32:29 </Time>
<SessionTable>
<TotalParticipants> 2 </TotalParticipants>
<RemoteParticipants> 1 </RemoteParticipants>
<ActiveParticipants> 1 </ActiveParticipants>
<TotalBytesRecd> 132986 </TotalBytesRecd>
<TotalPacketsRecd> 494 </TotalPacketsRecd>
<RTCPPacketsRecd> 122 </RTCPPacketsRecd>
<SRPacketsRecd> 73 </SRPacketsRecd>
<BadRTPPackets> 0 </BadRTPPackets>
<BadRTCPPackets> 0 </BadRTCPPackets>
<MalformedSR> 0 </MalformedSR>
</SessionTable>
<SenderTable>
<SenderCNAME> brutzman@131.120.178.33 </SenderCNAME>
<SenderSSRC> 389773164 </SenderSSRC>
<LostPDU> 0 </LostPDU>
<ProcessedPDU> 372 </ProcessedPDU>
</SenderTable>
<RcvrTable>
<RcvrCNAME> RTPMonitor@nps.navy.mil </RcvrCNAME>
<RcvrSSRC> 3817614594 </RcvrSSRC>
<RcvrSRCSSRC> 389773164 </RcvrSRCSSRC>
</RcvrTable>
<RcvrTable>
<RcvrCNAME> brutzman@131.120.178.33 </RcvrCNAME>
<RcvrSSRC> 389773164 </RcvrSSRC>
<RcvrSRCSSRC> 389773164 </RcvrSRCSSRC>
</RcvrTable>
</Report>
</Stat>
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

You might also like