FFmpeg:实时缓冲区[] [输入]太满或接近太满(101%的大小:3041280 [rtbufsize参数])丢帧

时间:2017-01-05 13:04:37

标签: c++ ffmpeg directshow

我使用ffmpeg库来解码来自[TTQ HD Camera]的流并将其编码为rtmp流。 但我收到很多警告,如下图所示。 我尝试设置qmin和qmax,看起来好一点。但仍然没有完全解决问题。

encoder_context->qmin = 10;
encoder_context->qmax = 51;

谁知道这是为什么?

[dshow @ 04bfc640] real-time buffer [TTQ HD Camera] [video input] too full or near too full (101% of size: 3041280 [rtbufsize parameter])! frame dropped!

enter image description here

1 个答案:

答案 0 :(得分:0)

您是否尝试将-rtbufsize参数增加到大于3041280的值?如果您有RAM,请尝试使用2000M之类的方法。应该在相机的-i之前定义它。

类似这样:

ffmpeg -f dshow -video_size 1920x1080 -rtbufsize 2147.48M -framerate 30 -pixel_format bgr0 -i video=...

请注意,分辨率和帧频仅是示例,您必须填写在ffmpeg命令中使用的值。