【问题标题】:Can someone explain the reorder_queue_size option of rtsp input in ffmpeg?有人可以解释ffmpeg中rtsp输入的reorder_queue_size选项吗?
【发布时间】:2019-01-16 16:06:45
【问题描述】:

除了文档中的一句话外,我找不到任何有关它的信息 - 设置要缓冲的数据包数量以处理重新排序的数据包。
它可以帮助不稳定的网络或流吗?什么是默认值,应该设置什么值以及何时设置?

【问题讨论】:

    标签: ffmpeg rtsp


    【解决方案1】:

    数据包可能被乱序接收,因此在它们可以继续传递之前,它们需要重新排序。默认抖动缓冲区大小为 500。此选项允许您手动指定它。更高的值将导致更大的延迟。仅适用于通过 UDP 接收。

    【讨论】:

    • 如果顺序错误的数据包数量超过此队列大小会怎样?
    • @albert200000 数据包会被视为丢失,因此其中包含的切片也会丢失,并且必须在解码时隐藏。
    • 哪里记录了jitter buffer size 是“500”?我正在查看文档 (ffmpeg.org/ffmpeg-protocols.html),它似乎没有提到默认值。 (感谢您的回答,这似乎是有道理的。)
    • 刚刚为您确认。当我设置-loglevel verbose 时,我在连接到RTSP 流时看到一条消息,上面写着setting jitter buffer size to 500。然后在设置-reorder_queue_size 10000 时,此日志消息变为setting jitter buffer size to 10000。所以你去吧。
    • 我想在这里补充一点,-reorder_queue_size-max_delay 相互作用很大,所以你也想看看。随着您的-reorder_queue_size 增加,您的-max_delay 也必须增加,以便有更长的时间来接收数据包然后重新排序它们。否则,你会得到max delayed reached
    猜你喜欢
    • 2010-10-29
    • 1970-01-01
    • 2018-07-28
    • 2020-05-29
    • 2012-05-29
    • 2010-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多