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

使用FFmpeg生成Webp缩略图报错:需手动选择编码器

解决FFmpeg导出WebP缩略图时的编码器选择错误

当尝试从视频导出WebP格式缩略图时,出现以下错误:

Default encoder for format webp (codec webp) is probably disabled. Please choose an encoder manually.

使用的代码(基于fluent-ffmpeg)

ffmpeg()
    .input(videoInput)
    .screenshot({
      count: 5,
      folder: outDir,
      filename: "thumbnail-%i.webp"
    })
    .on('end', () => {
      console.log('Thumbnail exporting finished!');
      return res()
    })
    .on('start', (stdout) => {
      console.log(stdout);
    })
    .on('error', (err) => {
      console.log('Error in generating thumbnails:', err.message);
      return rej(err)
    })

执行的FFmpeg命令及报错信息

ffmpeg -ss 0.8722221666666666 -i /var/folders/tk/4cc2j1r97tn36yc4zytl6xdr0000gn/T/temp-dir-55738-M4xzH9y06CGs/3dbedb5a-8a70-4199-a225-e0c973bd7f56/3dbedb5a-8a70-4199-a225-e0c973bd7f56-baity-intro.mp4 -y -filter_complex split=5[screen0][screen1][screen2][screen3][screen4] -vframes 1 -map [screen0] /var/folders/tk/4cc2j1r97tn36yc4zytl6xdr0000gn/T/temp-dir-55738-M4xzH9y06CGs/3dbedb5a-8a70-4199-a225-e0c973bd7f56/thumbnail-1.webp -vframes 1 -map [screen1] -ss 0.8722221666666666 /var/folders/tk/4cc2j1r97tn36yc4zytl6xdr0000gn/T/temp-dir-55738-M4xzH9y06CGs/3dbedb5a-8a70-4199-a225-e0c973bd7f56/thumbnail-2.webp -vframes 1 -map [screen2] -ss 1.7444443333333335 /var/folders/tk/4cc2j1r97tn36yc4zytl6xdr0000gn/T/temp-dir-55738-M4xzH9y06CGs/3dbedb5a-8a70-4199-a225-e0c973bd7f56/thumbnail-3.webp -vframes 1 -map [screen3] -ss 2.6166665 /var/folders/tk/4cc2j1r97tn36yc4zytl6xdr0000gn/T/temp-dir-55738-M4xzH9y06CGs/3dbedb5a-8a70-4199-a225-e0c973bd7f56/thumbnail-4.webp -vframes 1 -map [screen4] -ss 3.4888886666666674 /var/folders/tk/4cc2j1r97tn36yc4zytl6xdr0000gn/T/temp-dir-55738-M4xzH9y06CGs/3dbedb5a-8a70-4199-a225-e0c973bd7f56/thumbnail-5.webp
Error in generating thumbnails: ffmpeg exited with code 1: Automatic encoder selection failed for output stream #0:0. Default encoder for format webp (codec webp) is probably disabled. Please choose an encoder manually.
Error selecting an encoder for stream 0:0

Error: ffmpeg exited with code 1: Automatic encoder selection failed for output stream #0:0. Default encoder for format webp (codec webp) is probably disabled. Please choose an encoder manually.
Error selecting an encoder for stream 0:0

解决方案

1. 手动指定WebP编码器

修改代码,在screenshot配置中添加codec: 'libwebp',强制FFmpeg使用WebP编码器:

ffmpeg()
    .input(videoInput)
    .screenshot({
      count: 5,
      folder: outDir,
      filename: "thumbnail-%i.webp",
      codec: 'libwebp' // 新增指定编码器
    })
    .on('end', () => {
      console.log('Thumbnail exporting finished!');
      return res()
    })
    .on('start', (stdout) => {
      console.log(stdout);
    })
    .on('error', (err) => {
      console.log('Error in generating thumbnails:', err.message);
      return rej(err)
    })

2. 验证FFmpeg是否支持libwebp

如果修改后仍报错,先检查FFmpeg是否编译了WebP支持:
执行以下命令:

ffmpeg -encoders | grep webp

若输出包含libwebp,说明支持;若无输出,需重新编译FFmpeg并添加--enable-libwebp参数,或通过包管理器安装带WebP支持的预编译版本。

内容的提问来源于stack exchange,提问作者Mohammed Baqer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:18:09