不建议使用AVStream.codec.time_base作为muxer的时基提示。改为设置AVStream.time_base
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不建议使用AVStream.codec.time_base作为muxer的时基提示。改为设置AVStream.time_base相关的知识,希望对你有一定的参考价值。
我正在使用C
的MMPEG
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
值是强制性的,不应跳过。取消注释,你应该没事。另请参阅ffmpeg提供的code example。
至于为什么需要两个值:AVStream
和AVCodecContext
是两种不同的结构,可能会也可能不会一起使用,具体取决于您的代码需要做什么。他们都需要一个time_base
所以他们都有它们。您可以将其称为ffmpeg代码库中的众多特性之一。
以上是关于不建议使用AVStream.codec.time_base作为muxer的时基提示。改为设置AVStream.time_base的主要内容,如果未能解决你的问题,请参考以下文章
转载--编写高质量代码:改善Java程序的151个建议(第4章:字符串___建议52~55)
编写高质量代码:改善Java程序的151个建议(第4章:字符串___建议52~55)
编写高质量代码:改善Java程序的151个建议(第8章:异常___建议110~113)
转载---编写高质量代码:改善Java程序的151个建议(第2章:基本类型___建议26~30)