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

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值