gpt4 book ai didi

c++ - 不推荐使用 AVStream.codec.time_base 作为多路复用器的时基提示。改为设置 AVStream.time_base

转载 作者:行者123 更新时间:2023-11-28 04:47:18 35 4
gpt4 key购买 nike

我正在使用 MMPEGC API 并收到此消息。所以我将 time_base 添加到我的流中

videoStream = avformat_new_stream(formatContext, codec);
videoStream->time_base = AVRational{1, fps};

并在上下文中去掉它

codecContext->bit_rate = 400000;
codecContext->width = width;
codecContext->height = height;
codecContext->gop_size = 10;
codecContext->max_b_frames = 1;
//codecContext->time_base = AVRational{1, fps};
codecContext->pix_fmt = AV_PIX_FMT_YUV420P;

avcodec_open2(codecContext, codec, NULL) 立即中断

为什么?我需要将值应用于它们吗?我已经为两者复制了值,并且消息消失了。但这不就是错误吗?

最佳答案

设置 codecContext->time_base 值是强制性的,不应跳过。取消注释它,你应该没问题。另见 code example ffmpeg 提供的。

至于为什么需要这两个值:AVStreamAVCodecContext 是两种不同的结构,可以一起使用也可以不一起使用,具体取决于您的代码需要做什么。他们都需要一个 time_base 所以他们都有。您可以将其称为 ffmpeg 代码库中的众多特性之一。

关于c++ - 不推荐使用 AVStream.codec.time_base 作为多路复用器的时基提示。改为设置 AVStream.time_base,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49024804/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com