Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

31
Minor Project Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa

Transcript of Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Page 1: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Minor ProjectMinor Project

By:

• Pasang Gurung • Pramod Nepal• Rajendra Bdr. Thapa

Page 2: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

IntroductionIntroduction

The Garatron are a race in the The Garatron are a race in the Animorphs series similar to Andalites.Animorphs series similar to Andalites.

They use a form of thought speech They use a form of thought speech that is very fast and condensed that is very fast and condensed compared to the standard Andalite compared to the standard Andalite form of communication.form of communication.

Remote MeetingRemote Meeting

Distant EducationDistant Education

Page 3: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Platform & ToolsPlatform & Tools

Java (JDK 1.6)Java (JDK 1.6)

Java Media Framework (JMF 2.1.1e)Java Media Framework (JMF 2.1.1e)

Microsoft OfficeMicrosoft Office

Photoshop, Gimp, MspaintPhotoshop, Gimp, Mspaint

Page 4: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

ObjectiveObjective

To provide an easy and cheap To provide an easy and cheap alternatives to the existing alternatives to the existing conferencing and remote meeting conferencing and remote meeting systemssystems

To play distant mediaTo play distant media

To provide virtual class.To provide virtual class.

Communicate “face to face”.Communicate “face to face”.

Page 5: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Java Media Framework (why?)Java Media Framework (why?)

It is the API to handle media in JavaIt is the API to handle media in Java

It provides support for popular media It provides support for popular media formats (AIFF, GSM, MIDI, MPEG 2/3, formats (AIFF, GSM, MIDI, MPEG 2/3, Sun Audio, Wave, AVI, Flash, Sun Audio, Wave, AVI, Flash, HotMedia, MPEG ¼, QuickTime)HotMedia, MPEG ¼, QuickTime)

Many more RTP formatsMany more RTP formats

Page 6: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Time Based MediaTime Based MediaAny data that varies in a meaningful Any data that varies in a meaningful manner with respect to time.manner with respect to time.

Time Based Media Properties Time Based Media Properties

- data intended for presentation- data intended for presentation

- data in digital format(capturing)- data in digital format(capturing)

Page 7: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Bandwidth, compressionBandwidth, compressionThe raw data suitable for presentation The raw data suitable for presentation has a high bandwidth.has a high bandwidth.

Overcome the challenge in the area of Overcome the challenge in the area of storing and transmitting media. storing and transmitting media.

A 56K modem does not have that great A 56K modem does not have that great bandwidth to send such filesbandwidth to send such files

Page 8: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

compression, codeccompression, codecThe media is kept in a compressed format while being The media is kept in a compressed format while being stored or transmitted. stored or transmitted.

The media is decompressed only before processing. The media is decompressed only before processing.

The compression and decompression of the The compression and decompression of the media(codecs).media(codecs).

It can work in hardware or software. It can work in hardware or software.

Page 9: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Tracks, multiplexing, de-Tracks, multiplexing, de-multiplexingmultiplexing

TracksTracks -channel of time-based media -channel of time-based media -Each track has its own format.-Each track has its own format.

MultiplexingMultiplexing -combining multiple tracks of data-combining multiple tracks of data

De-multiplexingDe-multiplexing -Separating individual tracks from a multi-track media -Separating individual tracks from a multi-track media

object object

Page 10: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Fig. multiplexing

fig. de-multiplexing

Page 11: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

StreamingStreamingTrue streaming True streaming

-real time streaming-real time streaming -when audio arrives from remote-when audio arrives from remote site then it is presented site then it is presented -TV broadcasting in BBC -TV broadcasting in BBC

Progressive streamingProgressive streaming

-common in web-common in web -media downloaded to system disk drive-media downloaded to system disk drive

Passive streamingPassive streaming -audio and video can be streamed in real time -audio and video can be streamed in real time between sites between sites -video-conferencing-video-conferencing

Page 12: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.
Page 13: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

StreamingStreamingSimultaneous, bi-directional streaming is required Simultaneous, bi-directional streaming is required for applications such as video conferencing: both for applications such as video conferencing: both sites transmitting and receiving media sites transmitting and receiving media simultaneously. simultaneously.

The data that forms the media stream, typically The data that forms the media stream, typically in fixed sized packets, suffers a delay, known as in fixed sized packets, suffers a delay, known as latency, between its transmission and receipt. latency, between its transmission and receipt.

Transmission using appropriate protocols for Transmission using appropriate protocols for communications such as RTP (Real-time Transfer communications such as RTP (Real-time Transfer Protocol) and RTCP (RTP Control Protocol) can aid Protocol) and RTCP (RTP Control Protocol) can aid the monitoring and, hence, detection of and the monitoring and, hence, detection of and possible compensation for such network induced possible compensation for such network induced problems. problems.

Page 14: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

TimeTime

For time based media it takes five states (controller eg. Player from creation to being ready to start)

UnrealizedRealizingRealizedPrefetchingPrefetched

Page 15: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Controller state diagram

Time Central Concept

Page 16: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Creating PlayerCreating Player

Convert the URL to a MediaLocator (if URL Convert the URL to a MediaLocator (if URL based method is used).based method is used).

Create a DataSource for the MediaLocator Create a DataSource for the MediaLocator (if DataSource based method isn't used).(if DataSource based method isn't used).

Obtain the Player that can handle the Obtain the Player that can handle the DataSource.DataSource.

Attach the DataSource to the Player.Attach the DataSource to the Player.

Return the Player object.Return the Player object.

Page 17: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Creating a PlayerCreating a Player

EgEg MediaLocator locator = new MediaLocator(***); MediaLocator locator = new MediaLocator(***); // ***Specify media location;// ***Specify media location; Player player = Manager.createPlayer(locator); Player player = Manager.createPlayer(locator);

Alternatively, to create RealizedPlayerAlternatively, to create RealizedPlayer

MediaLocator = new MediaLocator(***); MediaLocator = new MediaLocator(***); Player player = Manager.createRealizedPlayer(locator);Player player = Manager.createRealizedPlayer(locator); MediaLocator = new MediaLocator(***); Player player = MediaLocator = new MediaLocator(***); Player player = Manager.createRealizedPlayer(locator);Manager.createRealizedPlayer(locator);

Page 18: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Creating a ProcessorCreating a Processor

Convert the URL to a MediaLocator (if Convert the URL to a MediaLocator (if URL based method is used).URL based method is used).

Create a DataSource for the Create a DataSource for the MediaLocator (if DataSource based MediaLocator (if DataSource based method isn't used).method isn't used).

Obtain the Processor that can handle the Obtain the Processor that can handle the DataSource.DataSource.

Attach the DataSource to the Processor.Attach the DataSource to the Processor.

Return the Processor object.Return the Processor object.

Page 19: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Creating a ProcessorCreating a ProcessorEgEg

MediaLocator locator = new MediaLocator(***); MediaLocator locator = new MediaLocator(***); Processor Processor processor=Manager.createProcessor(locator); processor=Manager.createProcessor(locator);

Alternatively to create Realized ProcessorAlternatively to create Realized Processor

//Specify the model for processing //Specify the model for processing ProcessorModel model = new ProcessorModel model = new ProcessorModel(...); // Create the processor ProcessorModel(...); // Create the processor Processor processor = Processor processor = Manager.createRealizedProcessor(model); Manager.createRealizedProcessor(model);

Page 20: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

DataSource,ControlsDataSource,Controls

Means by which Players, Processors, or Means by which Players, Processors, or DataSinks obtain their data. DataSinks obtain their data. Interface possesses a single method Interface possesses a single method getControlComponent(), getControlComponent(), Format— An abstraction of the format of media. Format— An abstraction of the format of media.

Format classes: AudioFormat, VideoFormat, Format classes: AudioFormat, VideoFormat, and ContentDescriptor. and ContentDescriptor. Buffer Class Handles the buffering of the Buffer Class Handles the buffering of the media.media.The Buffer object carries the media data The Buffer object carries the media data metadata such as the media format, metadata such as the media format, timestamps, length, and other header timestamps, length, and other header informationinformation..

Page 21: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Media CaptureMedia CaptureCaptureDeviceManager manages theCaptureDeviceManager manages the central registry of capture devices central registry of capture devices known to the JMF.known to the JMF.

CaptureDeviceInfo - Information CaptureDeviceInfo - Information about a particular capture device, about a particular capture device, including the Formats it supports. including the Formats it supports.

CaptureDevice - A further CaptureDevice - A further specialization of the DataSource specialization of the DataSource produced by a capture device to produced by a capture device to include appropriate methods for include appropriate methods for control of the device and its output. control of the device and its output.

Page 22: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Media CaptureMedia CaptureProcess:Process:

Obtain a CaptureDeviceInfo object Obtain a CaptureDeviceInfo object ((typically typically obtained by querying CaptureDeviceManager).obtained by querying CaptureDeviceManager).

Get CaptureDeviceInfo's MediaLocator.Get CaptureDeviceInfo's MediaLocator.

Create a DataSource from the MediaLocator.Create a DataSource from the MediaLocator.

Create a Player or Processor Create a Player or Processor using the Manager using the Manager class and the DataSource from the previous step.class and the DataSource from the previous step.

Perform any necessary configuration or Perform any necessary configuration or programming programming (for example, Processor programming or (for example, Processor programming or creation of DataSink).creation of DataSink).

Start the Player or Processor.Start the Player or Processor.

Page 23: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

What'sWhat's RTP?RTP?

Real-Time Transport Protocol, an Internet Real-Time Transport Protocol, an Internet standard for the transport of real-time datastandard for the transport of real-time data

Provides end-to-end network transport Provides end-to-end network transport functions .functions .

Applications typically run RTP on top of UDPApplications typically run RTP on top of UDP

RTP is augmented by a control protocol—RTP is augmented by a control protocol—RTCP (RTP Control Protocol). RTCP (RTP Control Protocol).

RTCP provides information about the RTCP provides information about the quality of service of an RTP connection by quality of service of an RTP connection by identifying the participants and relevant identifying the participants and relevant information about each. information about each.

Page 24: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Layering of RTP

Page 25: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

RTP going deep….RTP going deep….RTP Session - identified by a network address and a pair RTP Session - identified by a network address and a pair of ports between applications.of ports between applications.

RTP Participant— An application taking part in an RTP RTP Participant— An application taking part in an RTP Session.Session.

RTP Port—integer number for differentiating different RTP Port—integer number for differentiating different application on same machine.application on same machine.

RTP Formats –RTP Formats – AudioAudio

- ULAW_RTP, GSM_RTP , DVI_RTP , G723_RTP- ULAW_RTP, GSM_RTP , DVI_RTP , G723_RTP VideoVideo - JPEG_RTP , H261_RTP, H263_RTP - JPEG_RTP , H261_RTP, H263_RTP Their compression is similar to non-RTP versions. Their compression is similar to non-RTP versions.

Page 26: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Multicasting Multicasting IP supports a number of addressing IP supports a number of addressing schemes: unicast, broadcast, and schemes: unicast, broadcast, and multicast. multicast. Unicast, Multi-Unicast, Broadcast, and Unicast, Multi-Unicast, Broadcast, and Multicast Multicast Network addresses in the range 224.0.0.0 Network addresses in the range 224.0.0.0 to 239.255.255.255, are assigned by IANA to 239.255.255.255, are assigned by IANA (Internet Assigned Numbers Authority) for (Internet Assigned Numbers Authority) for multicast applications.multicast applications.The addresses from 224.2.0.0 to The addresses from 224.2.0.0 to 224.2.127.253 (inclusive) are currently 224.2.127.253 (inclusive) are currently assigned for multimedia conference calls. assigned for multimedia conference calls.

Page 27: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

Future EnhancementFuture Enhancement

the provision of saving the real time the provision of saving the real time media for future documentationmedia for future documentation

The provision of multicasting the The provision of multicasting the content of white board in real time.content of white board in real time.

To make Garatron for more general To make Garatron for more general useuse

Page 28: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

OutputOutput

Page 29: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

ImplementationImplementation

Security measuresSecurity measures

Remote classesRemote classes

Meeting and addressingMeeting and addressing

Page 30: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

ReferencesReferenceswww.sun.com/javawww.sun.com/java

jmf 2_0 guide (pdf)jmf 2_0 guide (pdf)

The Complete Reference Java J2SE TM The Complete Reference Java J2SE TM 5 Edition By Herbert Schildt5 Edition By Herbert Schildt

PRENTICE HALL - DEITEL How To PRENTICE HALL - DEITEL How To Progaram JAVAProgaram JAVA

Sams Java Media APIsSams Java Media APIs

Different java forumsDifferent java forums

Many web articles.Many web articles.

Page 31: Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.

THANK YOUTHANK YOU

aratron Team

Have a nice day.