1. 功能简介
Windows Media Services SDK包含以下组件:
组件
描述
Windows Media Unicast controls
提供一系列用于配置、监控和管理Windows Media单播服务的ActiveX控件。
Windows Media Station control
提供一系列用于配置、监控和管理Windows Media多播服务的ActiveX控件。
Windows Media Services Authentication API
提供一组COM兼容的API用于开发身份鉴别包,以便在用户访问基于Windows Media的内容之前对用户进行身份鉴别。
Windows Media Services Event Notification and Authorization API
提供一组COM兼容的API用于开发授权包,这样服务器在执行请求的任务之前可以先获得授权,并在任务完成之后发送通知。
Windows Media Services File Transfer Control
提供用于接收多播文件传输的ActiveX控件。
2. 详细介绍
2.1 Unicast controls
Windows Media单播服务(在Nsunimgr.ocx文件中)包含两个控件:Windows Media Unicast Admin和Windows Media Unicast TraceView。
l Windows Media Unicast Admin控件用于配置和管理Windows Media服务器;
l Windows Media Unicast TraceView控件用于监控Windows Media服务器。
Windows Media Unicast Admin控件可以对运行单播服务的Windows Media服务器进行以下管理:
l 设置/获取服务器属性,如:最大带宽、最大客户数等;
l 监控服务器的行为,包括:连接、断开连接、播放等;
l 监控整个系统的活动,包括:服务器状态、服务器限制等;
l 过滤控件接收到的事件类型。
除了管理运行单播服务的Windows Media服务器之外,Windows Media Unicast Admin控件还管理用于提供各种服务的一系列对象。例如:client对象代表连接到服务器的一个客户;clients对象代表一系列client对象的集合;AuthenticationPlugin对象鉴别连接到服务器的客户。
Windows Media Unicast TraceView控件提供以下监控功能:
l 暂停/恢复事件监控;
l 清除事件日志;
l 选择监控的事件类型。可选择的事件类型包括:Server、Client、Admin和Alert 事件。
2.2 Station control
Windows Media Station 控件(在Nschmgr.ocx文件中)是一个管理Windows Media服务器多播的ActiveX控件。Windows Media Station 控件允许管理员配置广播/多播stations、启动/停止streams。
具体而言,Windows Media Station 控件提供实现以下任务的功能:
l 创建、删除及管理stations;
l 创建、删除及管理streams;
l 创建、删除及管理clients;
l 创建、删除及管理host addresses;
l 创建、删除及管理Windows Media Station control objects。
2.2.1 Windows Media Stations
每一个station定义一个stream的传输机制。station本身不包含媒体内容,但描述内容是如何被传输的。
2.2.2 Windows Media Station Streams
stream是定义多媒体内容的数据包。stream可以被启动、停止、关闭及重新启动。stream还包括源(source)、内容类型(content type)及相应的station。
2.2.3 Windows Media Station Clients
每一个station与一个或多个client关联。一个client可以是Microsoft® Windows Media™ Encoder,或其它Windows Media Station control。一个client还可以是通过媒体流广播发布协议(MSBD, Media Streaming Broadcast Distribution)连接的Microsoft® Windows Media™ Player。甚至所有通过MSBD协议或HTTP协议连接的客户都是client。
2.2.4 Windows Media Station Host Addresses
每一个station与一个host address相关联。该host address是用于广播内容的服务器网卡地址。
2.2.5 Windows Media Station Control Objects
Windows Media Station管理大量的对象,其中大部分对象是另外一些对象的集合。如下图所示:
图1. Windows Media Station管理的对象结构
2.3 Authentication API
Authentication API提供创建定制身份鉴别插件(authentication plug-in components,也称之为authenticators)的基础。
当客户向一个要求身份鉴别的服务器发起请求时,服务器会挑战客户以确定客户的身份。通常,这个过程等价于在不同的身份鉴别协议下检查用户帐号名称及密码。在任何给定的身份鉴别交互过程中,客户和服务器必须遵循同一身份鉴别协议。
Windows Media服务与身份鉴别插件捆绑在一起,使用身份鉴别插件来验证用户身份。身份鉴别插件是一些基于COM的对象。使用Windows Media Services Authentication API可以轻易创建新的身份鉴别插件。Windows Media服务与身份鉴别插件的交互过程如下:
图2. 身份鉴别过程
每一个身份鉴别插件实现一种身份鉴别协议。系统中可以注册多个身份鉴别插件,但同一时刻只能使用一个身份鉴别插件。
目前Windows Media Services和Microsoft® Windows Media™ Player支持两种内置的身份鉴别协议:
l HTTP-BASIC
l Microsoft® Windows NT® LAN Manager (NTLM)
其中NTLM类似于HTTP-DIGEST身份鉴别协议。
2.4 Event Notification and Authorization API
Event Notification and Authorization API用于创建事件通知和授权插件。这些插件使Windows Media服务器可以对播放的内容进行授权、监控服务器的状态及对事务进行审计。
授权(Authorization)是插件所使用的一种安全特征,可以准予或拒绝对被保护资源的访问。对于Windows Media服务,被保护的资源包括:PPV (Pay-per-View) Titles、PPM (Pay-per-Minute) Titles及一些敏感内容;另一方面,通知(Notification)是服务器所使用的一种特征,用于通知插件应该记录哪些事件,应该报告哪些信息。
Windows Media服务器使用插件来实现授权和通知,将这些任务委派给专门的插件来完成。Windows Media服务器支持同时运行多个不同的授权/通知插件,每个插件负责特定的事件集合。
通过使用Event Notification and Authorization API,你可以开发插件来实现广泛的授权相关的任务,如:
l 限制对被保护资源的访问;
l 实现对Windows Media服务客户的计账;
l 分析Windows Media服务的应用情况。
Windows Media服务与授权/通知插件的交互过程如下:
图3. 授权过程
2.5 File Transfer Control
File Transfer控件(在Nsfile.ocx文件中)是一个用于接收通过Internet/Intranet广播的文件的ActiveX控件。File Transfer控件支持两种传输模式:Multicast file transfers和Unicast file transfers。
文件接收者可以通过三种方式接收文件:
l 在发送者发送文件之前,启动一个文件接收操作以确保所有的文件传输完成;
l 调用FtsStartFileTransferReceive侦听文件传输;
l 等待直到发送者完成文件传输。
File Transfer控件可以通过事件通知接收者文件传输的状态及进展。
3. 分析
从上述功能介绍可以看出,通过身份鉴别,授权机制可以有效控制视频会议参加者可以接收的资源。但目前尚不清楚如何控制视频流发送者(即Encoder)。
另外,我们需要验证是否可以在广域网上实现多播或广播。
对Station Control需要进一步通过测试验证其功能。