在vc下用directshow开发视频软件,
发现个问题。
利用IAMStreamConfig 获取配置之后
修改,VIDEOINFOHEADER 中的AvgTimePerFrame 参数,没法实现录像帧率修改。
目前发现,只要摄像头本身不支持帧率修改的话, 该参数修改了,好像也不起作用。
由于我加入了mpeg4压缩。
用的是微软的压缩代码。最后出现录像1分钟时间,但是录像的文件属性显示1分08秒,不知道为甚么
反复测试也是如此。有人知道怎么回事吗?hr = pCGB2->FindInterface(&PIN_CATEGORY_CAPTURE,&MEDIATYPE_Video, pCap,IID_IAMStreamConfig, (void **)&pSC);
AM_MEDIA_TYPE *mtt=NULL;
hr = pSC->GetFormat( &mtt );
    if ( FAILED( hr) )
    {
        Error( TEXT("Could not read the connected media type"));
        return hr;
    }
VIDEOINFOHEADER *vihh = reinterpret_cast<VIDEOINFOHEADER *>(mtt->pbFormat);
int nWidth,nHeight;
vihh->bmiHeader.biHeight=240;
vihh->bmiHeader.biWidth=320;
vihh->AvgTimePerFrame=400000;
pSC->SetFormat(mtt);
DeleteMediaType(mtt);
pSC->Release();