如何在node.js中生成视频缩略图?

pay*_*ike 9 video ffmpeg thumbnails node.js

我正在使用node.js构建一个应用程序,我成功上传了视频,但我需要为它生成一个视频缩略图,目前我使用node exec来执行ffmpeg的系统命令来制作缩略图

   exec("C:/ffmpeg/bin/ffmpeg -i Video/" + Name  + " -ss 00:01:00.00 -r 1 -an -vframes 1 -f mjpeg Video/" + Name  + ".jpg")
Run Code Online (Sandbox Code Playgroud)

此代码来自http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-resumable-video-uploade-in-node-js/上的教程

上面的代码确实生成了一个jpg文件,但它不是缩略图而是视频屏幕截图,我想知道是否有其他方法来生成视频缩略图,或者如何执行ffmpeg命令来制作真正的thumbanil(调整大小),我更喜欢png文件,请帮忙!!!

Ris*_*nha 12

参考GitHub fluent-ffmpeg项目.

原始StackOverflow回答示例:

var proc = new ffmpeg('/path/to/your_movie.avi')
  .takeScreenshots({
      count: 1,
      timemarks: [ '600' ] // number of seconds
    }, '/path/to/thumbnail/folder', function(err) {
    console.log('screenshots were saved')
  });
Run Code Online (Sandbox Code Playgroud)

  • 这里的“count:1”是什么? (2认同)
  • 引用文档:“count:指定生成多少个缩略图。使用此选项时,会在视频中定期生成缩略图(例如,请求 3 个缩略图时,分别在视频长度的 25%、50% 和 75% 处生成) )。当指定时间标记或时间戳时,计数将被忽略。” (2认同)
  • /path/to/your_movie.avi 可以是一个 URL 吗? (2认同)

av5*_*501 2

通过在命令中添加 -s widthxheight 选项来调整大小。