Qt利用avilib實現錄屏功能,生成avi文件

環境:

Qt + vs2013 + avilib
demo下載:https://download.csdn.net/download/birenxiaofeigg/12087607

界面

開始錄製:
在這裏插入圖片描述
結束錄製:
在這裏插入圖片描述

新建.avi文件

AVI_open_output_file(char* filename);//打開avi文件,不存在,即創建

設置視頻參數

void AVI_set_video(avi_t *AVI, int width, int height, double fps, char *compressor);

AVI:爲打開avi文件的avi_t;width:圖像寬度;height:圖像高度;
fps:幀率;compressor:視頻壓縮類型,比如"MJPG",“H264”

例子:

AVI_set_video(hAviHandle,704,576,25, "H264");
AVI_set_video(hAviHandle,704,576,25, "MJPG");

設置音頻參數

void AVI_set_audio(avi_t *AVI, int channels, long rate, int bits, int format, long mp3rate);

例子:

AVI_set_audio(hAviHandle, 1, 8000, 16, WAVE_FORMAT_PCM, 128);
//rate*bit/(channels*1000) ?= mp3rate

寫視頻幀

int  AVI_write_frame(avi_t *AVI, char *data, long bytes, int keyframe); 
//保存一幀圖像, keyframe

keyframe 表示是否爲關鍵幀(即是否完整的一幀圖像數據, jpg每張都是完整的)

寫音頻幀

int  AVI_write_audio(avi_t *AVI, char *data, long bytes);

關閉.avi文件

int  AVI_close(avi_t *AVI); //結束保存視頻,並會寫入文件索引的。

demo下載:https://download.csdn.net/download/birenxiaofeigg/12087607

發佈了61 篇原創文章 · 獲贊 10 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章