Windows Media Encode 9簡介及SDK

來源:互聯網
上載者:User
 
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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.