【问题标题】:FFmpeg: real-time buffer[ ] [input] too full or near too full (101% of size: 3041280 [rtbufsize parameter]) frame droppedFFmpeg:实时缓冲区 [] [输入] 太满或接近太满(大小的 101%:3041280 [rtbufsize 参数])丢帧
【发布时间】:2017-01-05 13:04:36
【问题描述】:

我使用 ffmpeg 库从 [TTQ 高清摄像机] 解码流并将其编码为 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!

【问题讨论】:

  • 您是否尝试更改max_picture_buffer
  • 谢谢@wimh。我已将 max_picture_buffer 设置为一个大数字 800000000。看起来没问题。但过了一会儿,上面的警告又出现了。在 av_interleaved_write_frame 之后我需要在其他地方释放一些内存吗?
  • 抱歉,我无法回答。但也许其他人知道......

标签: c++ ffmpeg directshow


【解决方案1】:

您是否尝试将 -rtbufsize 参数增加到大于 3041280 的值?如果你有它的 RAM,试试 2000M 之类的东西。应该在摄像头的-i之前定义。

比如:

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

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

【讨论】:

    猜你喜欢
    • 2018-06-27
    • 2013-11-07
    • 2013-01-13
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    相关资源
    最近更新 更多