同三維USB采集卡SDK編碼函數說明
來源:同三維 作者:同三維視頻 編輯:數字音視工程 2011-06-24 17:39:16 加入收藏 咨詢

所在單位: | * |
姓名: | * |
手機: | * |
職位: | |
郵箱: | * |
其他聯系方式: | |
咨詢內容: | |
驗證碼: |
|
同三維T301 USB視頻采集卡是一款專業級的視頻采集設備,帶有VC二次開發包SDK,并帶有完整DEMO源程序,其帶有視頻抓拍、視頻錄像、翻轉、定時錄像等功能。同三維(www.tswvideo.com)這款專業級USB視頻采集卡采用高速USB2.0接口設計,支持四路視頻輸入,可以通過視頻S端子或者Video端子來接入視頻。
同三維USB采集卡SDK編碼函數說明
編碼函數介紹:
75 UINT WINAPI HYCreateEncoder(UINT unIndex,UINT unRequestFlag,PVIDEO_ENCORE_PARAM pVideoEncoreParam)
說明:創建媒體編碼器。
參數:UINT unIndex:基于0的設備索引。
UINT unRequestFlag:請求標示,為FLAG_REQUEST_VIDEO 和 FLAG_REQUEST_AUDIO的組合。
FLAG_REQUEST_VIDEO:請求創建視頻編碼器。
FLAG_REQUEST_AUDIO:請求創建音頻編碼器。(目前暫不支持)
PVIDEO_ENCORE_PARAM pVideoEncoreParam:視頻編碼器工作參數。
定義:
1、編碼模式:
typedef enum
{
VIDEO_ENCORE_CBR = 0, //常位率編碼模式,單位時間位率基本一致,編碼器通過動態改變編碼質量滿足位率要求
VIDEO_ENCORE_VBR = 1, //變位率編碼模式,單位時間位率動態變化,編碼質量恒定,保持同一水平輸出。
}ENCOREMODE;
2、編碼參數
typedef struct _tagMediaParam
{
ENCOREMODE enEncoreMode; //編碼模式,見上述說明
double dbFrameRate; //輸入視頻幀率,PAL:1-25,NTSC:1-30 *
DWORD dwVideoWidth; //輸入視頻寬度 *
DWORD dwVideoHeight; //輸入視頻高度 *
DWORD dwBitRate; //常位率編碼模式下的編碼位率,單位:kbps
DWORD dwVBRPeakRate; //變位率模式下的峰值位率。 #
DWORD dwVBRMaxRate; //變位率模式下的最大位率。 #
DWORD dwQuantizer; //變位率模式下的量化系數。 #
DWORD dwMotionPrecision; //運動預測值(2-6,值越大效果越好,但CPU更高)
DWORD dwKeyFrmInterval; //關鍵幀出現周期,單位:幀
}VIDEO_ENCORE_PARAM,*PVIDEO_ENCORE_PARAM;
其中:行尾標有“*”的參數為AVI,MP4共用參數,必須輸入。
行尾標有“#”的參數為可選參數,如不輸入,可以填0,系統會自動確定相應值。
dwMotionPrecision參數將影響CPU占用率,通常情況下選擇默認值為2即可。
返回:ERR_SUCCESS:操作成功。
其他:操作失敗。失敗原因由返回代碼給出。
76 UINT WINAPI HYDestoryEncoder(UINT unIndex)
說明:刪除媒體編碼器,釋放系統分配的資源。
參數:UINT unIndex:基于0的設備索引。
返回:ERR_SUCCESS:操作成功。
其他:操作失敗。失敗原因由返回代碼給出。
77 UINT WINAPI HYCreateRecordFile(UINT unIndex,LPCTSTR szFileName,RECTYPE enType)
說明:創建錄象文件,該函數需在成功調用HYCreateEncoder后使用。
參數:UINT unIndex:基于0的設備索引。
LPCTSTR szFileName:錄象輸出文件名,包括全路徑。
RECTYPE enType:錄象文件類型。
定義:
1、錄象文件類型:
typedef enum
{
RECTYPE_MP4 = 0, //MPEG4文件,視頻編碼采用MPEG4規范。
RECTYPE_AVI = 1, //AVI文件,為YUY2的原始數據流文件。
}RECTYPE;
返回:ERR_SUCCESS:操作成功。
其他:操作失敗。失敗原因由返回代碼給出。
78 UINT WINAPI HYCloseRecordFile(UINT unIndex)
說明:打包并關閉錄象文件。
參數:UINT unIndex:基于0的設備索引。
返回:ERR_SUCCESS:操作成功。
其他:操作失敗。失敗原因由返回代碼給出。
79 UINT WINAPI HYEnableEncode(UINT unIndex,BOOL bEnable)
說明:開始/停止媒體數據編碼。
參數:UINT unIndex:基于0的設備索引。
BOOL bEnable:TRUE:開始編碼。FALSE:停止編碼。
返回:ERR_SUCCESS:操作成功。
其他:操作失敗。失敗原因由返回代碼給出。
80 UINT WINAPI HYGetVideoOverturn(UINT unIndex,BOOL &bOverturn)
說明:獲取視頻翻轉設置。
參數:UINT unIndex:基于0的設備索引。
BOOL &bOverturn:輸出參數,用于返回視頻翻轉設置,
TRUE :視頻翻轉顯示。
FALSE:視頻正常顯示。
返回:ERR_SUCCESS:操作成功。
其他:操作失敗。失敗原因由返回代碼給出。
81 UINT WINAPI HYSetVideoOverturn(UINT unIndex,BOOL bOverturn)
說明:設置視頻翻轉。
參數:UINT unIndex:基于0的設備索引。
BOOL bOverturn:視頻顯示翻轉狀態。
TRUE :視頻翻轉顯示。
FALSE:視頻正常顯示。
返回:ERR_SUCCESS:操作成功。
其他:操作失敗。失敗原因由返回代碼給出。
USB視頻采集卡(T301)操作系統支持:Windows 2000、Windows 2003、XP、Vista、WIN7等,免費提供完整的SDK二次開發包,其支持VC等。提供演示程序及演示程序源代碼。我們可以根據客戶的需求進行軟件硬件方面的修改(OEM),并支持在USB采集卡上進行加密,為客戶生成獨特的保密字,完整的服務支持可以方便快速的開發您的自己的應用系統。了解更多這款USB視頻采集卡您可以登錄USB視頻采集卡專題:http://www.xiangb.com/usbcjk.htm
評論comment