天天看點

基于Windows Media Services系列9SDK的插件開發

  最近一段時間一直在研究wms,因為大多數流媒體平台都離不開它,當然helix也不錯!

 WMS 即windows media services ,是微軟提供的搭建流媒體平台的服務,主要支援mms協定,當然9 系列也支援rtsp協定,有很多優點,不在這一一講解。這裡主要闡述基于 Windows Media Services系列9SDK和 .NET 架構定制插件程式的一些關鍵内容。

  其實作步驟主要分為:

 一.建立“類庫(Class Library)”項目

 二.“添加引用”到“Windows Media Services Server Object Model and Plugin 9.0 Type Library”

 三.實作接口IWMSBasicPlugin

 四.實作特定插件類型的接口(如IWMSEventNotificationPlugin, IWMSCacheProxy),甚至更多如認證插件和監控插件的接口等。

 其中的幾個重要接口:

 一.IWMSBasicPlugin接口:

   DisablePlugin

   EnablePlugin

   GetCustomAdminInterface

   InitializePlugin

   OnHeartbeat

   ShutdownPlugin

 二.IWMSEventNotificationPlugin接口:

   GetHandledEvents ()

   OnEvent(ref WMS_EVENT Event,

           IWMSContext UserCtx,

           IWMSContext PresentationCtx,

           IWMSCommandContext  CommandCtx )

 三. IWMSContext接口:

   GetAndQueryIUnknownValue,

   GetArrayValue,

   GetContextType,

   GetDateValue,

   GetIndexedValue,

   GetIUnknownValue,

   GetLongValue,

   GetQwordValue,

   GetStringValue,

   GetValue,

   GetValueCount

   SetArrayValue,

   SetDateValue,

   SetIUnknownValue,

   SetLongValue,

   SetQwordValue,

   SetStringValue,

   SetValue

   RemoveAllValues,

   RemoveValue

   EraseCommandRequest

   EraseCommandResponse

   GetCommandRequest

   GetCommandResponse

   GetPlaylistGenerationID

   SetPlaylistGenerationID

  Contexts 指名稱/值對的集合,同http. 它是由WMS建立,并傳給插件,用于插件運作需要的大部分資訊,其值大部分由WMS寫入,插件可以讀/寫值

  不同類型的Contexts

  一.Server Context

  描述全局的WMS狀态

    WMS_SERVER_DOMAIN_NAME

    WMS_SERVER

     WMS_SERVER_EVENT_LOG

  二.User Context

     描述單一使用者

    WMS_USER_AGENT

     WMS_USER_NAME

    WMS_USER_IP_ADDRESS

  三.Presentation Context

     描述單一的資料路徑(Data Path)

     WMS_PRESENT_REQUEST_NAME

     WMS_PRESENT_PHYSICAL_NAME

     WMS_PRESENT_PLAYLIST_ENTRY_ROLE

  四.Command Context

   描述單一的使用者請求(User Request)

    WMS_COMMAND_CONTEXT_EVENT

    WMS_COMMAND_CONTEXT_URL

     WMS_COMMAND_CONTEXT_URL_EXTRAINFO

    WMS_COMMAND_CONTEXT_PUBPOINT_NAME

 以上是對WMS插件開發的一些總結,因為發現在開發中尋找這方面的資料簡直屈指可數,甚至MSDN和CSDN。我相信2007年将是流媒體平台快速發展的一年,是以有這方面的資料指導簡直太可貴了。

 另外關于WMS伺服器監控的一些東東也有相關的SDK,有興趣的可以看看WMI和WPSDK。都是有幫助的!

技術資源

WMS SDK 技術資訊:  http://msdn.microsoft.com/windowsmedia

  下載下傳WMS SDK :  http://www.microsoft.com/msdownload/platformsdk/sdkupdate/

繼續閱讀