SlideShare uma empresa Scribd logo
1 de 16
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

Mais conteúdo relacionado

Destaque

Presentation1
Presentation1Presentation1
Presentation1
baje05
 
2010年Mlb台灣賽
2010年Mlb台灣賽2010年Mlb台灣賽
2010年Mlb台灣賽
jj1au0cd3ky9
 
世足分組(D組)
世足分組(D組)世足分組(D組)
世足分組(D組)
jj1au0cd3ky9
 
Hotel mamaia 175
Hotel mamaia 175Hotel mamaia 175
Hotel mamaia 175
Bogdan
 
informal city
informal cityinformal city
informal city
Bogdan
 
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
Developers Summit
 
GABROVENI INN
GABROVENI INNGABROVENI INN
GABROVENI INN
Bogdan
 
2010 04 02 運彩教室
2010 04 02 運彩教室2010 04 02 運彩教室
2010 04 02 運彩教室
jj1au0cd3ky9
 
2010世界大賽教育訓練用
2010世界大賽教育訓練用2010世界大賽教育訓練用
2010世界大賽教育訓練用
jj1au0cd3ky9
 
18-D-1 .Net Framework 4 概要
18-D-1 .Net Framework 4 概要18-D-1 .Net Framework 4 概要
18-D-1 .Net Framework 4 概要
Developers Summit
 
The Engineering Of Consent
The Engineering Of ConsentThe Engineering Of Consent
The Engineering Of Consent
jillohayon
 
デブサミ2014 公募セッション募集要項
デブサミ2014 公募セッション募集要項デブサミ2014 公募セッション募集要項
デブサミ2014 公募セッション募集要項
Developers Summit
 
Presentatie KPN #smc070 9 april 2013
Presentatie KPN #smc070 9 april 2013Presentatie KPN #smc070 9 april 2013
Presentatie KPN #smc070 9 april 2013
SMC070
 

Destaque (19)

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

Semelhante a Osmf omg

John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)
Jia Mi
 
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
Deltares
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntf
Ulrich Krause
 
Scaling and Orchestrating Microservices with OSGi - N Bartlett
Scaling and Orchestrating Microservices with OSGi - N BartlettScaling and Orchestrating Microservices with OSGi - N Bartlett
Scaling and Orchestrating Microservices with OSGi - N Bartlett
mfrancis
 

Semelhante a Osmf omg (20)

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

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

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