You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Zencoder/S3生成视频缩略图时的时间节点异常问题

解决指定时间点生成视频缩略图却得到开头帧的问题

嘿,我碰到过类似的坑!从你贴的代码来看,应该是用视频转码类API(比如Google Cloud Transcoder)生成缩略图对吧?指定了times: [20]却还是拿到开头的帧,核心问题大概率是没明确指定缩略图的生成模式。

很多这类API默认会用「时间间隔生成」的模式,这时候你设置的times参数会直接被忽略,自然就生成视频开头的缩略图了。你只需要在thumbnails的配置里加一行'type' => "TIME",告诉API你要基于指定的时间点生成缩略图。

修改后的代码如下:

$body = [ 
    'input' => $inputUrl, 
    'outputs' => [ 
        [ 
            'thumbnails' => [ 
                [ 
                    "label" => "first", 
                    'base_url' => $outputUrl, 
                    'number' => 1, 
                    'type' => "TIME", // 关键:指定按时间点生成缩略图
                    'times' => [20], 
                ], 
            ], 
            'notifications' => [ 
                'url' => "{$notificationUrl}", 
                'format' => 'json', 
            ], 
        ], 
    ], 
];

如果加了type还是不行,可以再排查这几个点:

  • 确认你的视频时长确实超过20秒,如果视频本身不足20秒,部分API会自动取最后一帧,但不会是开头帧,这个可能性比较小;
  • 检查inputUrl是否指向了正确的视频文件,会不会误传了其他短视频或者测试文件;
  • 少数API的times参数单位是毫秒,如果上面的方法没用,可以试试把[20]改成[20000]试试。

内容的提问来源于stack exchange,提问作者Ilgner de Oliveira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:33:11