Windows Media 技术使用称为 Microsoft Media Server (MMS) 的应用程序层协议,通过 Internet 和 Intranet 发送活动流格式 (Active Streaming Format, ASF) 的文件。指向流 ASF 文件的 URL 将 MMS 作为其协议包括进去,如下面示例所示:
mms://servername/filename.asf
MMS 协议按照下列顺序自动查找到流式媒体的最佳传输:
UDP 协议是无连接的传输层协议,因为不保证传送,因而对于实时媒体是一种理想的协议。虽然这听起来似乎象一个缺点而不是优点,但它是尤其适用于流式媒体的一种特性。不象文件、电子邮件数据不管传输时间的长短必须作为整体进行传送,流式媒体数据的价值受时间限制。如果视频帧丢失,由于无法在正确的时间帧内到达,所以就无价值可言。再次传输该数据就是浪费带宽。指定仅将 UDP 用作传输协议是有可能的。为此,请使用下列语法:
mmsu://servername/filename.asf
UDP 的缺点是不能通过公司的防火墙。有关配置防火墙以通过 UDP 接受流 ASF 文件的信息,请参见:
http://www.microsoft.com/ntserver/mediaserv/deployment/planning/firewall.asp
另一个选项就是 TCP,它是主流的 Internet 传输协议。TCP 的缺点是它会设法重新传输数据,而且也有可能无法通过公司的防火墙(有关 TCP 与防火墙的信息,请参见前面所提到的文章)。指定仅将 TCP 用作传输协议的语法为:mmst://servername/filename.asf
最后一个选项是 HTTP。虽然 HTTP 是应用程序层的协议而非传输层协议,而且不是为流式媒体专门设计的,但是可以通过防火墙。可以浏览 Web 的任何人均可以通过 HTTP 接收流文件。指定仅使用 HTTP 的语法是:http://servername/filename.asf。
ASX 文件将 Web 页链接至 ASF 文件。除非访问 Web 站点的每个客户都在运行 Microsoft Internet Explorer,否则不要直接在 HTML 页中引用 MMS 路径。这是因为其它浏览器不识别该协议并在遇到它时予以忽略。相反,请引用指向流式媒体文件的 ASX 文件。
简单的 ASX 文件可能如下所示:
<ASX version="3.0"> <Entry> <ref HREF=" mms://servernane/filename.asf "/> </Entry> </ASX>
创建 ASX 文件之后,将其放在 HTTP 或网络服务器上。要链接 ASX 文件,请在 HTML 页中使用标准的 <A HREF> 标记:
<a href="http://servername/path/asxname.asx">Description</a>
当用户选择一个到 ASX 文件的链接,浏览器就会下载该文件(ASX 文件很小)。系统在文件关联表中查找 ASX 扩展名并启动 Windows Media Player。然后,Windows Media Player 在 ASX 文件中查找 ASF 文件的位置并打开流。有关编写 ASX 文件的详细信息,请参见 MSDN Online Web Workshop 上的文档。
Windows Media 编码器压缩 AVI、MP3 或 WAV 格式的数字媒体文件并将其转换为 Windows Media Player 所使用的 ASF 文件。编码器可以用于实时事件或已保存文件。因为编码是大量占用 CPU 的活动,建议运行编码器与运行 Windows Media 服务使用不同的计算机。本章将讨论与使用编码器相关的下列问题:
没有任何一种配置可以同时满足所有各种情况。在购买新硬件之前,首先确定是记录高速移动视频还是低速移动视频。低速移动视频的例子如演说者头部特写,它只需要极小的处理能力。高速移动的例子如音乐视频等快速变化的动作,需要很高的处理能力。
一般情况下,对于带宽高达每秒 300 Kb (Kbps),也可能达到 500 Kbps 的任何视频,一个 Pentium II 处理器就可以执行实时编码。对于高达每秒 1 Mb (Mbps) 的带宽,应使用 Pentium III 或与之等同的处理器。对于更高的位处理速度(对于实时编码,Microsoft CODEC 可以扩展至 5 Mbps),可以使用两个处理器。通常,如果购买新的设备,请购买 Pentium III 或与之等同的计算机。即使现在不需要它们所能提供的处理能力,在将来也有可能需要使用。
一般情况下,对于编码最佳内存为 64 兆字节 (MB)。内存过大没有必要,因为不会发生缓冲,且只需要装载操作系统与应用程序。使用性能工具可以确保系统不对磁盘进行分页,以免影响性能。(要使用性能工具,将鼠标指向开始菜单中的程序,再指向管理工具,然后单击性能。)
要检查可用内存,添加内存可用字节计数器。要检查分页发生的频率,添加内存分页(按秒计)计数器。以上两者均在内存标题下。下面图 2 为添加计数器的示例:
图 2 添加分页(按秒计)计数器
下面图 3 为这些计数器及正在使用的处理器时间:
图 3 性能监视器示例
内存可用字节计数器表明过程目前可以使用的内存字节数。该数值应始终大于 4 MB。内存分页(按秒计)计数器表明由于页面故障从磁盘检索的页面数或写入磁盘以释放空间的页面数。有关性能工具的详细信息,请参见相关的帮助文件。
因为磁盘驱动器必须在数据进入时能够尽快捕获并保存数据,因此它有可能会成为瓶颈。如果驱动器数据传输速率过低,则会丢失数据并损坏流的质量。对于 300 Kbps 到 500 Kbps 的编码速度,使用 SCSI 驱动器。对于更高的速率,可以考虑使用 RAID 0 级磁盘阵列。
尽管 Windows Media 编码器可以同时运行在 Windows 2000 Professional 与 Windows 2000 Server 上,但我们还是推荐使用 Professional,因为它可以为前台应用程序提供优先权。
要查找与 Windows Media 技术相兼容视频捕获卡的列表,请查阅“Windows Media 硬件提供商”,其网址是:
http://www.microsoft.com/windows/windowsmedia/en/partners/hardware/default.asp
有一点非常重要,即应使用该列表而不使用仅与 Windows 2000 操作系统兼容的视频捕获卡列表,因为只有一部分视频卡与二者都兼容。最为流行的视频捕获卡之一就是 Viewcast.com 的 Osprey 100。虽然该卡无法捕获音频,但是迄今为止还没有人提出有关 Osprey 100 与声卡同步的问题。有关详细信息,请浏览:
http://www.vccsales.com/home.html
对于要对一个音频流进行编码的情况,请选择立体声声卡(如 Soundblaster Live)。至少要使用 Soundblaster16 或兼容的声卡。请查阅 Windows 硬件兼容性列表以查看符合 Windows 2000 操作系统系列的声卡(任何与 Windows 2000 兼容的声卡均与 Windows Media 技术兼容)。硬件列表位于下列位置: