DirectShow : AVI文件操作 -- C++ 类

本文介绍了一个使用DirectShow库在C++中操作AVI文件的类AVICodec。该类提供了播放AVI文件和获取指定帧RGB24格式数据的功能。初始化时,它打开并渲染文件,通过IMediaDet接口获取帧率、长度等信息,同时提供了抓取图像和释放内存的方法。
摘要由CSDN通过智能技术生成

DirectShow  AVI 文件操作

最近在做一个“运动物体分割”的课题,在课题中要处理视频文件,首先考虑最简单的视频格式:AVI格式,由于AVI格式是微软推出的,所以在Windows下操作比较容易,这里我用DirectShow读写AVI视频文件,并把所有操作封装成一个类:AVICodec。下面是类的定义:

class AVICodec
{
public:
 AVICodec(){size = -1;}
 AVICodec(LPCWSTR avifile);
 void release();
 int init_getframe();
 char* getframe(unsigned int index);
 int getFrame(unsigned int index);
 int getFrameEnd();
 void play();
private:
 IGraphBuilder *pGraph;
 IMediaControl *pControl;
 IMediaEvent   *pEvent;
 IMediaDet   *pDet;

 AM_MEDIA_TYPE amMediaType;
public:
 BITMAPINFOHEADER *pbih;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值