我想抓取mpg视频中的帧,老不稳定,
经常连续很多帧都是一样的,而avi则不会出这个问题
请问哪里出了问题
我不想播放,我只是想对每一帧图像进行分析处理
这是我的程序架构
for(i=0;i<max_frame;i++)
{ //获取第i帧图像
  m_FilterGraph->SetCurrentFrame(i);
  m_FilterGraph->GrabBitmaps(pImage);//得到第i帧图像
  ...
}
//m_FilterGraph是CDXGraph*
bool CDXGraph::SetCurrentFrame(long frame)
{
HRESULT hr;
hr=this->SetCurrentPosition(this->Frame2Time(frame));
if (SUCCEEDED(hr))
{
return true;
}
return false;
}经常连续很多帧都是一样的,请问哪里出了问题,怎么改啊?听人说要用Run()+回调函数,好麻烦
我本身就不想播放,只想对每一帧图像进行分析处理,不想看到播放视频的过程,为什么强迫我调用->Run()呢?我后来试了一下,for循环里面+Sleep(400);才可以不丢帧
但另一个视频Slppe(50)就可以了怀疑是不是解码器没准备好,
能不能在
m_FilterGraph->SetCurrentFrame(i);
之前判断一下解码器是否准备好?