提取视频截图的话需要用到一个工具叫做ffmpeg,你要在机器上安装ffmpeg才能截取视频的帧图片。 生成图片的命令是 ffmpeg -i a.avi -r 1 -s WxH -f image2 a-%03d.jpeg -vframes 1 封装成node可用的话,只要用child_process就好了。 function videoToJpeg(input){ 'use strict'; const exec = require('child_process').exec; const output = input+'.jpeg'; const command = `ffmpeg -i ${input} -r 1 -s WxH -f image2 ${output} -vframes 1`; return new Promise((resolve,reject)=>{ exec(command, (error, stdout, stderr) => { if(error) return reject(error); if(stderr) return reject(stderr); resolve(output); }); }) } //使用 videoToJpeg(__dirname+"./xxx.mp4") .then(output=>{}) .catch(err=>console.error(err)); ffmpeg的参数特别多,你应该参照一下 https://ffmpeg.org/ffmpeg.html 才能明白各个参数的意义。
提取视频截图的话需要用到一个工具叫做
ffmpeg
,你要在机器上安装ffmpeg才能截取视频的帧图片。生成图片的命令是
ffmpeg -i a.avi -r 1 -s WxH -f image2 a-%03d.jpeg -vframes 1
封装成node可用的话,只要用child_process就好了。
ffmpeg的参数特别多,你应该参照一下 https://ffmpeg.org/ffmpeg.html 才能明白各个参数的意义。