node.js video ffmpeg thumbnails

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



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 })