社区
C语言
帖子详情
视频捕捉和压缩windows实现方式
stidio_zhougang
2002-07-31 09:38:35
视频捕捉和压缩windows实现方式?
...全文
66
1
打赏
收藏
视频捕捉和压缩windows实现方式
视频捕捉和压缩windows实现方式?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
夭夭
2002-07-31
打赏
举报
回复
#ifndef VIDEOCAP_H
#define VIDEOCAP_H
#include <dshow.h>
#include <Qedit.h>
class CSampleGrabberCB;
class CVideoCap
{
//--------------------------------------------------------------
class CSampleGrabberCB : public ISampleGrabberCB
{
private:
CVideoCap *m_pfather;
public:
CSampleGrabberCB( )
{
;
}
int SetFather(CVideoCap *p)
{
this->m_pfather=p;
return 0;
}
STDMETHODIMP_(ULONG) AddRef() { return 2; }
STDMETHODIMP_(ULONG) Release() { return 1; }
STDMETHODIMP QueryInterface(REFIID riid, void ** ppv)
{
if( riid == IID_ISampleGrabberCB || riid == IID_IUnknown )
{
*ppv = (void *) static_cast<ISampleGrabberCB*> ( this );
return NOERROR;
}
return E_NOINTERFACE;
}
STDMETHODIMP SampleCB( double SampleTime, IMediaSample * pSample )
{
return 0;
}
STDMETHODIMP BufferCB( double dblSampleTime, BYTE * pBuffer, long lBufferSize )
{
return this->m_pfather->OnCapture((char *)pBuffer,(unsigned long)lBufferSize);
}
};
//--------------------------------------------------------------
public:
int StartCap(void);//开始
int StopCap(void); //停止
protected:
virtual int OnCapture(char * pData,unsigned long nLen){return 0;};//捕获
private:
int CapInit(void);//初始化
int CapUnInit(void);//释放
public:
CVideoCap(void);
virtual ~CVideoCap(void);
private:
CSampleGrabberCB m_SampleGrabberCB;//数据采集回调设置类
//----------------------
IGraphBuilder *m_pGB ;//图形接口
ICaptureGraphBuilder2 *m_pCG ;//捕获接口
IMediaControl *m_pMC ;//控制接口
IVideoWindow *m_pVW ;//播放窗口
ISampleGrabber *m_pSG;//回调设置
IBaseFilter *m_pSGFilter;//数据源,
IBaseFilter *m_pCGFilter;//捕获源
IPin *m_pRP; //图形接口的输出PIN
AM_MEDIA_TYPE *m_Amt;//数据采集格式
IAMStreamConfig *m_pVSC;//设置捕获流的格式
bool m_Ready; //初始化成功
private:
IBaseFilter * GetCapFilter(void);//获取采集源
int InstallSampleGrabber(void); //安装回调
IPin * GetPin(IBaseFilter *pFilter, PIN_DIRECTION PinDir);//获得过滤器的输入或是输出接口
int ConnectFilters(IGraphBuilder *pGraph, IBaseFilter *pFirst, IBaseFilter *pSecond);//连接过滤器
};
#endif
这是接口部份,别的太长了,不好发,发到你的邮箱
Windows
环境下实时
视频
捕捉
、
压缩
的
实现
综上所述,本文详细探讨了在
Windows
环境下
实现
实时
视频
捕捉
、
压缩
的技术细节,包括
视频
捕捉
的关键技术和
视频
压缩
优化技术等方面,为开发高性能的
视频
会议、可视电话等多媒体应用提供了重要的理论基础和技术支持。
掌握VFW与VCM:
Windows
视频
捕捉
与
压缩
技术
VFW架构主要包含以下几个核心组件:cap.dll:负责
视频
捕捉
相关API的调用。
视频
捕捉
窗口:一个特殊的窗口类,用于显示
捕捉
到的
视频
。
视频
编解码器:对
捕捉
到的原始
视频
数据进行
压缩
或解
压缩
,以适应不同的应用场景。...
摄像头
视频
捕捉
程序设计
实现
视频
捕捉
程序的开发流程通常包括需求分析、方案设计、编码
实现
、测试验证和优化迭代等阶段。开发者需要通过逐步细化需求,选择合适的架构和技术路线,并在
实现
过程中注重代码质量和性能优化。
视频
捕捉
程序的成功开发...
windows
下
视频
捕捉
VFW和DirectShow
说起
视频
捕捉
问题,先来看一下
视频
捕捉
卡。根据使用的驱动程序的不同来分类,目前市场上大致有两种
捕捉
卡:VFW (Video for
Windows
)卡和WDM (
Windows
Driver Model)卡。前者是一种趋于废弃的驱动模型,而后者是前者...
MFC环境下的图像
视频
捕捉
实战
简介:本课程详细介绍如何在...课程内容包括位图操作技术、
视频
捕捉
技术以及如何使用
Windows
API和MFC类进行图像
视频
的实时捕获和显示。同时,也将探讨如何在MFC程序中合理使用多线程来避免UI阻塞,并介绍...
C语言
70,040
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章