avcodec_open打开H264编码器错误

analysts123 2011-12-21 04:46:09
avcodec_open打开H264编码器错误,代码如下:
if (pSelf->oVcc->codec_id == CODEC_ID_H264)
{
pSelf->oVc=avcodec_find_encoder(CODEC_ID_H264);
pSelf->oVcc->me_range = pSelf->vCodecCtx->me_range;
pSelf->oVcc->max_qdiff = pSelf->vCodecCtx->max_qdiff;
pSelf->oVcc->qmin = pSelf->vCodecCtx->qmin;
pSelf->oVcc->qmax = pSelf->vCodecCtx->qmax;
pSelf->oVcc->qcompress =pSelf->vCodecCtx->qcompress;
pSelf->oVcc->keyint_min=pSelf->vCodecCtx->keyint_min;

}
请问这几个参数该如何设置?谢谢!
...全文
441 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
votzapomni 2012-01-12
  • 打赏
  • 举报
回复
X.264编译了没?ffmpeg没有自带H.264的编码器的
rightorwrong 2012-01-07
  • 打赏
  • 举报
回复
看ffmpeg初始化了没有
这样avcodec_find_decoder(CODEC_ID_H264);
fancycow 2011-12-22
  • 打赏
  • 举报
回复
avcodec_get_context_defaults(pCodecContext);//先全部设置为默认值
//下面这些设置了,其他的默认,就可以了,至于如何通过参数调节提高质量,就不清楚了
pCodecContext->codec_id = CODEC_ID_H264;
pCodecContext->codec_type = CODEC_TYPE_VIDEO;
pCodecContext->cqp = 26;
pCodecContext->width = m_nWidth; //图像宽度
pCodecContext->height = m_nHeight; //图像高度
pCodecContext->time_base.den = 25;
pCodecContext->time_base.num = 1;
pCodecContext->crf = 26;
pCodecContext->lmin = 1;
pCodecContext->lmax = 1000;
pCodecContext->rc_lookahead = 11;
pCodecContext->partitions = X264_PART_I4X4 | X264_PART_I8X8 | X264_PART_P8X8 | X264_PART_P4X4 | X264_PART_B8X8;
pCodecContext->flags2 |= CODEC_FLAG2_8X8DCT;
pCodecContext->me_method = 8;
pCodecContext->me_range = 16;
pCodecContext->me_subpel_quality = 7;
pCodecContext->qmin = 10;
pCodecContext->qmax = 51;
pCodecContext->pix_fmt = PIX_FMT_YUV420P;

2,543

社区成员

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

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