Java Media Framework - Multimedia Computing - Lecture Slides, Slides of Multimedia Applications

Multimedia Computing, In this short course we study the basic concept of the principle of computer architecture. In these lecture slides the key points cover in these slides are:Java Media Framework, Application Programming Interface, Java Applications and Applets, Java Media Player, Media Processing Model, Media Streams, Transcode Audio Track, Supported Content Types, High-Level Architecture

Typology: Slides

2012/2013

Uploaded on 04/23/2013

sarasvatir
sarasvatir šŸ‡®šŸ‡³

4.5

(28)

86 documents

1 / 59

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Java Media Framework
•The Java Media Framework (JMF) is an application
programming interface (API) for incorporating time-
based media into Java applications and applets
–The JMF 1.0 API (the Java Media Player API) enabled programmers to
develop Java programs that presented time-based media
–JMF 2.0 API extends the framework to provide support for
•capturing and storing media data,
•controlling the type of processing that is performed during
playback,
•performing custom processing on media data streams
•JMF 2.0 defines a plug-in API to allow developers to
customize and extend JMF functionality
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b

Partial preview of the text

Download Java Media Framework - Multimedia Computing - Lecture Slides and more Slides Multimedia Applications in PDF only on Docsity!

Java Media Framework

  • The Java Media Framework (JMF) is an application programming interface (API) for incorporating time- based media into Java applications and applets - The JMF 1.0 API (the Java Media Player API) enabled programmers to develop Java programs that presented time-based media - JMF 2.0 API extends the framework to provide support for - capturing and storing media data, - controlling the type of processing that is performed during playback, - performing custom processing on media data streams - JMF 2.0 defines a plug-in API to allow developers to customize and extend JMF functionality

JMF Media Processing Model

Example

  • Process an mpeg-1 a/v media stream
    • Transcode video track to H.
    • Transcode audio track to GSM
  • Steps
    • Demultiplex to obtain tracks
    • Decompress video track
    • Compress using H.
    • Decompress audio track
    • Compress using GSM
    • Multiplex two tracks
    • Save to file

JMF Design Goals

  • Enable input, processing and output of time-

based media

  • Provides common cross platform API for

accessing underlying media frameworks

  • Extensible
    • support additional content types and formats, optimize handling of supported format, create new presentation mechanisms

Recording, processing, and

presenting time-based media

High-level Architecture

Time Model

  • The Clock interface
    • Defines basic timing and synchronization operations
    • Contains a Timebase
      • Based on the system clock
      • time-base time
        • Simply provides current time
    • Clock marks time for a particular media stream
      • media time
        • Current position within a media stream

Time Model

Example

  • Example: Have a 20 sec MPEG video stream
    • MediaStartTime= 10 secs,
    • TimeBaseTime= 3 secs
    • TimeBaseStartTime= 0 secs, TimeBaseTime– TimeBaseStartTime= 3 secs
    • Media-time= media start-time+ Rate(time-base time – time-base start-time)
  • So if Rate = 1.0, MediaTime= ??
  • Alternatively, if rate = -2.0, MediaTime= ??

Achieving Synchronization

  • Example
    • Want to force a video renderer to sync to the timebase of an audio renderer
    • X = audio_renderer.getTimeBase()
    • Video_renderer.setTimeBase(X)
  • Both objects would now use the same source

of time.

Controllers

Controller lifecycle

JMF Event Model

Controls

  • Mechanism for setting and querying attributes

of an object

  • Certain objects expose Controls
    • e.g. often used by PlugIns to provide access to their Control objects
    • Examples
      • FrameRateControl
      • GainControl
        • Can associate listener for when volume changes