Windows Media Encode 9简介及SDK


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
ExpandedBlockStart.gif             {
                // 创建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)
ExpandedBlockStart.gif             {
                MessageBox.Show(e1.Message+e1.StackTrace);
            }



本文转自94cool博客园博客,原文链接http://www.cnblogs.com/94cool/articles/1532615.html,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值