Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 JMF Introduction Yuqiang Liao 08-04-2006

2 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

3 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

4 JMF Architecture

5 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

6 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

7 JMF Architecture (RTP)

8 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

9 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

10 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

11 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

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

13 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

14 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.

15 Clock Glance

16 Player Glance Player States Glance

17 Control Listener

18 Manager Glance

19 Resource http://java.sun.com/products/java-media/jmf/ http://java.sun.com/products/java-media/jmf/ http://java.sun.com/products/java-media/jmf/ JMF 2.0 API Guide JMF 2.0 API Guide2.0 API Guide2.0 API Guide http://www.javaworld.com/jw-04-2001/jw-0406- jmf1.html http://www.javaworld.com/jw-04-2001/jw-0406- jmf1.html http://www.javaworld.com/jw-04-2001/jw-0406- jmf1.html http://www.javaworld.com/jw-04-2001/jw-0406- jmf1.html http://forum.java.sun.com/forum.jspa?forumID=2 8&start=0 http://forum.java.sun.com/forum.jspa?forumID=2 8&start=0 http://forum.java.sun.com/forum.jspa?forumID=2 8&start=0 http://forum.java.sun.com/forum.jspa?forumID=2 8&start=0

20 Thanks!


Download ppt "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."

Similar presentations


Ads by Google