流媒體學習筆記----配置一個編碼程式 (轉)

gugu99發表於2007-08-17
流媒體學習筆記----配置一個編碼程式 (轉)[@more@]

 :namespace prefix = o ns = "urn:schemas--com::office" />

 

一個編碼程式

 

  要想完全地配置一個編碼,下面的介面必須被正確地設定。注意可選擇的介面。

1.  The IWMEncAttributes interface (optional).(可選擇的,隨意的)

2.  The IWMEncBroadcast interface (optional).

3.  The IWMEncDisplayInfo interface (optional).

4.  The IWMEncFile interface (optional).

5.  The IWMEncProfile interface  (必選)

6.  The IWMEnc interface.  (必選)

7.  The IWMEncVoSource interface (optional)

 

或者IWMEncBroadcast和IWMEncFile 任選一個為編碼內容指定目的地。或者廣播出去,或者存放在本地。或者兩者都進行。

下面就每個介面做簡要敘述:

The IWMEncAttributes interface (optional)

 

這個屬性介面管理一個自定義介面的集合。它包含了一組已經定義好的屬性並允許自己定義。舉例來說,你可以說明一個流的編成日期,透過把字串“DATE”賦值給屬性名,並且這個字串包含了這個屬性值的資料格式。而且,你可以利用這一介面對一目錄進行分類。其方法有:Add 增加一個使用者新定義的屬性。get_Count 得到已經定義好的屬性。

Item 得到特定的一項。Remove 移除特定的一項屬性。RemoveAll 移除全部屬性。

 

The IWMEncBroadcast interface (optional).

 

這個介面管理廣播編碼內容的和埠號。其方法繼承於Idispatch 介面。它的方法有

get_PortNumber 返回用於廣播編碼內容的埠號。其中包含了傳輸的協議,正確的設定應為HTTP。(Encoder7不支援ms協議)指定一個埠號用put_PortNumber 方法。

 

The IWMEncDisplayInfo interface (optional).

 

這個介面負責管理編碼內容的一些資訊。可以設定和讀取諸如作者、版權等字串。作為代表性的,它包含了作者、版權日期、標題、等級以及關於作者對於編碼內容所加的一些額外描述資訊。它繼承於Idispatch 介面。它的方法有:get_Author 得到作者的名字。get_Copyright 得到版權,get_Description 得到關於編碼內容的一般性描述資訊。get_Description 返回關於內容的等級資訊。(質量的好壞) get_Title 得到標題。put_Author

put_Copyrightput_Descriptionput_Ratingput_Title分別為設定相應資訊。其中,這些資訊的變數型別為BSTR CComBSTR,與CString型別的轉化方法為:

BSTR Author(Llet5fly);

CString str;

Str=Author.Copy();

 

The IWMEncFile interface (optional).

 

這個介面用來管理編碼內容的。它繼承於 Idispatch  介面。該介面的方法有:get_LocalFileName 得到用來儲存編碼內容檔案的全路徑。put_LocalFileName 設定用來儲存編碼內容檔案的全路徑。

 

The IWMEncProfile interface

 

這個介面用來得到關於一個具體的名字、描述資訊和型別。編碼器透過一個和被廣播內容與客戶端使用者頻寬相匹配的方案(框架)對媒體流進行編碼。在一個編碼程式中可以有多個方案(框架),但在任一時刻,只有一個是工作的。框架決定了媒體流的輸出格式、客戶端的頻寬、是否被編碼成多位率流等。只有一個框架(方案)和一個媒體源組相關聯。並且一次只能有一個源被編碼。定義好的框架不能被改變或移除,但使用者可以自己定義。但你必須用框架管理或dia Format SDK進行編輯。你可以透過IWMEncProfileManager介面建立框架管理對話方塊進行編輯。該介面繼承於Idispatch介面。

其方法有:get_Description 返回一個框架的描述資訊。get_MaxPacketSize 得到在編碼過程中資料包的最大尺寸,單位是位元組。get_MediaCount 得到一個框架所支援的、影片和指令碼的數目。get_MultipleBitrate 得到一個關於框架是否支援多位媒體流的布林值。get_Name 得到框架的名。put_MaxPacketSize 設定編碼過程中最大的資料包大小,單位位元組。

The IWMEncSource interface.

這個介面裝載一個捕獲源,整理和反覆一個特定的源。(用於廣播的時候)並且得到轉換程式和資料觀察。該介面繼承於Idispatch介面。有如下方法:

GetInput 得到一個捕獲源,通常是一個檔案或者外掛程式。get_MarkIn 得到一個媒體流的起始點。get_MarkOut 得到一個媒體檔案的結束點。get_PostviewCollection 返回一個傳送資料視窗的介面(A postview is an IWMEncDataView that renders content in a window after the content has been both compressed and decompressed)。

get_PreviewCollection 得到一個預覽視窗的介面。get_Repeat 得到一個源的迴圈、反覆屬性。GetSourcePlugin 得到與源相關聯的外掛程式,這不是一個自適應的方法。

get_TranormCollection 得到所有的已註冊的轉換外掛的集合。GetTransformPlugin (透過,為媒體源)得到一個特定的外掛程式,這不是一個自適應的方法。

GetTransformPluginCount 得到可以被利用的所有外掛程式的數目。get_Type 得到輸入流的型別。 put_MarkIn 指定一個媒體流的開始點。put_MarkOut 指定結束點。put_Repeat

指定流的迴圈屬性。 SetInput 設定輸入源。

 

The IWMEncVideoSource  interface [optional].

 

這個介面用於修飾圖象,去除一些不好的(無用的)的畫素。通常是在影片流和關鍵圖象的邊緣。編碼器調整圖象的大小以適應框架(屬性)的要求。該介面繼承於IWMEncSource

方法有:get_CropBottomMargin 得到與下邊緣無關的畫素數目。

get_CroppingLeftMargin 得到與左邊緣無關的畫素數目。get_CroppingMode 得到一個關於處理(修剪)圖象的布林型的值。get_CroppingRightMargin  得到從右邊緣移除的畫素數。get_CroppingTopMargin 得到從上端邊緣移除的畫素。 get_Optimization 在編碼的時候得到影片最的型別。get_PixelFormat 得到影片圖象的畫素格式。

put_CroppingBottomMargin  put_CroppingLeftMargin  put_CroppingMode 

put_CroppingRightMargin  put_CroppingTopMargin  put_Optimization 

put_PixelFormat  分別為設定具體值。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-963013/,如需轉載,請註明出處,否則將追究法律責任。

相關文章