Windows Media Encode 9
是
Windows Media 9
Series
组成部分之一,它的主要作用是进行编码。
Windows Media 9
Series
包括了
Windows Media Audio 9 Series
、
Windows
Media Video 9 Series
、
Windows Media Encoder 9
Series
、
Windows Media Services 9 Series
、
Windows
Media Player 9 Series
、
Windows Media Rights
Manager 9 Series
、
Windows Media 9 Series SDK
。
基于这个平台,开发者可以利用播放器、解码器以及服务器端配合开发出数字媒体应用程序,通过与
Windows
家
族的最新成员:
Windows XP Media Center Edition
配合,相信能给用
户带来更流畅的数码娱乐享受。
以上是微软的一些产品,微软提供给我们,让我们可以
进行开发的是
Windows Media 9 SDK
。
SDK
是
软件开发工具包
Software Develop Kits
。
Windows
Media 9 SDK
主要包括
Windows Media Player SDK
、
Windows
Media Format SDK
、
Windows Media Rights
Manager SDK
、
Windows Media Encoder SDK
、
Windows
Media Services SDK
。
我们可以使用
Windows Media Encoder SDK
开发自己的编
码应用。微软的
Windows Media Encoder
(
Windows
Media
编码器)就是使用
Windows Media Encoder SDK
进
行开发的。编码应该如何理解呢?或者说编码器应该具有什么功能呢?将设备或者文件中的流媒体采集到并按照微软的媒体格式进行编码,并输出,这就是编码器的
作用。用更加执白的话说就是采集、格式转换、压缩。
Windows Media Encoder
的
源可以是设备也可以是文件,设备可以是屏幕或者摄像头或者其他的视频、音频设备,文件可以是视频文件、音频文件。
Windows
Media Encoder
的输出可以将内容编码到文件,也可以对内容进行实况广播。如果要进行广播,既可以通过推传递(在
客户端没有请求数据的情况下传递)将流传输到运行
Windows Media Services
的
服务器上,也可以允许
Windows Media
服务器和播放机通过拉传递(仅在客户端发出请
求时将数据传递给客户)直接从编码器接收流。
Windows Media Encoder SDK
不会和
Windows
Media Encoder
一起安装,需要单独下载,
Windows Media
Encoder SDK
中安装了一些示例和帮助文件。
Windows Media
Encoder SDK
以
COM
组件的方式提供服务,可以参考
wmencsdk.chm
的
内容。
下面以一个简单的例子来展示一下
C#
使用
Windows
Media Encoder SDK
进行开发的情形。
try
{
//
创建WMEncoder object.
WMEncoder Encoder
=
new
WMEncoder();
//
获得组源集合
IWMEncSourceGroupCollection SrcGrpColl
=
Encoder.SourceGroupCollection;
//
向集合中增加一个组源
IWMEncSourceGroup SrcGrp
=
SrcGrpColl.Add(
"
SG_1
"
);
//
向组源中增加一个音频源和视频源
IWMEncSource SrcAud
=
SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_AUDIO);
SrcAud.SetInput(
"
C://爱就爱了.rm
"
,
""
,
""
);
IWMEncVideoSource2 SrcVid
=
(IWMEncVideoSource2)SrcGrp.AddSource(WMENC_SOURCE_TYPE.WMENC_VIDEO);
SrcVid.SetInput(
"
C://爱就爱了.rm
"
,
""
,
""
);
//
制定一个输出文件
IWMEncFile File
=
Encoder.File;
File.LocalFileName
=
"
C://OutputFile.wmv
"
;
//
装载配置文件
WMEncProfile2 Pro
=
new
WMEncProfile2();
Pro.LoadFromFile(
"
c://schi.prx
"
);
SrcGrp.set_Profile(Pro);
//
增加文件描述信息
IWMEncDisplayInfo Descr
=
Encoder.DisplayInfo;
Descr.Author
=
"
Author name
"
;
Descr.Copyright
=
"
Copyright information
"
;
Descr.Description
=
"
Text description of encoded content
"
;
Descr.Rating
=
"
Rating information
"
;
Descr.Title
=
"
Title of encoded content
"
;
IWMEncAttributes Attr
=
Encoder.Attributes;
Attr.Add(
"
URL
"
,
"
IP address
"
);
//
开始编码处理
Encoder.PrepareToEncode(
true
);
Encoder.Start();
MessageBox.Show(
"
It's OK
"
);
}
catch
(Exception e1)
{
MessageBox.Show(e1.Message
+
e1.StackTrace);
Windows
Media Encoder SDK的下载可以去微软网站下载,本Blog提供英文版SDK帮助文件下载。wmencsdk.chm