计算帧速率

Transcoder API 会为给定输入视频的帧速率和您指定的输出帧速率的输出视频计算帧速率。您可以使用 frameRate 字段指定输出帧速率(以每秒帧数 [FPS] 为单位)。提供的 frameRate 始终必须小于或等于 120 FPS。

如果提供的 frameRate 是非标准值,则会舍入为最接近的值(保留三位小数)。例如,值 23.12345 会舍入为 23.123,从而导致时间基准为 1000/23123。

帧速率转换策略

如果输出帧速率与输入帧速率不匹配,则支持使用 frameRateConversionStrategy 字段采用两种帧速率转换策略。将该字段设置为以下任一项:

  • DROP_DUPLICATE:丢弃或复制帧以匹配指定的输出帧速率。如需设置确切的 FPS 值,请将 frameRateConversionStrategy 设置为此选项。您还必须为作业停用优化(将 optimization 设置为 DISABLED)。

    借助此选项,您可以为任何给定输入 FPS 值设置确切的输出 FPS 值。

  • DOWNSAMPLE:如果未指定策略,则使用默认的帧速率转换策略。保留每 N 个帧。N 是下采样系数,由公式(输入帧速率 / 目标帧速率)决定。

    对于 DOWNSAMPLE 选项,目标视频帧速率:

    • 如果目标帧速率大于输入帧速率,则默认为输入帧速率;Transcoder API 不会创建新的视频帧。
    • 始终大于或等于实际输出帧速率。输入帧速率可被实际输出帧速率整除。

对于 DOWNSAMPLE 选项,下表显示了在输入帧速率(第一列)和目标帧速率(后续列)中计算出的输出视频帧速率。所有帧速率均以 FPS 为单位。

Input (30) (60) (25) (50)
240 失败 失败 失败 失败
120 30 60 20 40
100 25 50 25 50
50 25 50 25 50
60 30 60 20 30
59.94 29.97 59.94 19.98 29.97
48 24 48 24 48
30 30 30 15 30
25 25 25 25 25
24 24 24 24 24
23.976 23.976 23.976 23.976 23.976
15 15 15 15 15
12 12 12 12 12
10 10 10 10 10