SlideShare a Scribd company logo
3/5/2010




                      360|Flex – San Jose 2010
                 Going Deep with OSMF

                           David Hassoun 
                           (RealEyes Media)




Contact Info




  DAVID HASSOUN
  DAVID HASSOUN
  Email: david@realeyes.com
  Blog: http://david.realeyes.com




                                                       1
3/5/2010




ABOUT REALEYES
• FMS Sol tions Partner & Val e Added Reseller
  FMS Solutions Partner & Value Added Reseller
• FMS Community Advisory Board Member
• Selected Clients:
   • American Express
   • Pfizer
   • Beatport
• Video Experience
    • Encoding
    • Delivery/Application Development
    • Consulting




WHAT WE’LL COVER
•   New World Order: Intro to OSMF
    N W ld O d I t t OSMF
•   Understanding the Machine: The Parts
•   The City of Industry: Factories
•   The Keystone: Plugins
•   “Too big to fail”: Conclusion




                                                       2
3/5/2010




      NEW WORLD ORDER
                    One player to rule them all – but what is it?




NWO w/OSMF




 Open Source Media Framework (OSMF)
 •   The Goal
 •   What is it?
 •   Where can you find it?
 •   When will it be done?




                                                                          3
3/5/2010




NWO w/OSMF




 The Tip of the Iceberg
 • URLResource – External Pointer
 • MediaElement – Prepared Content
 • MediaPlayerSprite – Playback Control & Display




NWO w/OSMF




 The Simplest Player Sample
 • [DEMO]




                                                          4
3/5/2010




NWO w/OSMF




 What You See




 What You Get
 Wh t Y G t




   UNDERSTANDING 
   THE MACHINE
    Understanding how the parts work together




                                                      5
3/5/2010




The Machine



  Under the hood
  • MediaResourceBase
      • Base for the input of MediaElement
        Base for the input of MediaElement
  • NetLoader
      • Loading support
  • MediaElement
      • Is part of the core of the OSMF
      • VideoElement > LoadableElementBase > MediaElement
                        > LoadableElementBase > MediaElement
  • MediaPlayer
      • Wraps up the complexity into simplicity
  • MediaContainer
      • Display Object




The Machine




  The Basic Player Sample
  • [DEMO]




                                                                     6
3/5/2010




The Machine




  Traits
  •   Describe the functionality of a MediaElement
      Describe the functionality of a MediaElement
  •   Change dynamically based on type and state 
  •   Check to see if exist
  •   Traits dispatch their own events
  •   Use event handlers to know when added/removed
      • traitAdd/traitRemove on MediaElement’s
                             on MediaElement s

  “Traits make compositioning scalable.  (Compositioning is the ability to 
  temporally and spatially composite collections of media)” – ASDocs


  • See:  MediaElement, MediaTraitBase, MediaTraitTypes




The Machine




  Review Trait Management in the MediaPlayer
  • [Demo]




                                                                                    7
3/5/2010




The Machine




  MetaData
  • Every MediaElement has MetaData
  • Tells how to load or provides data for Plugins
  • Metadata can be added, removed, updated and queried
  • You can use namespaces to organize metadata 
  • Similar to traits, metadata can come and go
    Similar to traits, metadata can come and go
  • Events can be used to track events in metadata changes 
    ('facetAdd' & 'facetRemove') 
  • Metadata is aggregated for composite MediaElements 




The Machine




  Working With Meta Data
  • Managed via Facets
  • Factes are an individual MetaData entries

  • *addFacet()
     removeFacet()
  • *removeFacet()
  • *getFacet()


  * Names are changing in sprint 10 (Facet term is going away)




                                                                       8
3/5/2010




The Machine




  Show traits and facets in use
  • [Demo]




THE CITY OF INDUSTRY
                Enhancing the productivity and control with Factories
                        g     p          y




                                                                              9
3/5/2010




City of Industry




   What Are Factories
   • Factory Pattern:
     Factory Pattern:
       • Wiki ‐ deals with the problem of creating objects (products) 
         without specifying the exact class of object that will be created




City of Industry




   NetConnectionFactory
   • Manages and generates NetConnections
     Manages and generates NetConnections
   • Enables connection sharing 
       • Can be passed to NetLoader
   • Can handle simultaneous requests
   • Internally uses the NetNegotiator
       • Port traversal
         Port traversal
       • Low level NetConnection Management




                                                                                  10
3/5/2010




The Machine




   Review ConnectionFactory Sample
   • [Demo]




City of Industry



   MediaFactory
   • Generates MediaElement instances 
   • Creates the appropriate MediaElement from a 
     registered MediaResources type
   • Types registered by a MediaFactoryItem
   • Used in conjunction also with Plugins (PluginManager)




                                                                  11
3/5/2010




The Machine




  Review MediaFactory Sample
  • [Demo]




                                        The last piece




 THE KEYSTONE
 THE KEYSTONE
         Plugins – completing the big picture with extensibility




                                                                        12
3/5/2010




The Keystone




  OSMF Plugins
  • What are they
    What are they 
  • How they work
      • Dynamic (SWF)
      • Static (AS Source or SWC)
  • Types
      • Standard
      • Reference
      • Proxy




The Keystone




  Plugin Concepts
  • Provider Categories
    Provider Categories
      •   Advertising
      •   Publishing
      •   Analytics
      •   CDN
  • Use Cases
    Use Cases
      •   Closed Captioning
      •   Custom Logging/Debugging
      •   Custom Advertising
      •   CDN Failover




                                          13
3/5/2010




The Keystone




  Simplified Plugin Sequence
  • A MediaFactory is created
    A MediaFactory is created
  • A PluginManager is created and passed a reference to the 
    MediaFactory
  • The PluginManager loads plugins via the loadPlugin() method
  • The PluginManger gives the MediaFactory references to the 
    loaded Plugins
  • The MediaFactory creates new elements
    The MediaFactory creates new elements
  • Depending on the plugin type ‐ Standard, Reference & Proxy
      • The plugin is then used to create new MediaElements –
        Standard Plugin
      • The plugin is given a reference to the MediaElements –
        Reference & Proxy Plugins




The Keystone




  Creating a Plugin
  • The basic workflow for creating a plugin is:
    The basic workflow for creating a plugin
      • Create a PluginInfo Object
      • Add MediaFactoryItem(s) to 
        PluginInfo.mediaFactoryItems
      • Expose the PluginInfo Object at the plugin root level




                                                                       14
3/5/2010




The Keystone




  Creating a Plugin Sample
  • [DEMO]




 TOO BIG TO FAIL
 TOO BIG TO FAIL
           Conclusion
    COOL



                                  15
3/5/2010




                     Q&A
                              …if there is time.




Contact Info




  DAVID HASSOUN
  Email: david@realeyes.com
  Blog: http://david.realeyes.com




                                                        16

More Related Content

PPTX
Marketing on Autopilot
PPT
rodin y el volumen
PDF
Lavdosestimulering for behandling av barnløshet
PDF
Developers Summit 2014 Summer 【B-4】LMQでお手軽分散システム開発
PDF
Newsletter April May 2010
PDF
competition/ livada postei park/brasov/ro
PPTX
Adventuretourismentrepreneurandsmallbusinessworkshop Bill Copy Draft 2 Short ...
PDF
Ha 680ml Manual J
Marketing on Autopilot
rodin y el volumen
Lavdosestimulering for behandling av barnløshet
Developers Summit 2014 Summer 【B-4】LMQでお手軽分散システム開発
Newsletter April May 2010
competition/ livada postei park/brasov/ro
Adventuretourismentrepreneurandsmallbusinessworkshop Bill Copy Draft 2 Short ...
Ha 680ml Manual J

Viewers also liked (19)

PPTX
Presentation1
PPT
Magistri_kaitsmine
PPT
2010年Mlb台灣賽
PDF
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
PPT
世足分組(D組)
PDF
Hotel mamaia 175
PPT
informal city
PDF
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
PDF
GABROVENI INN
PPT
Pioneer Bluff Master Plan
PPTX
The Do's and Don'ts of Effective Websites
PDF
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
PDF
PPT
2010 04 02 運彩教室
PPT
2010世界大賽教育訓練用
PDF
18-D-1 .Net Framework 4 概要
PPTX
The Engineering Of Consent
PDF
デブサミ2014 公募セッション募集要項
PPTX
Presentatie KPN #smc070 9 april 2013
Presentation1
Magistri_kaitsmine
2010年Mlb台灣賽
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
世足分組(D組)
Hotel mamaia 175
informal city
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
GABROVENI INN
Pioneer Bluff Master Plan
The Do's and Don'ts of Effective Websites
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
2010 04 02 運彩教室
2010世界大賽教育訓練用
18-D-1 .Net Framework 4 概要
The Engineering Of Consent
デブサミ2014 公募セッション募集要項
Presentatie KPN #smc070 9 april 2013
Ad

Similar to Osmf omg (20)

PDF
Diverse2010: How Opencast Matterhorn and MediaMosa can co-act
PDF
Diverse 2010 Portland, Maine, US, Ward, Schulte Opencast Matterhorn, MediaMosa
PDF
John Resig Beijing 2010 (English Version)
PDF
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
PDF
Web Tools for GemStone/S
PDF
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
PPT
Microsoft loves PHP. Seriously.
PPTX
Dd13.2013.milano.open ntf
PDF
Stackato
PDF
Feature Bits at LSSC10
PDF
Scaling and Orchestrating Microservices with OSGi - N Bartlett
PPT
TypeScript - Javascript done right
PPT
VAST 8.0
PPTX
Getting started with Vue.js - CodeMash 2020
PPTX
06 integrating extra features and looking forward
PPTX
Introduction to Windows 8 Development
PDF
Microsoft power point automation-opensourcetestingtools_matrix-1
PDF
Microsoft power point automation-opensourcetestingtools_matrix-1
PDF
Media mosa architecture - features -10 june 2010
PPT
ECM and Open Source Software: A Disruptive Force in ECM Solutions
Diverse2010: How Opencast Matterhorn and MediaMosa can co-act
Diverse 2010 Portland, Maine, US, Ward, Schulte Opencast Matterhorn, MediaMosa
John Resig Beijing 2010 (English Version)
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
Web Tools for GemStone/S
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
Microsoft loves PHP. Seriously.
Dd13.2013.milano.open ntf
Stackato
Feature Bits at LSSC10
Scaling and Orchestrating Microservices with OSGi - N Bartlett
TypeScript - Javascript done right
VAST 8.0
Getting started with Vue.js - CodeMash 2020
06 integrating extra features and looking forward
Introduction to Windows 8 Development
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
Media mosa architecture - features -10 june 2010
ECM and Open Source Software: A Disruptive Force in ECM Solutions
Ad

Recently uploaded (20)

PDF
Getting Started with Data Integration: FME Form 101
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
TLE Review Electricity (Electricity).pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Encapsulation_ Review paper, used for researhc scholars
Getting Started with Data Integration: FME Form 101
Digital-Transformation-Roadmap-for-Companies.pptx
Spectroscopy.pptx food analysis technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
MIND Revenue Release Quarter 2 2025 Press Release
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation theory and applications.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
Assigned Numbers - 2025 - Bluetooth® Document
Building Integrated photovoltaic BIPV_UPV.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Programs and apps: productivity, graphics, security and other tools
TLE Review Electricity (Electricity).pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Encapsulation_ Review paper, used for researhc scholars

Osmf omg

  • 1. 3/5/2010 360|Flex – San Jose 2010 Going Deep with OSMF David Hassoun  (RealEyes Media) Contact Info DAVID HASSOUN DAVID HASSOUN Email: david@realeyes.com Blog: http://david.realeyes.com 1
  • 2. 3/5/2010 ABOUT REALEYES • FMS Sol tions Partner & Val e Added Reseller FMS Solutions Partner & Value Added Reseller • FMS Community Advisory Board Member • Selected Clients: • American Express • Pfizer • Beatport • Video Experience • Encoding • Delivery/Application Development • Consulting WHAT WE’LL COVER • New World Order: Intro to OSMF N W ld O d I t t OSMF • Understanding the Machine: The Parts • The City of Industry: Factories • The Keystone: Plugins • “Too big to fail”: Conclusion 2
  • 3. 3/5/2010 NEW WORLD ORDER One player to rule them all – but what is it? NWO w/OSMF Open Source Media Framework (OSMF) • The Goal • What is it? • Where can you find it? • When will it be done? 3
  • 4. 3/5/2010 NWO w/OSMF The Tip of the Iceberg • URLResource – External Pointer • MediaElement – Prepared Content • MediaPlayerSprite – Playback Control & Display NWO w/OSMF The Simplest Player Sample • [DEMO] 4
  • 5. 3/5/2010 NWO w/OSMF What You See What You Get Wh t Y G t UNDERSTANDING  THE MACHINE Understanding how the parts work together 5
  • 6. 3/5/2010 The Machine Under the hood • MediaResourceBase • Base for the input of MediaElement Base for the input of MediaElement • NetLoader • Loading support • MediaElement • Is part of the core of the OSMF • VideoElement > LoadableElementBase > MediaElement > LoadableElementBase > MediaElement • MediaPlayer • Wraps up the complexity into simplicity • MediaContainer • Display Object The Machine The Basic Player Sample • [DEMO] 6
  • 7. 3/5/2010 The Machine Traits • Describe the functionality of a MediaElement Describe the functionality of a MediaElement • Change dynamically based on type and state  • Check to see if exist • Traits dispatch their own events • Use event handlers to know when added/removed • traitAdd/traitRemove on MediaElement’s on MediaElement s “Traits make compositioning scalable.  (Compositioning is the ability to  temporally and spatially composite collections of media)” – ASDocs • See:  MediaElement, MediaTraitBase, MediaTraitTypes The Machine Review Trait Management in the MediaPlayer • [Demo] 7
  • 8. 3/5/2010 The Machine MetaData • Every MediaElement has MetaData • Tells how to load or provides data for Plugins • Metadata can be added, removed, updated and queried • You can use namespaces to organize metadata  • Similar to traits, metadata can come and go Similar to traits, metadata can come and go • Events can be used to track events in metadata changes  ('facetAdd' & 'facetRemove')  • Metadata is aggregated for composite MediaElements  The Machine Working With Meta Data • Managed via Facets • Factes are an individual MetaData entries • *addFacet() removeFacet() • *removeFacet() • *getFacet() * Names are changing in sprint 10 (Facet term is going away) 8
  • 9. 3/5/2010 The Machine Show traits and facets in use • [Demo] THE CITY OF INDUSTRY Enhancing the productivity and control with Factories g p y 9
  • 10. 3/5/2010 City of Industry What Are Factories • Factory Pattern: Factory Pattern: • Wiki ‐ deals with the problem of creating objects (products)  without specifying the exact class of object that will be created City of Industry NetConnectionFactory • Manages and generates NetConnections Manages and generates NetConnections • Enables connection sharing  • Can be passed to NetLoader • Can handle simultaneous requests • Internally uses the NetNegotiator • Port traversal Port traversal • Low level NetConnection Management 10
  • 11. 3/5/2010 The Machine Review ConnectionFactory Sample • [Demo] City of Industry MediaFactory • Generates MediaElement instances  • Creates the appropriate MediaElement from a  registered MediaResources type • Types registered by a MediaFactoryItem • Used in conjunction also with Plugins (PluginManager) 11
  • 12. 3/5/2010 The Machine Review MediaFactory Sample • [Demo] The last piece THE KEYSTONE THE KEYSTONE Plugins – completing the big picture with extensibility 12
  • 13. 3/5/2010 The Keystone OSMF Plugins • What are they What are they  • How they work • Dynamic (SWF) • Static (AS Source or SWC) • Types • Standard • Reference • Proxy The Keystone Plugin Concepts • Provider Categories Provider Categories • Advertising • Publishing • Analytics • CDN • Use Cases Use Cases • Closed Captioning • Custom Logging/Debugging • Custom Advertising • CDN Failover 13
  • 14. 3/5/2010 The Keystone Simplified Plugin Sequence • A MediaFactory is created A MediaFactory is created • A PluginManager is created and passed a reference to the  MediaFactory • The PluginManager loads plugins via the loadPlugin() method • The PluginManger gives the MediaFactory references to the  loaded Plugins • The MediaFactory creates new elements The MediaFactory creates new elements • Depending on the plugin type ‐ Standard, Reference & Proxy • The plugin is then used to create new MediaElements – Standard Plugin • The plugin is given a reference to the MediaElements – Reference & Proxy Plugins The Keystone Creating a Plugin • The basic workflow for creating a plugin is: The basic workflow for creating a plugin • Create a PluginInfo Object • Add MediaFactoryItem(s) to  PluginInfo.mediaFactoryItems • Expose the PluginInfo Object at the plugin root level 14
  • 15. 3/5/2010 The Keystone Creating a Plugin Sample • [DEMO] TOO BIG TO FAIL TOO BIG TO FAIL Conclusion COOL 15
  • 16. 3/5/2010 Q&A …if there is time. Contact Info DAVID HASSOUN Email: david@realeyes.com Blog: http://david.realeyes.com 16