cómo generar una miniatura de video en node.js?
ffmpeg thumbnails (5)
Cambie el tamaño agregando una opción -s widthxheight a su comando.
estoy construyendo una aplicación con node.js, cargué con éxito el video pero necesito generar una miniatura de video para él, actualmente utilizo el nodo exec para ejecutar un comando del sistema de ffmpeg para hacer la miniatura
exec("C:/ffmpeg/bin/ffmpeg -i Video/" + Name + " -ss 00:01:00.00 -r 1 -an -vframes 1 -f mjpeg Video/" + Name + ".jpg")
este código proviene de un tutorial de http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-resumable-video-uploade-in-node-js/
el código anterior generó un archivo jpg pero no es una miniatura sino una captura de pantalla de video, me pregunto si hay algún otro método para generar una miniatura de video, o cómo ejecutar el comando ffmpeg para hacer un thumbanil real (redimensionado), y prefiero archivo png, por favor ayuda!
Hay un módulo de nodo para esto: video-thumb
Básicamente, simplemente envuelve una llamada al ejecutivo ffmpeg
Recomiendo usar https://www.npmjs.com/package/fluent-ffmpeg para llamar a ffmpeg desde Node.js
Referencia al proyecto GitHub fluent-ffmpeg .
Ejemplo repetido de la respuesta original de :
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'')
});
En su lugar, recomendaría usar el suministro del pulgar . Además de proporcionarle miniaturas, las almacena en caché para mejorar el rendimiento de manera significativa.
npm install --save thumbsuppply
Después de instalar el módulo, puede usarlo de la siguiente manera.
const thumbsupply = require(''thumbsupply'')("com.example.application");
thumbsupply.generateThumbnail(''some-video.mp4'')
.then(thumb => {
// serve thumbnail
})