广寒月蛮兔 2021-09-23 16:04 采纳率: 0%
浏览 44

ffmpeg avcodec_receive_frame()方法解码输出结果都是EAGAIN



```c++
 while (av_read_frame(fmt_ctx, pkt) >= 0) {
        if (pkt->stream_index == video_stream_idx) {
            ret = avcodec_send_packet(c, pkt);
            if (ret < 0) {
                fprintf(stderr, "Error sending a packet for decoding\n");
                exit(1);
            }
            while (ret >= 0) {
                ret = avcodec_receive_frame(c, frame);
                printf("ret = %d\n", ret);  //输出结果都是-1
                if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) {
                    continue;
                }
                else if (ret < 0) {
                    fprintf(stderr, "Error during decoding\n");
                    exit(1);
                }
                printf("saving frame %3d\n", c->frame_number);
            }
        }


    }

```

  • 写回答

1条回答 默认 最新

  • Admini$trat0r 新星创作者: 后端开发技术领域 2021-09-23 16:05
    关注

    大哥你的lib包啥的在哪下的
    我咋下的全是exe啊

    评论

报告相同问题?

问题事件

  • 创建了问题 9月23日