Windows Media Services 9 系列常见问题解答
本文档提供了有关 Microsoft® Windows Media® Services 9 系列的常见问题的解答。要查看每个问题和答案的完整内容,请单击问题。要展开所有问题,请按 Shift+A。要折叠所有问题,请按 Shift+C。
有关 Windows Media Services 9 系列的更多详细信息,请参阅 Windows Media Services 9 系列帮助。
Windows Media Services 基本知识
Windows Media Services 服务。Windows Media Services 服务取代了构成 Windows Media Services 版本 4.0 和 4.1 的四个单独的服务:Windows Media Monitor Service、Windows Media Program Service、Windows Media Station Service 和 Windows Media Unicast Service。
扩展了插件的使用。Windows Media Services 9 系列大大增加了通过扩展的插件结构对服务器进行自定义和配置的方法数。
扩展了发布点的使用。发布点对以前通过组合程序、流和电台提供的功能进行了简化和改进。
灵活的服务器端播放列表。每个发布点(包括点播发布点)都可以对播放列表中的内容进行流式处理。播放列表中的每个项目都有一组可进行指定以满足特定需求的独立属性。甚至在广播期间也可以修改播放列表,这样,您不必中断流即可对各种情况作出响应。
灵活的事件结构。在早期版本的 Windows Media Services 中,只有通过电台和单播 Microsoft ActiveX® 对象,才能获得外部事件。在这个版本中,事件可通过服务器接口在内部获得,以及通过 Windows 管理规范 (WMI) 和简单网络管理协议 (SNMP) 事件在外部获得。
快速流式处理。在早期版本的 Windows Media Services 中,内容是以恒定的比特率流向客户端的。Windows Media Services 9 系列中的快速流式处理功能支持流式处理、下载和高速缓存的结合使用,以提供最佳的用户体验。
改进的数据包重发逻辑。在早期版本的 Windows Media Services 中,客户端发出的数据包重发请求只能应用于最后两秒钟的内容。在此版本中,服务器缓冲区中存储了 10 秒钟的数据,可保证更好的纠错能力和流质量。
重新封装基于服务器的内容。在早期版本的 Windows Media Services 中,服务器只能按流格式的定义对数据包进行流式处理。在此版本中,服务器管理员可以为其环境中的流式处理设置最佳数据包大小,并且服务器可以重新分配数据,以便基于该属性设置对数据包进行流式处理。只有当使用用户数据报协议 (UDP) 数据包和实时流协议 (RTSP) 对内容进行流式处理时,这种优化才适用。
IPv6 支持。此版本的 Windows Media Services 支持 Internet 协议版本 6 (IPv6) 寻址。
IGMPv3 支持。对 Internet 组管理协议 (IGMP) 版本 3 的支持有助于避免多个广播服务器使用同一个多播 IP 地址时出现的问题。此功能要求连接到多播流的客户端运行 Windows Media Player 9 系列。
另外,建议满足以下最低硬件配置要求:
处理器。550 兆赫 (MHz)
内存。1 千兆字节 (GB) RAM
网络接口卡 (NIC)。以太网卡,传输控制协议/Internet 协议 (TCP/IP)
可用硬盘空间。521 兆字节 (MB)(6 MB 用于系统文件,15 MB 用于安装,500 MB 用于内容存储)
1. 启动“配置服务器向导”(单击“开始”,指向“管理工具”,然后单击“配置服务器向导”)。
2. 在“配置服务器向导”中的“服务器角色”页上,选择“流媒体服务器”服务器角色。
3. 完成向导的操作。
“配置服务器向导”将安装 Windows Media Services 服务的下列必需子组件:
Windows Media Services。此服务允许您通过 Intranet 或 Internet 将数字媒体内容传输到客户端。
Windows Media Services 管理单元。通过此管理单元,您可以使用 Microsoft 管理控制台 (MMC) 来管理和配置 Windows Media Services。
在使用“配置服务器向导”时,不会安装以下可选的 Windows Media Services 服务子组件:
用于 Web 的 Windows Media Services 管理器。此子组件支持对 Windows Media 服务器进行基于浏览器的远程管理。
多播和广告日志记录代理。利用此子组件,您可以记录通过 Web 服务器连接到内容的客户端提供的统计信息。
您必须执行以下步骤来安装这些可选组件:
1. 打开“添加/删除 Windows 组件”(单击“开始”,指向“控制面板”,单击“添加或删除程序”,然后在“添加或删除程序”中,单击“添加/删除 Windows 组件”)。
2. 在“Windows 组件向导”的“组件”列表中,单击“Windows Media Services”,然后单击“详细信息”按钮。
3. 在“Windows Media Services”对话框中的“Windows Media Services 的子组件”列表中,选中要安装的可选 Windows Media Services 子组件的复选框。
4. 完成向导的操作。
如果您是从 Windows Media Services 4.1 进行升级,则现有的配置将通过一个称为迁移的过程转移到新版本的 Windows Media Services。许多以前的配置都将迁移到此版本,如点播发布点。不过,Windows Media Services 9 系列包含了设计改进以及 Windows Media Services 版本 4.1 中没有的功能,以前配置中的几个元素必须进行修改,以便在新的环境中使用。在您设置 Windows Media Services 之前,可能需要手动更改现有配置的某些元素。有关迁移过程的详细信息,请参阅 Windows Media Services 9 系列帮助。
输入:端口 80、554、1755 上的 TCP。Windows Media 服务器使用 TCP 输入端口接受来自 Windows Media Player 及其他客户端的传入 HTTP 连接(端口 80)、RTSP 连接(端口 554)或 MMS 连接(端口 1755)。
输入:端口 1755、5005 上的 UDP。Windows Media 服务器使用 UDP 输入端口 1755 从使用 MMSU 进行流式处理的客户端接收重发请求,并使用 UDP 输入端口 5005 从使用 RTSPU 进行流式处理的客户端接收重发请求。
输出:端口 1024-5000 之间的 UDP。Windows Media 服务器使用 UDP 输出端口 1024-5000 将数据发送到 Windows Media Player 及其他客户端。
要使防火墙后面的分发服务器能够使用 HTTP 或 RTSP 协议从防火墙外的原始服务器对单播内容进行流式处理,请打开以下端口:
输入:端口 1024-5000 之间的 UDP。Windows Media 服务器使用 UDP 输入端口 1024-5000 接收来自另一个服务器的数据。
输出:端口 80、554 上的 TCP。Windows Media 服务器使用 TCP 输出端口来建立到另一个服务器或编码器的 HTTP 连接(端口 80)或 RTSP 连接(端口 554)。
输出:端口 5005 上的 UDP。使用 RTSPU 分发时,Windows Media 服务器使用 UDP 输出端口 5005 将重发请求发送到另一个服务器。
要使用多播流式处理来分发内容,请通过标准 D 类 IP 地址(224.0.0.0 到 239.255.255.255)定向网络通信。要进行多播,必须在您的网络上启用多播转发。
有关特定的防火墙要求和设置,请参阅 Windows Media Services 9 系列帮助。
1. 在 Windows Media Services 管理单元中,单击要对其更改分配给 HTTP 流式处理的端口的服务器。
2. 在详细信息窗格中,单击“属性”选项卡。
3. 在“类别”中,单击“控制协议”。
4. 在“插件”中,单击“WMS HTTP 服务器控制协议”,然后单击“属性”。
5. 如果您的服务器上有多个可用的 IP 地址,请在“IP 地址”中单击“允许所选 IP 地址使用该协议”,然后在列表中单击您要使用的特定 IP 地址。
6. 在“端口选择”中单击“使用其他端口”,然后在提供的空间键入要使用的端口号。HTTP 端口号的范围是 1 到 65535。
7. 在详细信息窗格中的“插件”中,单击“WMS HTTP 服务器控制协议”。单击“启用”,使 HTTP 协议可用于从服务器对内容进行流式处理。
8. 让网络管理员打开网络防火墙上相应的端口。
另外,您也可以在一个网络接口卡上创建多个 IP 地址,然后将单独的端口 80 地址分配给这些 IP 地址。之后,您必须执行以下操作,将 Windows Media Services 和 IIS 配置为绑定到不同的 IP 地址/端口 80 组合:
1. 打开文件夹 %systemroot%\System32\Windows Media\Server\Admin\MMC。
2. 双击“WMSHttpSysCfg.exe”。
3. 在“Windows Media Services HTTP Sys 配置”对话框的“IP 地址”中,键入您希望 HTTP.sys 驱动程序使用的 IP 地址,然后单击“添加”。
4. 通过重新启动计算机或在命令行提示符下键入“net stop http /y && iisreset”来重新启动 HTTP.sys 和 IIS。
5. 要验证 IIS 只绑定到新添加的 IP 地址,请在命令行提示符下键入“netstat”。
6. 在 Windows Media Services 管理单元控制台树中,单击您要为其启用 HTTP 流式处理的服务器。
7. 在详细信息窗格中,单击“属性”选项卡。
8. 在“类别”中,单击“控制协议”。
9. 在“插件”中,单击“WMS HTTP 服务器控制协议”,然后单击“属性”。
10. 在“IP 地址”中,单击“允许所选 IP 地址使用该协议”,然后在列表中单击您要使用的特定 IP 地址。不要选择第 3 步中添加的地址。
11. 单击“确定”应用更改。
12. 在详细信息窗格中的“插件”中,单击“WMS HTTP 服务器控制协议”。单击“启用”,使 HTTP 协议可用于从服务器对内容进行流式处理。
如果域控制器是新森林中的第一个域,则 Windows Media Services 帐户和设置将按预期方式迁移。
如果域控制器要在现有的森林中创建新的树,则所有本地用户帐户和设置将被删除,Windows Media Services 将不能对内容进行流式处理。要解决此问题,请执行以下操作:
1. 在服务器上安装 Microsoft Active Directory® 后,创建一个作为来宾组成员的新用户帐户。
2. 在 Windows Media 服务器上,禁用 WMS 匿名身份验证插件。
3. 配置 WMS 匿名身份验证插件的属性,以使用您在第 1 步中创建的新用户帐户。
4. 启用 WMS 匿名身份验证插件。
5. 停止 Windows Media Services 服务,然后再重新启动。
使用 Windows Media Services
第一次安装 Microsoft Windows Server 2003 操作系统时,默认情况下,Microsoft Internet Explorer 安全性设置被设置为最高级别的保护。此安全配置不允许用户访问 Internet 网站,因此降低了服务器受到恶意网站攻击的可能性。当 Internet Explorer 设置为使用此安全配置时,所有网站(包括用于 Web 的 Windows Media Services 管理器)都被视为 Internet 安全区域的一部分,因此,所有 Microsoft ActiveX 控件、脚本和 Microsoft 虚拟机 (Microsoft VM) 均不能使用。为了使用用于 Web 的 Windows Media Services 管理器,系统管理员必须将用于 Web 的 Windows Media Services 管理器 URL 添加到受信任的站点区域或本地 Intranet 区域。有关 Internet Explorer 的增强安全配置的详细信息,请参阅 Microsoft 网站。
用于 Web 的 Windows Media Services 管理器是一个基于浏览器的界面,它使用以 Internet 信息服务 (IIS) 作为宿主的 Active Server Pages (ASP)。ASP 页与 FAT32 文件结构不兼容。如果您在启动用于 Web 的 Windows Media Services 管理器时遇到问题,请确保您的文件系统未使用 FAT32 结构。
此外,如果您的用户帐户只使用 NTLM 身份验证进行验证,您也可能无法管理多个服务器。NTLM 身份验证使用您的网络登录凭据,在安全方面不如直接服务器身份验证。
运行 Windows Media Services 9 系列的服务器可以对 Microsoft Windows Media Audio (WMA)、Windows Media Video (WMV)、高级系统格式 (ASF) 和动态图像专家组 (MPEG)-1 Layer 3 (MP3) 格式的文件进行流式处理。但是,Windows Media Services 不能使用智能流式处理功能对 MP3 格式的文件进行流式处理。
如果启用了相应的媒体分析程序插件,则可以使用 Windows Media 服务器对其他数字媒体文件格式的文件进行流式处理。媒体分析程序插件将文件中包含的信息转换成可由 Windows Media 服务器和 Windows Media Player 使用的格式。要确定媒体分析程序插件是否可用于您要进行流式处理的格式,请与数字媒体文件格式开发人员联系。
此外,如果 .mp3 文件内容太短,服务器可能也无法将该文件传输到 Windows Media Player。为了确保在某些版本的 Windows Media Player 上可靠呈现,Windows Media Services 进行流式处理的内容必须符合或超过播放机支持的最小内容长度。Windows Media Player 9 系列支持的最小内容长度是 5 秒。早期版本的 Windows Media Player 支持的最小内容长度是 30 秒。比最小长度更短的内容可能无法完整地呈现或根本不能呈现。
Windows Media Player 版本。只有 Windows Media Player 9 系列或使用 Windows Media Player 9 系列 ActiveX 控件的播放机才支持对播放列表中的内容执行快进、跳进、后退和暂停的功能。早期版本的播放机不支持这些控件。
发布点类型。当内容从广播发布点进行流式传输时,快进、跳进、后退和暂停控件不可用。当内容从点播发布点进行流式传输时,根据内容源,这些控件可能可以使用。
内容源。当内容从编码器或远程发布点进行实时流式传输时,快进、跳进、后退和暂停控件不可用。
索引。如果内容没有进行索引,则快进、跳进、后退和暂停内容的功能不可用。内容可以在编码过程中索引或在内容已经编码后索引。
noSkip 属性。当播放列表中的“noSkip”属性设置为 True 时,快进、跳进、后退和暂停内容的功能不可用。
Windows Media Services 9 系列不能连接到随 Windows 2000 Server 一起发行的那些 Windows Media Technologies 之前的版本。此外,您不能使用 Windows Media Services 版本 4.1 从运行 Windows Media Services 9 系列的服务器分发流。
客户端不连接到服务器来接收多播流;因此,您不能使用插件来控制对多播的访问。要控制对多播流的访问,您必须将多播信息文件(文件扩展名为 .nsc 的 Windows Media 元文件,它包含客户端对流进行解码所需的信息)放在一个共享的文件位置,然后将访问控制列表 (ACL) 与多播信息文件相关联。如果您使用公告文件来分发多播信息文件,则可以将 ACL 与公告文件相关联。
网络性能问题
以下日志文件条目通常是尝试确定客户端问题时最有帮助的:
x-duration。这是客户端呈现流的时间。如果此字段中的时间小于内容的整个长度,则客户端可能已经断开。
c-status。这些是描述客户端连接状态的代码。某些常见的连接问题会出现在此字段中。
avgbandwidth。这是连接的平均带宽。如果此值低于来自服务器的流的比特率,则客户端的带宽可能降低了。
c-bytes。这是客户端接收的字节数。如果此数字不同于服务器发送的字节数 (sc-bytes),则说明发生了数据包丢失。
c-pkts-lost-client。这是没有传递到客户端的数据包数。
c-buffercount。这是客户端缓冲流的次数。较高的值说明可能存在带宽问题。
有关如何使用日志文件来确定流式处理问题的详细信息,请参阅 Windows Media Services 9 系列帮助。
您可以监视日志文件,以确定是否有任何数据包丢失、丢失的位置以及是否恢复了任何丢失的数据包。以下日志文件字段可能有助于确定是否发生了数据包丢失:
s-pkts-sent。这是服务器发送到连接客户端的内容数据包的数量。此字段在来自高速缓存/代理服务器的远程高速缓存客户端日志和多播日志文件中包含连字符 (-)。
c-pkts-received。这是客户端第一次尝试时从服务器正确接收的数据包的数量。如果通过 UDP 协议重发第一次尝试时没有正确接收的数据包,则这些数据包可以恢复。未通过 UDP 重发来恢复的数据包被视为已在网络中丢失。
c-pkts-lost-client。这是没有在客户端层通过纠错或在网络层通过 UDP 重发恢复的丢失数据包的数量。这些数据包是 Windows Media 服务器发送的,但不可能被客户端播放。
c-pkts-lost-net。这是在网络层丢失的数据包的数量。如果启用了纠错功能,客户端也许能恢复这些数据包。
c-pkts-lost-cont-net。这是在网络层连续丢失的数据包的最大数量。较高的值说明在很长时期内网络通信状况不佳,在此期间,客户端没有收到任何数据包。
c-resendreqs。这是客户端对新数据包的请求的数量。此字段包含零,除非客户端使用 UDP 重发。
c-pkts-recovered-ECC。这是在网络层丢失的、但因为启用了纠错功能而在客户端层修复和恢复的数据包的数量。对于多播流,纠错是数据包恢复的唯一手段。在客户端层修复和恢复的数据包等于 c-pkts-lost-net 与 c-pkts-lost-client 之差。
c-pkts-recovered-resent。这是因为通过 UDP 重发而恢复的数据包的数量。该值不包括 TCP 或 UDP 数据包。此字段包含零,除非客户端使用 UDP 重发。
注意,所有日志字段的值均不包括 TCP 或 UDP 数据包。
当数据包在流式处理或存档过程中丢失后,WMS 存档数据写入器插件会将一条警告消息发送到 Windows Media Services 中的“故障排除”选项卡,以报告丢失量。必须启用该插件才能发送警告。如果您的服务器接收的内容流因为数据包丢失而中断两秒钟以上,则 WMS 存档数据写入器插件将停止存档,并在恢复传入流时,开始存档到新的文件中。如果存在几个较小的存档文件,说明在广播期间发生了数据包丢失。
您可以通过配置 WMS MMS 服务器控制协议插件,将该端口更改为 MMS 协议所绑定的端口,以解决这一问题。或者,您也可以创建一个名为 Wspcfg.ini 的文件,将其保存在名为 %systemroot%\Windows\System32\Windows Media\Server 的文件夹中。该文件应该包含以下文本:
[WMServer]
LocalBindTcpPorts=1755
LocalBindUdpPorts=1755
当编码器将内容“推”向 Windows Media Services 时,编码器可控制 Windows Media 服务器和广播流。编码器还可以在服务器上创建一个新的发布点,将该发布点设置为广播完成后删除自身。为了使用编码器将广播推向 Windows Media 服务器,编码器管理员必须具有 Windows Media 服务器名、服务器的 URL 以及访问该服务器的所有必要权限。对于实时编码方案以及必须在内容源保持对广播的控制的情况下,编码器推传递非常有用。
当 Windows Media Services 从编码器“拉”内容时,服务器连接到已经在传输的编码器流。如果发布点被设置为在第一个客户端连接到内容后启动或者通过防火墙将 Windows Media 服务器与编码器分开,则编码器拉传递非常有用。在编码器拉配置中,编码器必须在 Windows Media 服务器可与其相接之前已经启动并对内容进行编码。服务器发布点必须使用编码器 URL 作为其内容源。
为了避免这些问题,并改进网络与客户端性能,您可以在服务器上创建一个额外的发布点,充当主发布点与编码器之间的中间方。这种设置会使性能得到改进,因为无论对内容进行流式处理的客户端数量是多少,服务器始终保持到编码器的单个连接。您可以执行以下操作来创建此发布点:
1. 创建两个相同的广播发布点。
2. 将第一个发布点配置为从编码器接收内容。
3. 启动该发布点。
4. 将第二个发布点配置为引用播放列表。将“media”元素添加到从第一个发布点接收内容的播放列表。
5. 使用“lpp://publishing_point_1”作为“media”元素的源(其中,publishing_point_1 是在第 2 步配置的发布点的名称)。
6. 使用第二个发布点将内容传输到您的客户端。