九視電子視頻采集卡系列提供完整的SDK開發包,并且為SDK提供了C++、C#、VB、Delphi等開發語言和例程,方便用戶較快地集成到現有的系統中。下面九視電子技術簡單的介紹下如何硬件編碼MP4文件。
如果用戶需要錄制生成H.264/AAC壓縮 的 MP4 件,可以使用以下步驟進行:
檢測本地硬件環境是否能夠使用硬件壓縮XIS_IsSupportH264HD
打開視頻和音頻采集設備,并開始采集
創建 H.264 編碼器,XIS_CreateH264Encoder ;
設置 H.264編碼器的數據接收函數,XIS_SetH264EncoderCallback;
獲取 H.264 編碼器的壓縮數據供 MP4復合器使用, XIS_H264EncoderGetExtraData;
創建MP4 復合器, XIS_CreateMP4Muxer
添加視頻流到 MP4 復合器中,XIS_MP4MuxerAddVideoStream
如果需要錄制音頻,把音頻設備和 AAC 編碼器連接, XIS_SetAudioAACDataOutpu
添加音頻流到MP4 復合器中, XIS_MP4MuxerAddAudioStream
將 H.264編碼器連接到視頻采集設備上,XIS_SetVideoCaptureEncoderOutput
在設置是H.264數據接收函中向MP4 復合器推送數據XIS_MP4MuxerPutFrame
錄制完成后,停止錄制按以下步驟進行:
斷開 H.264 編碼器和視頻采集設備的連接, XIS_SetVideoCaptureEncoderOutput
如果有音頻, 斷開音頻設備和AAC編碼器的連接 ,XIS_SetAudioAACDataOutput
關閉 MP4文件復合器,XIS_DestroyMP4Muxer
銷毀H.264 編碼器,XIS_DestroyH264Encoder
注意 1:在開始錄制前,視頻設備和音頻設備需要處于采集狀態。
注意 2:一個 MP4文件可以包含一路視頻和音頻,也可以僅包含一路視頻而沒有音頻,其他的各種情況均不允許。
注意 3:因為 H.264 壓縮使用了硬件加速,需要相應軟環境允許才能進行錄制,具體環境如下:
操作系統為Windows7或 Windows8平臺 ,WindowsXP不可以;
使用 Intel 具有 Sandy Bridge或者 Ivy Bridge架構的CPU;
使用 Intel 集成顯卡,且驅動更新到最新版本 ;
用戶可以調用XIS_IsSupportH264HD函數檢測本地環境是否支持;
示例程序“ XILiteCapture”、“ XICapture”均有該流程的示例代碼。