vrtpvrtpvrtpvrtp vrtp: implementing a monitor application for the real-time transport protocol (rtp)...

20
v v r r t t p 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

Upload: domenic-parker

Post on 16-Dec-2015

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

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

Page 2: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

• 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

Thesis Motivation

Page 3: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttppReal-Time Transport Protocol (RTP)

• 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)

Page 4: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

MBone Videoconference Example (using vic)

Page 5: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

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)

RTP Monitor Application

Page 6: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

• 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

Java Media Framework (JMF)

Page 7: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

• vrtp is being developed to provide client, server, multicast streaming & network-monitoring capabilities in support of internetworked 3D graphics and large-scale virtual environments

Virtual Reality Transfer Protocol (vrtp)

Page 8: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

vrtp Streaming Stack

Page 9: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

• 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

Thesis Work

Page 10: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttppThesis product : rtpMonitor

Page 11: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

• 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

rtpMonitor Features

Page 12: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpprtpMonitor Session Bookmarks

Page 13: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpprtpMonitor Preferences

Page 14: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpprtpMonitor Output Files

Page 15: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

JMF / RTPMonitor Media Presentation

Page 16: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

• 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!

Lessons Learned

Page 17: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

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

Future Work

Page 18: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

<?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> [email protected] </SenderCNAME> <SenderSSRC> 389773164 </SenderSSRC> <LostPDU> 0 </LostPDU> <ProcessedPDU> 372 </ProcessedPDU></SenderTable> <RcvrTable> <RcvrCNAME> [email protected] </RcvrCNAME> <RcvrSSRC> 3817614594 </RcvrSSRC> <RcvrSRCSSRC> 389773164 </RcvrSRCSSRC></RcvrTable> <RcvrTable> <RcvrCNAME> [email protected] </RcvrCNAME> <RcvrSSRC> 389773164 </RcvrSSRC> <RcvrSRCSSRC> 389773164 </RcvrSRCSSRC></RcvrTable> </Report></Stat>

Future work: example XML output file

Page 19: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

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

Some Web References

Page 20: Vrtpvrtpvrtpvrtp VRTP: Implementing a Monitor Application for the Real-Time Transport Protocol (RTP) using the Java Media Framework (JMF) Francisco Afonso

vvrrttpp

• Francisco Afonso - [email protected]

• Don Brutzman - [email protected]

http://web.nps.navy.mil/~brutzman

Contact Information