关于 rectShow 抓取视频到AVI文件?
是关于DirectShow 抓取视频到AVI文件的程序,可是程序生成的AVI文件总是0字节,没有存储实时的视频.
主要实现是这样的:
我做了 三个过滤器 IBaseFilter * m_pDF 摄像头 ,m_pCom 压缩过滤器 ,m_pWrite 写文件过滤器
将输出文件设置好:
CoCreateInstance(CLSID_FileWriter,NULL,CLSCTX_ALL,IID_IBaseFilter,(void**)&m_pWrite);
m_pGB->AddFilter(m_pWrite,L"Writer");
m_pWrite->QueryInterface(IID_IFileSinkFilter2,(void**)&pSink);
pSink->SetFileName(inFile.AllocSysString(),NULL); //InFile 是输出的文件
再将三个滤器连接
hr = m_pGB->Connect(pSrcOut,pComIn);
hr = m_pGB->Connect(pComOut,pMuxIn);
hr = m_pGB->Connect(pMuxOut,pWriterIn);
最后运行
hr = m_pMC->Run();// IMediaControl * m_pMC
这样会生成AVI文件,但是文件是空的,没有视频流进去?