zoukankan      html  css  js  c++  java
  • 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进行开发的情形。

    Code
    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

  • 相关阅读:
    Java 进制转换
    k-近邻算法实例
    Java JTS & 空间数据模型
    Java中 &&与&,||与|的区别
    http https 区别
    四种DCOM错误的区别,0x80080005 0x800706be 0x80010105 0x
    OPC测试常用的OPCClient和OPCServer软件推荐
    关于TFS2010 远程无法创建团队项目的若干问题总结
    我对NHibernate的感受(4):令人欣喜的Interceptor机制
    我对NHibernate的感受(3):有些尴尬的集合支持
  • 原文地址:https://www.cnblogs.com/dsliang/p/1448728.html
Copyright © 2011-2022 走看看