Dshow压缩问题

hrjhrj12345 2010-05-02 10:01:22
可以实现了采集和保存,可是想把采集同时进行压缩,
以下是个大概的过程,压缩时,调用系统自带的压缩Filter: MJPEG Compressor Filter


//创建IGraphBuilder
hr=CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&pGraph2);

IBaseFilter* vedioWriter=NULL;
IBaseFilter* compre=NULL;

//MJPEG Compressor Filter
//创建压缩接口compre
CoCreateInstance(CLSID_MJPGEnc,NULL,CLSCTX_INPROC,IID_IBaseFilter,(void**)&compre);
hr = pGraph2->AddFilter(compre, L"CLSID_VideoCompressorCategory");


hr=pBuild2->SetOutputFileName(&MEDIASUBTYPE_Avi,FileName,&vedioWriter,&fsFilter);

hr=pBuild2->RenderStream(&PIN_CATEGORY_CAPTURE,&MEDIATYPE_Video, pSrc_preview,compre,vedioWriter);


//设定视频窗口为主窗口的一个子窗口
hr=m_pVidWin->put_Owner((OAHWND)hwnd);//E_NOINTERFACE
m_pVidWin->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN);
//设定视频窗口
m_pVidWin->SetWindowPosition(left, top, Width,Height);

hr=m_pMediaControl->Run(); //运行Filter Graph

...全文
163 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
msdn2100 2010-05-03
  • 打赏
  • 举报
回复
LZ的意思是?

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧