Você está na página 1de 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

Você também pode gostar