计算帧速率

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