问题
RTMP开始推流,打印错误提示:dimensions not set
源码位置
libavformat\mux.c
case AVMEDIA_TYPE_VIDEO:
if ((par->width <= 0 || par->height <= 0) &&
!(of->flags & AVFMT_NODIMENSIONS)) {
av_log(s, AV_LOG_ERROR, "dimensions not set\n");
ret = AVERROR(EINVAL);
goto fail;
}
错误分析
当前码流的宽高是0,说明当前开始推流的数据没有包含宽高,也就说明不是I帧,直到收到I帧,推流就开始正常了。
解决方案
推流的第一帧数据必须是I帧,不是I帧,先扔掉,就不会打印该错误
标签:set,dimensions,错误,解决方案,RTMP,推流 From: https://blog.51cto.com/fengyuzaitu/7907119