PRESENTED BY :
GAURAV KUMAR SRIVASTAVA
Downloaded from [Link]
Company profile
Company Name:: Canon Inc.
Founded:: August 10, 1937
Headquarters:: Tokyo, Japan.
Chairman & CEO:: Fujio Mitarai
Canon ISDC:: noida and
bangalore
Downloaded from [Link]
Discussion topics
Time based media
Media processing model
Media framework
Jmf architecture
Jmf classes and interfaces
Applet video player
Streaming media
Streaming protocols: RTP
Downloaded from [Link]
WHAT IS TIME BASED MEDIA?
Any data that changes meaningfully with respect to time can
be characterized as time-based media.
Audio clips, MIDI sequences, movie clips, and animations are
common forms of time-based media.
Such media data can be obtained from a variety of sources,
such as local or network files, cameras,microphones, and live
broadcasts.
Downloaded from [Link]
MEDIA PROCESSING MODEL
Downloaded from [Link]
Media framework : its design goals
Java Media Framework (JMF) is a large and versatile API for
manipulation and processing of time-based media in Java
applications and applets.
This optional package which can capture,playback
stream,transcode multimedia formats ,extends the java 2
standard edition for multimedia developers,by providing a
powerful toolkit to develpop a scalable,cross plateform
technology.
Downloaded from [Link]
Architecture of jmf
Downloaded from [Link]
Jmf architecture
Managers
DataSources
Players
Processors
DataSinks
Downloaded from [Link]
Managers
JMF uses four managers:
Manager--handles the construction of Players, Processors,
DataSources, and DataSinks. This level of indirection allows new
implementations to be integrated seamlessly with JMF.
PackageManager--maintains a registry of packages that contain
JMF classes, such as custom Players, Processors, DataSources, and
DataSinks.
CaptureDeviceManager--maintains a registry of available capture
devices.
PlugInManager--maintains a registry of available JMF plug-in
processing components, such as Multiplexers, Demultiplexers,
Codecs, Effects, and Renderers.
Downloaded from [Link]
Managers..
Downloaded from [Link]
Data Sources
JMF media players usually use DataSources to manage the transfer of
media-content. A DataSource encapsulates both the location of media
and the protocol and software used to deliver the media.
A DataSource is identified by either a JMF MediaLocator or a URL
(universal resource locator).
JMF data sources can be categorized according to how data transfer is
initiated:
Pull Data-Source--the client initiates the data transfer and controls
the flow of data from pull data-sources.
Push Data-Source--the server initiates the data transfer and controls
the flow of data from a push data-source. Push data-sources include
broadcast media, multicast media, and video-on-demand (VOD).
Downloaded from [Link]
Players
A Player processes an input stream of media data and renders
it at a precise time. A DataSource is used to deliver the input
media-stream to the [Link] rendering destination depends
on the type of media being presented.
Data
source
player
Downloaded from [Link]
Processor
Specialized type of Player that provides control over
processing performed on the input media stream
Downloaded from [Link]
Processor stages
Downloaded from [Link]
Processor stages..
Downloaded from [Link]
Data Storage and Transmission
Data Sink is used to read data from a DataSource and
render the media to an output destination.
Its typical actions are writing the data to a file across the
network etc..
Downloaded from [Link]
Simple applet movie player
Simple Java Applet that demonstrates how to create a simple media
player with a media event listener. It will play the media clip right away
and continuously loop.
<!-- Sample HTML
<applet code=TVApplet width=587 height=510>
<param name=file value=[Link]">
</applet> -->
Downloaded from [Link]
Basic steps..
initialization
Retrieve applets FILE parameter
Use this to locate media file and build URL
Create Player using the Manager object
Register applet as a ControllerListener
Downloaded from [Link]
Controlling the player
Starting the Player
public void start() {
if (player != null)
[Link]();
}
Stopping the Player
public void stop() {
if (player != null) {
[Link]();
[Link]();
}
}
Downloaded from [Link]
Applet video player..
Player has methods to get references to
visual components
[Link]()
[Link]()
player.
getControlPanelComponent()
Downloaded from [Link]
Extensibility
Jmf functionality can be extended in two ways:
Direct
implementati
ons
Plug-ins
codec
effect
mux
demux
Data
sink
player
process
or
Data
source
Downloaded from [Link]
Streaming media and Rtp
When media content is streamed to a client in real-time, the client can
begin to play the stream without having to wait for the complete stream
to download.
Transmitting media data across the net in real-time requires high
network throughput.
Consequently, the protocols used for static data dont work well for
streaming media.
Downloaded from [Link]
Streaming protocols
TCP
UDP
http,ftp are
based on tcp
Low
bandwidth,
Slow
streaming
Unreliable
slow
RTP
Dedicated for
real time data
transmission
High speed
streaming
Downloaded from [Link]
RTP architecture
Real time transport protocol
Real time media frameworks and applications
Real time control protocol(RTCP)
Real time transport protocol(RTP)
Other network and transport
protocols(eg,tcp)
UDP
IP
Downloaded from [Link]
RTP reception
An incoming rtp stream is handled by a session
manager
The presentation of the stream is handled by a player
Data
source
network
player
Session manager
Data
source
player
Downloaded from [Link]
Rtp transmission
Session manager creates and sends streams for the content and control the
transmission.
Data
source
file
Data
source
Session
manager
network
processor
Data
source
Data
sink
file
Capture device
Downloaded from [Link]
Conferencing :
WEB CAM
FILE
UPLOAD
SERVLET
JMF
RECEIVER
APPLET
JMF
CAPTURE
APPLET
UPLOAD
THREAD
sender
DIRECTORY
OF FILE
CLIPS
server
receiver
Downloaded from [Link]
Queries?
Downloaded from [Link]