JMF Introduction Yuqiang Liao 08-04-2006. Content What can JMF do What can JMF do Handling Time-Based Media Handling Time-Based Media JMF Architecture.

Slides:



Advertisements
Similar presentations
Java Media Framework. Inhalt Java Media APIs Architektur Zeitmodell Manager Ereignismodell Datenmodell Control Controller Player Processor Plug-Ins Aufnahme.
Advertisements

RTSP – Real Time Streaming Protocol
Global MP3 Geoffrey Beers Deborah Ford Mike Quinn Mark Ridao.
Group 8: Dylan Lentini (AE), Mandy Minuti (WSE), Jean Paul Galea (TL)
Java Media Framework The Java Media Framework (JMF) is an application programming interface (API) for incorporating time- based media into Java applications.
Multi-Model Digital Video Library Professor: Michael Lyu Member: Jacky Ma Joan Chung Multi-Model Digital Video Library LYU9904 Multi-Model Digital Video.
Video Streaming Services Justin Hourigan, Senior Network Engineer, HEAnet Limited
Introducing Mapbuilder Michael Adair Natural Resources Canada.
Lecture13 Java Media Framework II - Java Media Framework II - Processing and Controlling Media with JMF.
1 School of Computing Science Simon Fraser University CMPT 820: Multimedia Systems RTP Media Synchronization for Live MobileVideo Streaming Bassam Almohammadi.
D istributed M edia P layer Students: Ran Margolin & Dan Waxman Supervisor: Ittay Eyal.
Wireless Audio Conferencing System (WACS) Mehmet Ali Abbasoğlu Furkan Çimen Aylin Deveci Kübra Gümüş.
Presentation Outline  Project Aims  Introduction of Digital Video Library  Introduction of Our Work  Considerations and Approach  Design and Implementation.
Quicktime Howell Istance School of Computing De Montfort University.
1 L52 Networking (1). 2 OBJECTIVES In this chapter you will learn:  To understand Java networking with URLs, sockets and datagrams.  To implement Java.
Presentation Outline  Project Aims  Introduction of Digital Video Library  Introduction of Our Work  Considerations and Approach  Design and Implementation.
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Meeting recorder Application based on Software Agents.
NextGRID & OGSA Data Architectures: Example Scenarios Stephen Davey, NeSC, UK ISSGC06 Summer School, Ischia, Italy 12 th July 2006.
LYU0002 Wireless Cyber Campus Supervisor: Prof. LYU, Rung Tsong Michael Marker: Prof. CAI, Leizhen Student:Jang Kim Fung, Harvest Tang Ho Man, Sunny.
FYP0002 Wireless Cyber Campus Supervisor: Prof. Michael R. Lyu Student:Jang Kim Fung Tang Ho Man.
Lecture14 Java Media Framework III – Some JMF Applications.
Outline of Presentation Introduction of digital video libraries Introduction of the CMU Informedia Project Informedia: user perspective Informedia:
Introduction to eValid Presentation Outline What is eValid? About eValid, Inc. eValid Features System Architecture eValid Functional Design Script Log.
Intro to the IU Flash Media Server James McGookey UITS Video Infrastructure Indiana University
1 Java Media Framework: RTP Multimedia Systems: Module 3 Lesson 2 Summary: r RTP m RTP/RTCP Basics m Scenarios r JMF RTP Implementation m Reception m Transmission.
1 Java Media Framework Multimedia Systems: Module 3 Lesson 1 Summary: r JMF Core Model m Architecture m Models: time, event, data r JMF Core Functionality.
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
Understanding and Managing WebSphere V5
3dtv.at DV/HDV Tape Drive Synchronization Stereoscopic Displays and Applications Conference 29 th – 31 th January 2007 San Jose, United States.
T Multimedia Programming Maciej Korczyński, Krzysztof Zurek.
Android Introduction Platform Overview.
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
Configuration Management and Server Administration Mohan Bang Endeca Server.
Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh.
Video Conferencing-introduction --- IT Acumens. COM --- IT Acumens. COMIT Acumens. COMIT Acumens. COM.
Report of Ad hoc Group on Reference Software, Conformance and Demonstrations Tiejun Huang Institute for Digital Media Peking University, China 18th,Jul.
The Java Media Framework: javax.media
Data Interoperability Basics Bruce Harold & Dale Lutz.
Computer and Information Science Ch1.3 Computer Networking Ch1.3 Computer Networking Chapter 1.
Exploring an Open Source Automation Framework Implementation.
Minor Project By: Pasang Gurung Pramod Nepal Rajendra Bdr. Thapa.
Vclass Presentation Component Kanchana Kanchanasut, DEC Director Dr. Akavute Sujare, DEC Consultant Mr. Chaiwarat Chaiyapotpanit, Project Manager Distance.
Department of Computer Science and Engineering, CUHK 1 Final Year Project 2003/2004 LYU0302 PVCAIS – Personal VideoConference Archives Indexing System.
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice HP Library Encryption - LTO4 Key.
Report of Ad hoc Group on Reference Software, Conformance and Demonstrations Tiejun Huang Institute for Digital Media Peking University, China London,
INTEGRATED VOICE STREAM (IVS) SYSTEM. THE OBJECTIVE ● Audio streams can be used to deliver both information and music ● Examples of audio sources: ● Music.
QuickTime The Joy of Streaming!. QuickTime Streaming Server Allows for real time delivery of media over a network. intranet internet Content can be prerecorded.
Lab Assignment 15/ INF5060: Multimedia data communication using network processors.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 28 Multimedia.
Internet Measurment Multimedia 1. Properties Challenges Tools State of the Art 2.
Introduction to Java Beans CIS 421 Web-based Java Programming.
Frameworks CompSci 230 S Software Construction.
Celluloid An interactive media sequencing language.
MPEG-4 streams Comp- ress Comp- ress Comp- ress Comp- ress D E L I V E R Y I N T E R F A C E (DAI) Comp- ress Scene Des. decomp- ress decomp- ress decomp-
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Multimedia Capture & storage. Introduction A rich set of API for recording of audio & video. A developer has two choices  launch the built-in app using.
Video Conferencing and Media Converging using RTP Model Viva on
Video 2 Subject:T0934 / Multimedia Programming Foundation Session:11 Tahun:2009 Versi:1/0.
1 VRoIP (Virtual Reality over IP) NCHC TDW TaskForce Jacky Chih-Lung Chang
Mixing It Up The Last Great Challenge For Game Audio Garry Taylor Audio Manager – WWS Creative Services Group Sony Computer Entertainment Europe.
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
MPEG-4 Binary Information for Scenes (BIFS)
Node.js Express Web Applications
Node.js Express Web Services
BRIDGET Architectures
Video Conferencing-introduction
Developing Collaborative Tools and Services for GridSphere
An Introduction to Microsoft NetShow Services and Advanced Streaming Format (ASF) By Huang Yi-Chin.
Presentation transcript:

JMF Introduction Yuqiang Liao

Content What can JMF do What can JMF do Handling Time-Based Media Handling Time-Based Media JMF Architecture JMF Architecture Key components in JMF Key components in JMF Processing time-based media Processing time-based media Handling Real-Time Media Streams Handling Real-Time Media Streams JMF Architecture JMF Architecture Key components in JMF Key components in JMF Processing stream media Processing stream media Exporting RTP streams Exporting RTP streams Extending custom plugins Extending custom plugins Control Point for DRM Tool Control Point for DRM Tool SAV Architecture SAV Architecture Current issues Current issues Resource Resource

What can JMF do The framework can be extended to present, capture, process and plug-in all kinds of media resource which are time-based or real- time-based The framework can be extended to present, capture, process and plug-in all kinds of media resource which are time-based or real- time-based Media processing model Media processing model

JMF Architecture

Key components in JMF Clock syncs behaviors of many tracks Clock syncs behaviors of many tracks Clock syncs behaviors of many tracks Clock syncs behaviors of many tracks Player corresponding to each track manipulates track Player corresponding to each track manipulates track Player corresponding to each track manipulates track Player corresponding to each track manipulates track Processor inherits from player can handle custom media through plugins Processor inherits from player can handle custom media through plugins Processor inherits from player can handle custom media through plugins Processor inherits from player can handle custom media through plugins Event drives player/processor notify event-listener Event drives player/processor notify event-listener Event drives player/processor notify event-listener Event drives player/processor notify event-listener Datasource represents media resource and datasink manipulates datasource, i.e. read/write datasource Datasource represents media resource and datasink manipulates datasource, i.e. read/write datasource Manager maintains several kinds of components, i.e Manager, PackageManager,PluginManager,CaptureManager Manager maintains several kinds of components, i.e Manager, PackageManager,PluginManager,CaptureManager Manager maintains several kinds of components, i.e Manager, PackageManager,PluginManager,CaptureManager Manager maintains several kinds of components, i.e Manager, PackageManager,PluginManager,CaptureManager

Processing Time-Based Media Creating a Player Creating a Player Setting kinds of parameters, i.e. playback rate Setting kinds of parameters, i.e. playback rate Starting player Starting player Responding to Media Events Responding to Media Events Synchronizing controllers Synchronizing controllers Stop player Stop player

JMF Architecture (RTP)

Key components in JMF(RTP) SessionManager is used to coordinate RTP session through supporting RTCP and to manipulate streams SessionManager is used to coordinate RTP session through supporting RTCP and to manipulate streams RTPStream represents stream in RTP. Two types of RTP streams, ReceiveStream and SendStream RTPStream represents stream in RTP. Two types of RTP streams, ReceiveStream and SendStream RTPEvent is used to report on the state of the RTP session and streams RTPEvent is used to report on the state of the RTP session and streams Listener is used to react on events. Three types of stream listeners, SendStreamListener,ReceiveStreamListener,and RemoteListener Listener is used to react on events. Three types of stream listeners, SendStreamListener,ReceiveStreamListener,and RemoteListener RTPData in JMF is PushBufferDataSource RTPData in JMF is PushBufferDataSource

Processing stream media Setting up a RTP session Setting up a RTP session Detecting new data stream by NewReceiveStreamEvent Detecting new data stream by NewReceiveStreamEvent Retrieving stream by getDataSource Retrieving stream by getDataSource Creating a player for the RTP stream Creating a player for the RTP stream

Exporting RTP streams Constructing a Processor to retrieve ReceiveStream Constructing a Processor to retrieve ReceiveStream Setting the track formats to perform the desired encoding Setting the track formats to perform the desired encoding Getting the output DataSource from the processor Getting the output DataSource from the processor Constructing an RTP file writer with the DataSource Constructing an RTP file writer with the DataSource

Extending custom plugins Custom plugins Custom plugins Only processor handles plugins Only processor handles plugins Configuring processor Configuring processor Calling PlugInManager.getPlugInList to determine what plug- ins are available Calling PlugInManager.getPlugInList to determine what plug- ins are available Calling getTrackControls on Processor to get a TrackControl for each track in stream Calling getTrackControls on Processor to get a TrackControl for each track in stream Calling the TrackControl setCodecChain or setRenderer to specify the plug-ins you want to use for each track Calling the TrackControl setCodecChain or setRenderer to specify the plug-ins you want to use for each track Implementing JMF Plug-ins seeing Chapter 6 Implementing JMF Plug-ins seeing Chapter 6

Control Point for DRM Tool DRM Tool will be plugged into Pre-processing Effect point

SAV Architecture SAVRender 1.Render browser 2.Interactive end-user 3.Render media content SAVManager 1.Parse DCI/DCF 2.Analysis right in license 3.Call JMF Engine DRM Processor DRM Tool JMF Engine 1.Practice Play/Stop/Privous/Next/Volumn Controls 2. Sink media resource (doubt is the type of resource?) 3. Plugin DRM Tool 4. Access RTP Server 1.Encrypt/Decrypt resource 2.More…? 1.Load DRM Tool 2.More…? SAVMessanger Green means module Orange means functionality 1.Access CPD to render programs in embedded browser 2.Access LPD to acquire/query license via its protocol 3.Access CID to validate content ID via its protocol

Current issues JMF Can only handle URL of media resource(i.e..mp3) so it could not handle.dcf directly JMF Can only handle URL of media resource(i.e..mp3) so it could not handle.dcf directly Answer: The media resource(i.e. Mp3) will be extracted to a temp folder Answer: The media resource(i.e. Mp3) will be extracted to a temp folder What’s the type of recorded resource? mp3 sth. like that or stream downloaded from RTP? What’s the type of recorded resource? mp3 sth. like that or stream downloaded from RTP? Record the resource as their own type Record the resource as their own type Encrypt/Decrypt resource on playing? Encrypt/Decrypt resource on playing? YES. YES.

Clock Glance

Player Glance Player States Glance

Control Listener

Manager Glance

Resource JMF 2.0 API Guide JMF 2.0 API Guide2.0 API Guide2.0 API Guide jmf1.html jmf1.html jmf1.html jmf1.html 8&start=0 8&start=0 8&start=0 8&start=0

Thanks!