Windows Media Encode 9简介及SDK

来源:互联网 发布:网络科学原理与应用 编辑:程序博客网 时间:2024/05/26 19:15
Windows Media Encode 9简介及SDK
 
Windows Media Encode 9Windows Media 9 Series组成部分之一,它的主要作用是进行编码。Windows Media 9 Series包括了 Windows Media Audio 9 SeriesWindows Media Video 9 SeriesWindows Media Encoder 9 SeriesWindows Media Services 9 SeriesWindows Media Player 9 SeriesWindows Media Rights Manager 9 SeriesWindows Media 9 Series SDK。基于这个平台,开发者可以利用播放器、解码器以及服务器端配合开发出数字媒体应用程序,通过与Windows 家族的最新成员:Windows XP Media Center Edition配合,相信能给用户带来更流畅的数码娱乐享受。

以上是微软的一些产品,微软提供给我们,让我们可以进行开发的是Windows Media 9 SDKSDK是软件开发工具包Software Develop KitsWindows Media 9 SDK主要包括Windows Media Player SDKWindows Media Format  SDKWindows Media Rights Manager SDKWindows Media Encoder SDKWindows Media Services SDK

我们可以使用Windows Media Encoder SDK开发自己的编码应用。微软的Windows Media EncoderWindows 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 SDKCOM组件的方式提供服务,可以参考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  

windows media encoder 9 servial SDK 地址:

http://www.microsoft.com/downloads/details.aspx?FamilyID=acddaae1-93a9-4dd5-aaa2-5fb28c3ba43a&DisplayLang=zh-cn