Java Media Player thorugh JMF

22,498 views

Published on

This is a Presentation of my final Year Project in which we developed a java Media Player using Java Media Framework(jMF) which can play various media files inc Video(mpeg,avi,qt etc) and Audio(mp3,wma etc).

Published in: Technology, Education
15 Comments
4 Likes
Statistics
Notes
  • @Prashant Singh sir plz provide the source code
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • can you plz give a abstract about java mediya player,dooodes itzz my project
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • sir we are facing many problems with JMF
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • sir could you make the source code available.....
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • For all Engineering students asking for the source code, I would suggest to read the documentation of JMF and start the code work. Its not that tough and besides will lay foundation for your future coder life, if you are passionate about coding & the field of Software Development.

    Read all that you can here -
    http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html

    Documentation will always be a part of Developer's career.
    All the Best!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
22,498
On SlideShare
0
From Embeds
0
Number of Embeds
95
Actions
Shares
0
Downloads
5,212
Comments
15
Likes
4
Embeds 0
No embeds

No notes for slide

Java Media Player thorugh JMF

  1. 1. Development of JAVA Multimedia Player Using JAVA Media Framework(JMF) Prashant Singh
  2. 2. Introduction
  3. 3. What is Media Player?
  4. 4. Basic Terminology
  5. 5. JAVA Multimedia Framework
  6. 7. JMF Architecture,its Interfaces & its classes
  7. 8. Alternatives for Media Player
  8. 10. Framework
  9. 11. Data Model <ul><li>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. Once obtained, the source cannot be reused to deliver other media. </li></ul><ul><li>A DataSource is identified by either a JMF MediaLocator or a URL (universal resource locator). A MediaLocator is similar to a URL and can be constructed from a URL , but can be constructed even if the corresponding protocol handler is not installed on the system. ( Note : In Java, a URL can only be constructed if the corresponding protocol handler is installed on the system.) </li></ul><ul><ul><li>A standard data source uses a byte array as the unit of transfer. A buffer data source uses a Buffer object as its unit of transfer. </li></ul></ul><ul><li>JMF data sources can be categorized according to how data transfer is initiated: </li></ul><ul><ul><li>Pull Data-Source --the client initiates the data transfer and controls the flow of data from pull data-sources. </li></ul></ul><ul><ul><li>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). </li></ul></ul>
  10. 12. Managers <ul><li>JMF uses four managers: </li></ul><ul><ul><li>Manager --handles the construction of Players, Processors, DataSources, and DataSinks. This level of indirection allows new implementations to be integrated seamlessly with JMF. </li></ul></ul><ul><ul><li>PackageManager --maintains a registry of packages that contain JMF classes, such as custom Players, Processors, DataSources, and DataSinks. </li></ul></ul><ul><ul><li>CaptureDeviceManager --maintains a registry of available capture devices. </li></ul></ul><ul><ul><li>PlugInManager --maintains a registry of available JMF plug-in processing components, such as Multiplexers, Demultiplexers, Codecs, Effects, and Renderers. </li></ul></ul>
  11. 13. JMF: Main Functionality <ul><li>Presentation </li></ul><ul><ul><li>Take media content from a DataSource and render it. </li></ul></ul><ul><ul><li>This functionality is contained in the Controller interface </li></ul></ul><ul><ul><ul><li>Player extends this interface </li></ul></ul></ul><ul><li>Processing </li></ul><ul><ul><li>Take media content from a DataSource , perform some user-defined processing on it, and output it </li></ul></ul><ul><ul><li>This functionality is contained in the Processor interface </li></ul></ul><ul><ul><ul><li>Processor extends the Player interface </li></ul></ul></ul><ul><li>Capture </li></ul><ul><ul><li>A capturing device can act as a source for multimedia data. </li></ul></ul><ul><ul><li>Capture devices are abstracted as DataSources . </li></ul></ul><ul><li>Media Storage and Transmission </li></ul><ul><ul><li>A DataSink reads media data from a DataSource and renders it to some destination (generally a destination other than a presentation device). </li></ul></ul><ul><ul><li>E.g., A DataSink might write data to a file, write data across the network. </li></ul></ul>
  12. 14. Player <ul><li>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 Player.The rendering destination depends on the type of media being presented. </li></ul>DataSource Player
  13. 15. Processor <ul><li>A Processor is a Player that takes a DataSource as input, performs some user-defined processing on the media data, and then outputs the processed media data . </li></ul>Processor Pre A->B Post Pre A->B Post Codec Plugin Post-Proc. Plugin Pre-Proc. Plugin Track1 Track2 Demux Plugin Mux Plugin Renderer Plugin Renderer Plugin
  14. 16. JMF Defines Six States in Player
  15. 17. JMF:Extensibility <ul><li>One can extend JMF by implementing custom plug-ins, media handlers, and data sources. </li></ul><ul><ul><li>Implementing the Demultiplexer interface enables you to control how individual tracks are extracted from a multiplexed media stream. </li></ul></ul><ul><ul><li>Implementing the Codec interface enables you to perform the processing required to decode compressed media data, convert media data from one format to another, and encode raw media data into a compressed format. </li></ul></ul><ul><ul><li>Implementing the Effect interface enables you to perform custom processing on the media data. </li></ul></ul><ul><ul><li>Implementing the Multiplexer interface enables you to specify how individual tracks are combined to form a single interleaved output stream for a Processor. </li></ul></ul><ul><ul><li>Implementing the Renderer interface enables you to control how data is processed and rendered to an output device. </li></ul></ul>
  16. 18. Reference <ul><li>JAVA 2 : The Complete Reference by Herbert Shildt. </li></ul><ul><li>The Main Site: java.sun.com </li></ul><ul><li>Other Site: javaworld.com </li></ul><ul><li>http://wikipedia.com </li></ul>
  17. 19. Thank You!

×