osmf 介紹
TRANSCRIPT
OSMF 介紹
Ticore Shih 2012/12/19
OSMF 設計目的
• SWF, Video, Audio, Image, Text, .... • Delivery via CDN • Ads • Tracking • Social Networking
我為什麼要用 OSMF
• CDNs Protocol – Secure Stream Token – FCSubscribe
• Dynamic Streaming (Multi-Bitrate) • Smooth Switching Channel • SWF Verification (Embed SWF) • Error Log
OSMF Player 組件架構 (MVC)
Player Component
MediaPlayer (Controller)
MediaElement (Model)
MediaContainer (View)
預設 OSMF Player 組件
• Flash AS3
– org.osmf.media.MediaPlayerSprite
• Flex Spark – spark.components.VideoDisplay – spark.components.VideoPlayer
spark.skins.spark.VideoPlayerSkin
Player Component
• 建立 MediaFactory, MediaPlayer, MediaContainer
• 載入 Plugin
• 建立 MediaElement (via MediaFactory or not)
• 對外暴露 Superset API
MediaElement
• 種類 – VideoElement – ImageElement – SWFElement – ProxyElement – SerialElement – ...
• Trait (API)
• Metadata (Property)
MediaElement Trait
VideoElement
PlayTrait
TimeTrait
SeekTrait
play, stop, pause
duration, currentTime
seek, seeking
….
對照方式 MediaTraitType 常數 AUDIO, PLAY, SEEK, TIME, LOAD, BUFFER, …
MediaElement Metadata
• 與 Trait 類似,只有定義 key-value 資料組合
• MediaElement 與 MeidaPlayer 或其它 MediaElement 之間資訊傳遞用介面
• 常用公開類別只有 LayoutMetadata
• 事件功能:valueAdd, valueChange, valueRemove
MediaElement Composition
Banner Ad
Episode Mid-Roll Ad Episode, Continued
SerialElement
ParallelElement
ProxyElement
DurationElement
PlayTrait
TimeTrait
SeekTrait
play, stop, pause
duration, currentTime
seek, seeking
ImageElement
MediaElement 產生流程 MediaPlayer
.createMediaElement(resource)
MediaElement
Resource MediaFactory PluginInfo1
PluginInfo2
MediaFactoryItems • Id • type • canHandleResourceFunction • mediaResourceCreationFunction
OSMF Plugin • 依據 Resource 種類與 Domain 提供額外客製化功能
• 封裝視覺與非視覺的 Media
• 透過 API 宣告自身能力,提供 MediaFactory 自省
• 載入方式:Static Plugin、Dynamic Plugin
• MediaPlayer 不應該直接使用 Plug-in,而是透過
MediaFactory.createMediaElement 建立 MediaElement
OSMF Plugin
• 依功能區分 – Standard Plugin 一個 Resource 產生一個 MediaElement
– Proxy Plugin 一個 Resource 產生一個 MediaElement 以及多個 ProxyElement
– Reference Plugin 知道每個產生 MediaElement 但本身不一定產生 MediaElement
• http://osmf.org/ • http://blogs.adobe.com/osmf/ • http://forums.adobe.com/community/opensource/osmf
Version Matrix
• OSMF 0.7.0 1.0 1.5 1.6 1.6.1 2.0
• Flash Player 10.0 10.2 10.2 10.2 10.2 10.2 (min 10.0)
• Flex SDK 4.1.0 4.5.0 N/A N/A N/A N/A
4.5.1 4.6.0