流媒體學習筆記----配置一個編碼程式 (轉)
: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_Copyright,put_Description,put_Rating,put_Title分別為設定相應資訊。其中,這些資訊的變數型別為BSTR 或CComBSTR,與CString型別的轉化方法為:
BSTR Author(L
”
let5fly
”
);
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell程式設計學習筆記(一):編寫我的第一段程式碼程式設計筆記
- 彙編學習筆記之轉移指令筆記
- Python學習筆記—程式碼Python筆記
- repuest轉發學習筆記一筆記
- XML學習筆記(一):關於字元編碼的理解XML筆記字元
- Node.js stream(流) 學習筆記(一)Node.js筆記
- 網路流學習筆記筆記
- 【學習筆記】網路流筆記
- 學習筆記-kali中配置python編寫環境筆記Python
- 彙編學習筆記筆記
- Java學習筆記--我的第一個Java程式Java筆記
- 【學習筆記】初次學習斜率最佳化的程式碼及筆記筆記
- jQuery原始碼學習筆記一jQuery原始碼筆記
- Python3學習筆記-字串和編碼Python筆記字串
- webpack 學習筆記:實戰之 babel 編碼Web筆記Babel
- python學習筆記:第6天 小資料池和編碼轉換Python筆記
- Redis安裝與配置(學習筆記一)Redis筆記
- Java學習筆記09(IO流)Java筆記
- Android Utils 之 Vector 學習筆記(一)—— VectorImpl 程式碼分析Android筆記
- 關於視訊流媒體伺服器的學習記錄伺服器
- iOS逆向學習筆記 - 彙編(一) - 初識彙編iOS筆記
- 【編譯openjdk學習筆記】編譯JDK筆記
- 【閱讀筆記】Taro轉小程式編譯原始碼解析筆記編譯原始碼
- SpringCloud學習筆記(一) 搭建一個SpringCloudSpringGCCloud筆記
- Swoft 學習筆記之配置筆記
- Elasticsearch的配置學習筆記Elasticsearch筆記
- Flutter與Android混合編碼配置筆記FlutterAndroid筆記
- jQuery 學習筆記:jQuery 程式碼結構jQuery筆記
- JPG學習筆記2(附完整程式碼)筆記
- JPG學習筆記1(附完整程式碼)筆記
- JPG學習筆記3(附完整程式碼)筆記
- 記一次 .NET 某流媒體獨角獸 API 控制程式碼洩漏分析API
- 彙編基礎學習筆記筆記
- 學習筆記(一)筆記
- 《Fluid Engine Development》 學習筆記3-光滑粒子流體動力學UIdev筆記
- Linux 學習筆記--程式Linux筆記
- 好程式設計師web前端培訓學習筆記Vue學習筆記一程式設計師Web前端筆記Vue
- 彙編學習筆記07——BCD碼及調整指令筆記
- webpack學習筆記七:配置babelWeb筆記Babel