📜  ffmpeg 缩略图生成器 SIZE - Javascript (1)

📅  最后修改于: 2023-12-03 14:41:10.964000             🧑  作者: Mango

ffmpeg 缩略图生成器 SIZE - Javascript

如果您正在开发一个需要视频处理的项目,您需要知道如何为视频文件生成缩略图。 ffmpeg 是一个非常强大的工具,可以用来处理几乎所有与音视频相关的任务,包括生成缩略图。 在本文中,我将向您展示如何使用 ffmpeg 和 JavaScript 创建缩略图生成器。

依赖

在开始之前,您需要在计算机上安装 ffmpeg。 您可以通过在终端中输入以下命令来检查是否已安装 ffmpeg:

ffmpeg -version

如果 ffmpeg 未安装,您可以通过运行以下命令来安装它:

sudo apt-get install ffmpeg

您还需要在项目中使用 JavaScript。

代码

以下是用于创建缩略图的 JavaScript 代码:

const spawn = require('child_process').spawn;

function generateThumbnail(videoPath, thumbnailPath, size) {
  const proc = spawn('ffmpeg', ['-i', videoPath, '-ss', '00:00:05.000', '-vframes', '1', '-vf', `scale=${size}:-1`, thumbnailPath]);
  proc.on('exit', function() {
    console.log('Thumbnail generated successfully');
  });
}

generateThumbnail('/path/to/video.mp4', '/path/to/thumbnail.jpg', 320);

该函数接受三个参数:第一个是视频文件的路径,第二个是要生成的缩略图的路径,第三个是要生成的缩略图的宽度。 该函数使用 spawn() 方法从终端调用 ffmpeg 命令来创建缩略图。 ffmpeg 命令的参数解释如下:

  • -i:视频文件路径。
  • -ss:用于提取视频的片段,并返回由 -vframes 指定数量的帧的图像。 本例中指定的时间为视频的第 5 秒。
  • -vframes:要从视频中提取的帧数。
  • -vf:用于指定图像处理过程中使用的过滤器。 在本例中指定缩放过滤器,宽度为第三个参数,而高度将自动计算以保持纵横比不变。
  • thumbnailPath:生成的缩略图的路径。
结论

现在,您已经知道如何使用 ffmpeg 和 JavaScript 生成缩略图,您可以在自己的项目中使用此代码。 请记得根据需要更改参数,例如调整要提取的视频片段的时间,更改输出文件格式等。