RTMP dimensions not set问题解决方案

阅读 40

2023-10-17

问题

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帧,先扔掉,就不会打印该错误

精彩评论(0)

0 0 举报