Windows Media Tools-ASF制作工具软件
ASF(Advanced Streaming Format,高级流格式)是一个开放标准,它能以多种协议在多种网络环境下支持数据的传送。同JPG、MPG文件一样,ASF文件也是一种文件类型,但这种文件类型是专为在IP上传送有同步关系的多媒体数据而设计的,所以ASF格式的信息特别适合在IP网上传输。ASF文件的内容既可以是我们熟悉的普通文件,也可以是一个由编码设备实时生成的连续的数据流,所以ASF既可以传送人们事先录制好的节目,也可以传送实时产生的节目。本文将对制作和管理ASF文件的工具软件包-Windows Media Tools做详细的介绍。
Windows Media Tools是Microsoft Media Service的重要组成部分。Media Service是Microsoft公司提出的在IP网上传播多媒体流信息的解决方案。整个方案由三个主要的部分构成:Media Tools,Media Server,Media Player。Media Tools是整个方案的重要组成部分,它提供了一系列的工具帮助用户生成ASF格式的多媒体流,包括实时生成的多媒体流供用户在网络上传输与使用。Media Tools包括的工具主要分为两大类:创建工具和管理工具。顾名思义,创建工具主要用于生成ASF格式的多媒体流。它主要有:对实时音频视频信息进行编码的Media Encoder;将现有的声音文件、图片等制作为一个ASF文件的Author;将现有的AVI或MOV文件转换为ASF文件的VidToASF;将WAV或MP3格式的声音文件转换为ASF文件的WavToASF,以及将PowerPint97的幻灯片转换为ASF文件的Presenter。管理工具主要对ASF格式的多媒体流信息进行编辑与管理。主要的管理工具有:进行后期制作编辑的工具ASF Indexer与ASFChop,以及对ASF格式的流进行检查并改正错误的ASFCheck。下面我们将对其中几个主要的工具做比较详细的介绍。
1 Media Encoder
Media Encoder的主要任务之一是对模拟的音频视频信号进行编码产生ASF格式的多媒体流。编码生成的流既可以以文件的形式保存在本地计算机上,也可以用MSBD(Media Streaming Broadcast Distribution)协议实时地发送给Media Server,以便在网上实时广播。
由于要对模拟的音频视频信号进行编码,显然在编码过程中需要有硬件设备如声卡、图象采集卡等的支持。Media Encoder对图象、声音信息的压缩编码均是由软件来实现的,这就要求计算机的性能要比较高。如果要实时的音频视频信息进行编码计算机的最小配置为:
· 工作速率为 266Mhz 的双 Intel Pentium II CPU
· 工作速率为 400Mhz 的单 Intel Pentium II CPU
推荐的系统配置为:
· 工作速率为 450Mhz 的单 Intel Pentium III CPU
· 工作速率为 400Mhz 的双 Intel Pentium II CPU
除了对实时的音频视频信息进行编码之外,Media Encoder还可以将AVI格式的视频文件,WAV格式和MP3格式的音频文件转换为ASF文件。
Media Encoder输出ASF流的数据速率可以在28.8kbps到3Mbps之间变化,这个用户以很大的灵活性,用户可以根据自己应用环境和网络条件选择一个合适的速率。用户利用Media Encoder进行编码时可以对很多编码参数进行选择,比如图象压缩编码算法,声音压缩编码算法,输入图象的尺寸,每秒钟编码的帧数,声音编码的算法,取样频率等等,这些我们不做详细介绍。Media Encoder的工作界面如图1所示。
图1 Media Encoder的工作界面
Media Encoder的一个非常突出的特点是它的Multiple bit rate video(多速率视频)编码模式。在这种模式下,Media Encoder编码输出虽然只有一个ASF格式的流,但在这单个流中包含有声音信息的流和多种速率的图象流。这样当用户在点播这个流的时候,Media Server会根据用户接入带宽的不同,从ASF流中包含的多个不同速率的数据流中选择一个与用户速率最接近的图象流送给用户,使用户在自己的网络条件下能获得最优的图象质量。举例来说,如果我们用Multiple bit rate video模式来进行编码得到一个ASF文件,当LAN上的用户来点播时,由于它的带宽比较宽,Media Server可以将图象质量最好的图象流送给它;当用户用56kbps的Modem接入时,Server就可能会把图象质量最差的图象流送给它,使该用户也能看到图象。至于Media Server将什么速率的视频信息送给用户要取决于当时网络的资源状况。很可能最初送给用户的图象质量比较高,可后来由于网络流量增大,Media Server会自动选择将速率较低的流送给客户,这就保证尽管网络的带宽在动态改变,但用户仍能接收到连续的流信息。
在使用Media Encoder生成ASF流时如果用户选择了Multiple bit rate video模式,Media Encoder会要求用户选择其目标速率的范围是低速(28.8kbps-300kbps)还是高速(81kbps-10Mbps)。在每个范围之内还有多达五种的不同接入方式,每种接入方式的速率均有一定的变化范围。具体情况见下表。
表一:接入方式与速率范围
目标用户 缺省速率类别 带宽范围
28.8K拨号Modem 低速 18 - 27 Kbps
56 K拨号Modem 低速 28 - 37 Kbps
单通道ISDN 低速 38 - 55 Kbps
双通道ISDN 高速 56 - 120 Kbps
企业网Intranet 高速 121 - 250 Kbps
高速Internet 高速 251 - 500 Kbps
局域网LAN 高速 501 - 700 Kbps
高速LAN 高速 701 Kbps - 10 Mbps
当然,用户在编码时也可以不用Multiple bit rate video模式,而指定唯一一种输出速率,比如1024kbps。由于Multiple bit rate video模式要编码输出多种速率的视频流,编码输出的流的速率肯定要比不采用Multiple bit rate video模式的情况要高,下面这张表给出了在Multiple bit rate video模式下,每种接入方式可以接收到的流速率以及合成速率。从表中可以看到,对于56K Moderm接入方式,用户在接收流时有三种可能的速率:37kbps,22kbps和17kbps,为此Media Encoder编码最终输出的流的速率将为52kbps。当然,表中的数据仅仅是个参考值,具体值还将随编码的内容不同而有所变化。
表二 目标带宽与合成带宽
接入方式 目标带宽(Kbps) 音频带宽(Kbps) 合成带宽(Kbps)
双通道ISDN 100, 80, 52 10 209
28.8 K视频声音 22, 17 5 34
56 K拨号 Modem 37, 22, 17 10 52
Media Encoder的另一个特征是提供了丰富的音频视频压缩编解码器。Media Encoder提供的视频压缩编解码器有:
· Microsoft MPEG-4 Video Codec version 1, version 2, version 3
· VDOnet VDOWave
· Microsoft H.263
· TrueMotion RT 2.0 by Duck
提供的音频压缩编解码器有:
编解码器有:
· FhG MPEG Layer-3 audio codec
· Voxware MetaSound, MetaVoice, and RT29 audio codecs
· Windows Media Audio codec version 1 and version 2
· Vivo V723 audio codec
· Vivo Siren audio codec
· L&H audio codec
· ACELP.net
特别值得一提的是Media Encoder对MPEG4的支持是目前少有的。在Media Encoder的音频编码器器中, Windows Media Audio codec是由Microsoft自行开发的新的音频编码器,它能对从8kHz到48kHz的立体声音乐进行编码。其突出的特点是对IP包的丢失不敏感,这使之非常适合在无QOS保证的IP上传送声音信息。
2 Media Author
Media Author也是一种重要的ASF制作工具。它最主要的用途是将录制好的音频信息和图片等媒体信息编辑在一起形成一个单一的ASF流。Media Author的工作界面如图2 所示。从图中可以看到Media Author缺省的目标用户是28.8kbps Modem接入和56kbps Modem接入。利用Media Author的图形界面,我们可以将声音、图片、Script等媒体信息合成到一个ASF流中去。在图中的例子中有一段老师上课时的录音和多张在上课时展示的图片,利用Media Author可以把每张图片安排到指定的时间位置,并可以控制它持续的时间。这样,当用播放器播放该ASF文件时,当老师将到某个问题时会自动切换到对应的图片。通过Media Author的制作,使原本没有同步关系的多种媒体信息之间有了严格的同步关系。此外,由于Media Author处理的信息中没有带宽很大的视频信息,所以它输出的ASF流速率比较低,很适合低带宽的应用环境。
图2 Media Author的工作界面
3 Media ASF Indexer
ASF Indexer 是Media Tools提供的管理工具之一。ASF Indexer的工作界面如图3 所示。利用Indexer可以对ASF文件进行编辑管理,比如给ASF流增加有关流的名称(Title)、描述(Description)、作者(Author)、版权(Copyright)、速率(Rating)等信息,这些信息在ASF流播放时会显示在播放器的信息窗口之中。
ASF Indexer一个非常重要的功能是在ASF流中添加标记(Marker)和描述(Script)。图4中给出了描述的例子。从图中可以看出,在这个ASF流中添加了多个Script,Script的类型为URL,这就是说在用播放器播放该ASF文件时,当播放位置到达了Script所指定的时刻时,由于Script的类型是URL,那么播放器会自动地启动Internet的浏览器并连接到指定的URL。如果URL的值为 http://www.bupt.edu.cn/&&contents, 那么播放器会自动打开浏览器并连接到 http://www.bupt.edu.cn/。如果播放器嵌入在HTML页面之中,并且该页面有帧结构,那么&&contents指定了要在什么帧里面打开Script指定的HTML页。图5给出了这样的一个例子。图中左边名为Player的帧嵌入了一个播放器,右边为一个名为contents的帧,它负责显示与ASF有关的页面。只要我们用ASF Indexer对ASF文件进行编辑,让Script的类型为URL,并且指定显示URL的帧的名称为contents,那么当左边的窗口在播放ASF的音频视频信息时,右边窗口会在Script指定的时刻显示指定的HTML页。这为音频、视频及数据信息的同屏同步显示提供了非常便利的方法。
图3 Media ASF Indexer 的工作界面
图 4 Script Commands
当然Script 命令的类型除了URL之外,还有TEXT,FILENAME,EVENT,OPENEVENT等这这里就不再意义详细说明。
图 5 利用Script 实现与数据的同步
标记的主要用途是便于在ASF 流中快速搜索与定位。通过标记浏览器可以快速地跳转到指定的位置。图6是一个有关标记的例子。
图 6 用ASF Indexer添加Markers
从图中可以看出,我们在这个ASF文件中设立了10个标记,每个标记均有相应的名称用来说明该标记所标记的内容。这样当ASF文件开始播放之前,播放器可以得到所有标记的相关信息,用户也可以通过Media Tools提供的SDK获得这些信息并将这些信息提供给用户如图7所示。从图7中可以看到浏览器底部有一个窗口,它利用Javascript获得了图6中添加的Marker的信息并以HTML形式显示出来。如果用户对其中某些内容感兴趣,只要单击Marker的名称,利用Javescript就可以很容易地让媒体播放器跳到标记所在的位置,并开始播放,而不需要顺序播放。由此可见ASF Indexer的标记功能给信息的快速浏览提供了相当便利的手段。
图7 使用Marker的例子
上面我们主要介绍了Windows Media Tools中三个主要工具:Media Encoder,Media Author,Media ASF Indexer,它们同其它的辅助工具一起提供了相当完备的ASF流制作和管理方案。如果想要了解更详细的内容,可以参看Window Media Tools和Windows Media Tools SDK提供的相关文档。(北京邮电大学信息工程系 李学明)