之前输入源是一个摄像机rtsp流,所以不存在这个问题。
这次输入源换成一个文件循环推流的rtmp,在解码一段时间后出现解码失败的问题,而且不会恢复正常,一直错误下去
avcodec_send_packet error AVERROR_EOF, Resource temporarily unavailable
最终解决方法是在 avcodec_receive_frame 做一个while循环,把里面的多余的帧取出来。估计是因为这个文件从尾循环到头,然后帧出现未知的问题所以需要这样处理吧。
见过很多例子有这样用while的,也有的没有,为了省事,我也没加while,一直没遇到问题,现在终究遇到了,还要之前有这样的知识积累
给各位做个参考