我参考别人的代码,视频采集没什么问题,但压缩就出问题了……memset(&m_CV,0,sizeof(COMPVARS)); m_CV.dwFlags=ICMF_COMPVARS_VALID;
m_CV.cbSize=sizeof(m_CV);
m_CV.cbState=1180;//0; // 未用
m_CV.fccHandler = mmioFOURCC('m','p','4','2'); //使用DIVX压缩
m_CV.fccType=ICTYPE_VIDEO;
m_CV.hic=ICOpen(ICTYPE_VIDEO,m_CV.fccHandler,ICMODE_COMPRESS);
m_CV.lDataRate=780; // kb/s
m_CV.lFrame=0; //未用
m_CV.lKey=15; //
m_CV.lKeyCount=0; //未用
m_CV.lpbiIn=NULL; //未用
m_CV.lpBitsOut=NULL; //未用
m_CV.lpbiOut = (BITMAPINFO*)&m_OutInfo;
m_CV.lpBitsPrev=m_CV.lpState=NULL; //未用
m_CV.lQ=ICQUALITY_DEFAULT; //品质设置 为默认值 if (m_CV.hic!=NULL)
{
m_OutFormatSize = ICCompressGetFormatSize(m_CV.hic,&m_InInfo); //获取输出结构格式的大小
m_pOutInfo=(BITMAPINFO *)new BYTE[m_OutFormatSize]; if(ICCompressGetFormat(m_CV.hic,&m_InInfo,m_pOutInfo)!=ICERR_OK ) // 获取压缩格式
AfxMessageBox(_T("获取输出格式失败!"));
m_OutBufferSize=ICCompressGetSize(m_CV.hic,&m_InInfo,m_pOutInfo);
if(!ICSeqCompressFrameStart(&m_CV,&m_InInfo))
AfxMessageBox(_T("压缩初始化失败!"));
}
else
{ AfxMessageBox(_T("加载DivX失败!"));
}
m_OutFormatSize的大小竟然是4G!如果把mp42换成xvid或divx,hic的值总是0,我知道可能是没有装压缩库所致,可怎么装啊?没接触过视频压缩,请大侠们帮忙解决一下,谢谢了
m_CV.cbSize=sizeof(m_CV);
m_CV.cbState=1180;//0; // 未用
m_CV.fccHandler = mmioFOURCC('m','p','4','2'); //使用DIVX压缩
m_CV.fccType=ICTYPE_VIDEO;
m_CV.hic=ICOpen(ICTYPE_VIDEO,m_CV.fccHandler,ICMODE_COMPRESS);
m_CV.lDataRate=780; // kb/s
m_CV.lFrame=0; //未用
m_CV.lKey=15; //
m_CV.lKeyCount=0; //未用
m_CV.lpbiIn=NULL; //未用
m_CV.lpBitsOut=NULL; //未用
m_CV.lpbiOut = (BITMAPINFO*)&m_OutInfo;
m_CV.lpBitsPrev=m_CV.lpState=NULL; //未用
m_CV.lQ=ICQUALITY_DEFAULT; //品质设置 为默认值 if (m_CV.hic!=NULL)
{
m_OutFormatSize = ICCompressGetFormatSize(m_CV.hic,&m_InInfo); //获取输出结构格式的大小
m_pOutInfo=(BITMAPINFO *)new BYTE[m_OutFormatSize]; if(ICCompressGetFormat(m_CV.hic,&m_InInfo,m_pOutInfo)!=ICERR_OK ) // 获取压缩格式
AfxMessageBox(_T("获取输出格式失败!"));
m_OutBufferSize=ICCompressGetSize(m_CV.hic,&m_InInfo,m_pOutInfo);
if(!ICSeqCompressFrameStart(&m_CV,&m_InInfo))
AfxMessageBox(_T("压缩初始化失败!"));
}
else
{ AfxMessageBox(_T("加载DivX失败!"));
}
m_OutFormatSize的大小竟然是4G!如果把mp42换成xvid或divx,hic的值总是0,我知道可能是没有装压缩库所致,可怎么装啊?没接触过视频压缩,请大侠们帮忙解决一下,谢谢了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货