【问题标题】:FFMPEG - bufsize formulaFFMPEG - bufsize 公式
【发布时间】:2021-08-31 09:01:04
【问题描述】:

有谁知道 bufsize 的公式是什么以及它在 FFMPEG 中检查的速率?

我似乎找不到任何具体的答案。

是不是: bufsize = 比特率/速率 ?

在计算中是否应该使用 maxrate 而不是比特率?

计算检查完成率的示例:

bitrate: 700Kbps
maxrate: 700Kbps
bufsize: 70Kb

700Kbps/70Kb = 10 sec

对吗? 对我来说这听起来不对,因为较小的 bufsize 应该以更高的速率运行检查,而 10 秒的间隔似乎太长了。

公式需要倒置吗?

有人知道公式和单位的正确语法吗?

【问题讨论】:

  • 有没有人对此有任何想法或者这是一个隐藏的秘密?我理解它背后的概念,只需要关于它的公式和工作的具体事实等
  • 有人可以帮忙吗?
  • 我的想法倒过来了。有没有专家可以免费澄清一下?

标签: video ffmpeg video-streaming encoder bitrate


【解决方案1】:

ffmpeg bufsize 只是 ffmpeg 根据被转码的内容重新计算当前比特率之前处理的数据量(比特数)。

您可能认为 bufsize 类似于关键帧。不同之处在于,在处理 X 位数据后,bufsize 会触发对 ffmpeg 当前算法使用情况的重新评估。而与关键帧评估相关的命令(例如-g 参数)根据自上次进行关键帧评估以来已处理的帧数进行操作。

例如,假设您将 ffmpeg 设置为恒定比特率 (CBR) 模式,并将 -bufsize 设置为您的比特率的 2 倍。公式会很简单。每 2 帧,ffmpeg 就会调整一次。另一方面,如果您使用 VBR 并将 -bufsize 设置为目标比特率的 2 倍,则 ffmpeg 调整其编码公式(和实际比特率)的确切频率将取决于任何给定时刻的比特率(因为它是可变的)。因此,在整个编码过程中,频率(以处理的帧和/或位数而言)会有所不同。

仅严格考虑比特率受限的编码模式(即非 CQ/CRF),-bufsize 目标的一个很好的大致概念是使用 1x - 2x 您的 -maxsize 比特率(或目标比特率,取决于编解码器和编码模式)。

编辑:进一步澄清......-bufsize-maxsize 结合使用以确定何时应重新计算最大位数(bufsize 将决定何时发生)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-01
    • 2021-08-03
    • 2021-11-19
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    相关资源
    最近更新 更多