SlideShare a Scribd company logo
Multimedia Programming CSC533 Chapter 3a:  Multimedia Frameworks 04/19/11 CSC533 - SAY
What is Software Framework? In  computing , a  software framework  provides “the skeleton of an application that can be customized by an application developer” Like  software libraries , software frameworks aid the software developer by containing source code that solves problems for a given domain and provides a simple  API .  04/19/11 CSC533 - SAY
Types of software frameworks A software framework may focus on building graphical editors for different domains like artistic drawing, music composition, and mechanical  CAD . Another software framework can help build  compilers  for different  programming languages  and target machines. Yet another might help build financial modeling applications or  decision support systems Frameworks exist for  multimedia ,  web applications , and even  communicating between different systems .  04/19/11 CSC533 - SAY
What is Multimedia Framework? A  multimedia   framework  (MMF) is a  software framework  that handles  media  on a computer and through a network.  A good multimedia framework offers an intuitive  API  and a modular architecture to easily add support for new  codecs ,  container formats  and  transmission protocols .  It is meant to be used by applications such as  media players  and  audio  or  video editors , but can also be used to build  Videoconferencing applications , media converters and other multimedia tools.  Source from wikipedia. 04/19/11 CSC533 - SAY
Multimedia Framework Requirements Economy of concepts MM framework should be based on small number of concepts, otherwise it becoming a maze Identify any general concepts that apply across media types Open should be possible to extend MM framework to incorporated new media types, new data representations, new h/ware capabilities Queryable should specify interfaces for querying environments concerning their capabilities. Applications can then recognize missing functionality and adapt their behavior. 04/19/11 CSC533 - SAY
Multimedia Framework Requirements Distribution MM Framework should help applications in a way that facilitates distribution. In particular, objects within framework should correspond to easy-to-distribute units or subsystems. Scalable MM Framework should support scalable media representations. Once media are in digital form, improvements in quality and capability are tied to advances in h/w Early version of processor might handle video at quarter screen resolution and few frames per second. High-Level Interfaces MM Framework should provide high-level interfaces for media synchronization, media composition, device control, database integration and concurrent media processing activities. Development is simplified if easy to use high-level interfaces are available 04/19/11 CSC533 - SAY
Multimedia Framework Example Consists of four main class hierarchies:  (Click Figure) Media classes  Correspond to audio, video and the other media types.  Instances of these classes are particular media values (artifacts) Transform classes   Represent media operations in a flexible and extensible manner.  For example, many image editing programs provide a large number of filter operations with which to transform images. These operations could be represented by methods of an image class. 04/19/11 CSC533 - SAY
Multimedia Framework Example Format classes  Encapsulate information about external representations of media values.  Can be defined for both file formats:  Image File format (such as GIF and TIFF) and ; Uncompressed digital video “stream” formats (CCIR 601 4:2:2) Component classes   Represent h/w and s/w resources that produce, consume and transform media streams.  For instance, a CD-DA player is a component that produces a digital audio stream (specifically, stereo 16 bit PCM samples at 44.1 kHz). 04/19/11 CSC533 - SAY
4 class hierarchies of a multimedia framework: 04/19/11 CSC533 - SAY BACK
Different Operating Systems and their Multimedia Support (Framework) Windows DirectX .NET Framework Linux Gstreamer SDL Mac OS X QuickTime Symbiam MMF Helix Java JMF JSRs 04/19/11 CSC533 - SAY
Windows : DirectX DirectX is the most important Multimedia Framework in Windows First version was introduced in 1995 (Windows 95) Current versions are 9.0 (Windows XP) and 10.0 (Windows Vista and Xbox 360) 04/19/11 CSC533 - SAY
Windows : DirectX DirectX, formerly known as the Game SDK, is a term given for a collection of Windows APIs for easily handling tasks related to game programming Windows OS.  This set of development libraries for high performance games allows software developers "direct access" to the low-level functions of PC peripherals.  04/19/11 CSC533 - SAY
Windows : DirectX APIs DirectX Graphics DirectDraw (2D) Direct3D DirectInput DirectPlay DirectSound DirectSound3D DirectMusic DirectSetup DirectX Media DirectAnimation DirectShow DirectX Video Acceleration Direct3D Retained Mode DirectX Transform DirectX Media Objects 04/19/11 CSC533 - SAY
Windows :  .  NET Framework Managed DirectX released to work with .NET Is a software technology that is available with several  Windows  OS.  It includes a large  library  of pre-coded solutions to common programming problems, a runtime or virtual machine that manages the execution of programs written specifically for the  framework , and a set of tools for configuring and building applications.  The .NET Framework is a key  Microsoft  offering and is intended to be used by most new applications created for the Windows platform.  04/19/11 CSC533 - SAY
Linux : GStreamer GStreamer is a framework for creating streaming media applications. It can be used to implement any kind of multimedia application too. The framework is based on plugins that will provide the various codec and other functionality.  GStreamer is used, e.g., in Maemo environment (Nokia tablets N800 and 770) and GNOME desktop environment http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-gstreamer.html 04/19/11 CSC533 - SAY
Linux : SDL Simple DirectMedia Layer (SDL) is an opensource, cross-platform multimedia library. It gives access to audio, keyboard, mouse, joystick, 3D hardware (i.e., OpenGL), and  2D Video Frame buffer. SDL supports Windows, Linux, Mac OS, etc. http://www.libsdl.org/ 04/19/11 CSC533 - SAY
Mac OS X : Quicktime QuickTime is Apple's multimedia framework. Supports Mac OS X, Windows and old Mac OS. API for encoding and decoding audio and video. QuickTime file format is a multimedia container file. Competitors: MS ASF, ogg, Matroska. QuickTime for Java supports capturing, editing, playback, etc. http://wapedia.mobi/en/QuickTime 04/19/11 CSC533 - SAY
Symbian : Multimedia Framework (MMF) Symbian OS was originally built for handheld devices, with limited resources. A completely new Multimedia Framework for Symbian was introduced in Symbian 7.0s MMF provides a lightweight, multi-threaded framework for handling multimedia data. MMF enables: Audio recording, playback, and streaming Video recording, playback, and streaming Image related functionalities MMF allows developers to write efficient and powerful plug-ins 04/19/11 CSC533 - SAY
Symbian : Helix Framework Helix DNA is an open-source multimedia player project based on the RealPlayer. The Helix Framework contains streaming server, players, codecs, and production tools. Since May 2006, Helix was included in over a hundred mobile phones and was distributed more than 125 million times. It is also distributed within Maemo environment. 04/19/11 CSC533 - SAY
Java : Java Media Framework (JMF) JMF allows use of multimedia in Java applications Real-time network protocols Multiplexing Codecs Players Effects Capture Control 04/19/11 CSC533 - SAY
Java : Java Specification Request (JSR) Third parties can participate in Java platform development by proposing JSRs. A Java Specification Request (JSR) describes a technology to be added to the Java platform. Most important Multimedia-related JSRs are: JSR 135: Java Mobile Media API (for J2ME platform) JSR 32 and JSR 180: Java SIP APIs JSR 231 and 926: Java 3D graphic APIs JSR 184 and 239: Java 3D graphic APIs for J2ME JSR 226: Scalable 2D Vector Graphics API (J2ME) JSR 234: Java Advanced Multimedia API for J2ME JSR 272: Mobile Broadcast Service API for J2ME 04/19/11 CSC533 - SAY

More Related Content

PPT
Training - Managing .NET/J2EE Projects
PDF
Mobile Operating System
PDF
Android internals
PDF
Android unveiled (I)
PDF
CommTech Talks: Challenges for Video on Demand (VoD) services
PDF
IMfirst
PPTX
Android Operating System Architecture
PDF
Google Android Naver 1212
Training - Managing .NET/J2EE Projects
Mobile Operating System
Android internals
Android unveiled (I)
CommTech Talks: Challenges for Video on Demand (VoD) services
IMfirst
Android Operating System Architecture
Google Android Naver 1212

Similar to Csc533 ch3a mm_framework (20)

PPTX
History of-silverlight-versions-and-its-features-CRB-Tech
PPTX
History of silverlight versions and its features
PDF
International Journal of Computational Engineering Research(IJCER)
DOCX
Silverlight
PPT
Digital Industry Standards
PDF
Windows azure media services
PDF
Silverlight versions-features
PDF
The Evolution of the Flash Platform
PPTX
PPT on Android
PPTX
Intro to Mobile app development Android.pptx
PPTX
What is microsoft silverlight?
ODP
Embedded Linux Multimedia
DOCX
Kerja Kursus ICT(open source)
PDF
How Igalia Is Driving Innovation In Embedded Systems With Open Source Technol...
DOCX
Android
PPT
Android platform overview
PPTX
Vb ch 2-introduction_to_.net
PPTX
Android
PDF
A Project Report on Insurance System with Tracking Manager
History of-silverlight-versions-and-its-features-CRB-Tech
History of silverlight versions and its features
International Journal of Computational Engineering Research(IJCER)
Silverlight
Digital Industry Standards
Windows azure media services
Silverlight versions-features
The Evolution of the Flash Platform
PPT on Android
Intro to Mobile app development Android.pptx
What is microsoft silverlight?
Embedded Linux Multimedia
Kerja Kursus ICT(open source)
How Igalia Is Driving Innovation In Embedded Systems With Open Source Technol...
Android
Android platform overview
Vb ch 2-introduction_to_.net
Android
A Project Report on Insurance System with Tracking Manager
Ad

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
A Presentation on Artificial Intelligence
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
1. Introduction to Computer Programming.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Approach and Philosophy of On baking technology
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
Teaching material agriculture food technology
PPTX
OMC Textile Division Presentation 2021.pptx
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
A comparative study of natural language inference in Swahili using monolingua...
MIND Revenue Release Quarter 2 2025 Press Release
Digital-Transformation-Roadmap-for-Companies.pptx
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TLE Review Electricity (Electricity).pptx
Getting Started with Data Integration: FME Form 101
NewMind AI Weekly Chronicles - August'25-Week II
A Presentation on Artificial Intelligence
Encapsulation_ Review paper, used for researhc scholars
1. Introduction to Computer Programming.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
A comparative analysis of optical character recognition models for extracting...
Approach and Philosophy of On baking technology
Univ-Connecticut-ChatGPT-Presentaion.pdf
Spectral efficient network and resource selection model in 5G networks
Teaching material agriculture food technology
OMC Textile Division Presentation 2021.pptx
SOPHOS-XG Firewall Administrator PPT.pptx
Unlocking AI with Model Context Protocol (MCP)
A comparative study of natural language inference in Swahili using monolingua...
Ad

Csc533 ch3a mm_framework

  • 1. Multimedia Programming CSC533 Chapter 3a: Multimedia Frameworks 04/19/11 CSC533 - SAY
  • 2. What is Software Framework? In computing , a software framework provides “the skeleton of an application that can be customized by an application developer” Like software libraries , software frameworks aid the software developer by containing source code that solves problems for a given domain and provides a simple API . 04/19/11 CSC533 - SAY
  • 3. Types of software frameworks A software framework may focus on building graphical editors for different domains like artistic drawing, music composition, and mechanical CAD . Another software framework can help build compilers for different programming languages and target machines. Yet another might help build financial modeling applications or decision support systems Frameworks exist for multimedia , web applications , and even communicating between different systems . 04/19/11 CSC533 - SAY
  • 4. What is Multimedia Framework? A multimedia framework (MMF) is a software framework that handles media on a computer and through a network. A good multimedia framework offers an intuitive API and a modular architecture to easily add support for new codecs , container formats and transmission protocols . It is meant to be used by applications such as media players and audio or video editors , but can also be used to build Videoconferencing applications , media converters and other multimedia tools. Source from wikipedia. 04/19/11 CSC533 - SAY
  • 5. Multimedia Framework Requirements Economy of concepts MM framework should be based on small number of concepts, otherwise it becoming a maze Identify any general concepts that apply across media types Open should be possible to extend MM framework to incorporated new media types, new data representations, new h/ware capabilities Queryable should specify interfaces for querying environments concerning their capabilities. Applications can then recognize missing functionality and adapt their behavior. 04/19/11 CSC533 - SAY
  • 6. Multimedia Framework Requirements Distribution MM Framework should help applications in a way that facilitates distribution. In particular, objects within framework should correspond to easy-to-distribute units or subsystems. Scalable MM Framework should support scalable media representations. Once media are in digital form, improvements in quality and capability are tied to advances in h/w Early version of processor might handle video at quarter screen resolution and few frames per second. High-Level Interfaces MM Framework should provide high-level interfaces for media synchronization, media composition, device control, database integration and concurrent media processing activities. Development is simplified if easy to use high-level interfaces are available 04/19/11 CSC533 - SAY
  • 7. Multimedia Framework Example Consists of four main class hierarchies: (Click Figure) Media classes Correspond to audio, video and the other media types. Instances of these classes are particular media values (artifacts) Transform classes Represent media operations in a flexible and extensible manner. For example, many image editing programs provide a large number of filter operations with which to transform images. These operations could be represented by methods of an image class. 04/19/11 CSC533 - SAY
  • 8. Multimedia Framework Example Format classes Encapsulate information about external representations of media values. Can be defined for both file formats: Image File format (such as GIF and TIFF) and ; Uncompressed digital video “stream” formats (CCIR 601 4:2:2) Component classes Represent h/w and s/w resources that produce, consume and transform media streams. For instance, a CD-DA player is a component that produces a digital audio stream (specifically, stereo 16 bit PCM samples at 44.1 kHz). 04/19/11 CSC533 - SAY
  • 9. 4 class hierarchies of a multimedia framework: 04/19/11 CSC533 - SAY BACK
  • 10. Different Operating Systems and their Multimedia Support (Framework) Windows DirectX .NET Framework Linux Gstreamer SDL Mac OS X QuickTime Symbiam MMF Helix Java JMF JSRs 04/19/11 CSC533 - SAY
  • 11. Windows : DirectX DirectX is the most important Multimedia Framework in Windows First version was introduced in 1995 (Windows 95) Current versions are 9.0 (Windows XP) and 10.0 (Windows Vista and Xbox 360) 04/19/11 CSC533 - SAY
  • 12. Windows : DirectX DirectX, formerly known as the Game SDK, is a term given for a collection of Windows APIs for easily handling tasks related to game programming Windows OS. This set of development libraries for high performance games allows software developers "direct access" to the low-level functions of PC peripherals. 04/19/11 CSC533 - SAY
  • 13. Windows : DirectX APIs DirectX Graphics DirectDraw (2D) Direct3D DirectInput DirectPlay DirectSound DirectSound3D DirectMusic DirectSetup DirectX Media DirectAnimation DirectShow DirectX Video Acceleration Direct3D Retained Mode DirectX Transform DirectX Media Objects 04/19/11 CSC533 - SAY
  • 14. Windows : . NET Framework Managed DirectX released to work with .NET Is a software technology that is available with several Windows OS. It includes a large library of pre-coded solutions to common programming problems, a runtime or virtual machine that manages the execution of programs written specifically for the framework , and a set of tools for configuring and building applications. The .NET Framework is a key Microsoft offering and is intended to be used by most new applications created for the Windows platform. 04/19/11 CSC533 - SAY
  • 15. Linux : GStreamer GStreamer is a framework for creating streaming media applications. It can be used to implement any kind of multimedia application too. The framework is based on plugins that will provide the various codec and other functionality. GStreamer is used, e.g., in Maemo environment (Nokia tablets N800 and 770) and GNOME desktop environment http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-gstreamer.html 04/19/11 CSC533 - SAY
  • 16. Linux : SDL Simple DirectMedia Layer (SDL) is an opensource, cross-platform multimedia library. It gives access to audio, keyboard, mouse, joystick, 3D hardware (i.e., OpenGL), and 2D Video Frame buffer. SDL supports Windows, Linux, Mac OS, etc. http://www.libsdl.org/ 04/19/11 CSC533 - SAY
  • 17. Mac OS X : Quicktime QuickTime is Apple's multimedia framework. Supports Mac OS X, Windows and old Mac OS. API for encoding and decoding audio and video. QuickTime file format is a multimedia container file. Competitors: MS ASF, ogg, Matroska. QuickTime for Java supports capturing, editing, playback, etc. http://wapedia.mobi/en/QuickTime 04/19/11 CSC533 - SAY
  • 18. Symbian : Multimedia Framework (MMF) Symbian OS was originally built for handheld devices, with limited resources. A completely new Multimedia Framework for Symbian was introduced in Symbian 7.0s MMF provides a lightweight, multi-threaded framework for handling multimedia data. MMF enables: Audio recording, playback, and streaming Video recording, playback, and streaming Image related functionalities MMF allows developers to write efficient and powerful plug-ins 04/19/11 CSC533 - SAY
  • 19. Symbian : Helix Framework Helix DNA is an open-source multimedia player project based on the RealPlayer. The Helix Framework contains streaming server, players, codecs, and production tools. Since May 2006, Helix was included in over a hundred mobile phones and was distributed more than 125 million times. It is also distributed within Maemo environment. 04/19/11 CSC533 - SAY
  • 20. Java : Java Media Framework (JMF) JMF allows use of multimedia in Java applications Real-time network protocols Multiplexing Codecs Players Effects Capture Control 04/19/11 CSC533 - SAY
  • 21. Java : Java Specification Request (JSR) Third parties can participate in Java platform development by proposing JSRs. A Java Specification Request (JSR) describes a technology to be added to the Java platform. Most important Multimedia-related JSRs are: JSR 135: Java Mobile Media API (for J2ME platform) JSR 32 and JSR 180: Java SIP APIs JSR 231 and 926: Java 3D graphic APIs JSR 184 and 239: Java 3D graphic APIs for J2ME JSR 226: Scalable 2D Vector Graphics API (J2ME) JSR 234: Java Advanced Multimedia API for J2ME JSR 272: Mobile Broadcast Service API for J2ME 04/19/11 CSC533 - SAY