node.js - Meteor.JS CollectionFS Video a las imágenes en miniatura(Graphics Magick)
graphicsmagick node-gm (1)
Comprueba el enlace que has agregado y aquí hay una solución aproximada que podría ayudarte
ffmpeg -ss 600 -i input.mp4 -vframes 1 -s 420x270 -filter:v ''yadif'' output.png
Aquí hay una función que hice.
var im = require(''imagemagick'');
var args = [
"ffmpeg", "-ss", "600", "-i", "input.mp4", "-vframes", " 1", "-s", "420x270", "-filter:v", "''yadif''", "output.png"
];
// Function to convert and
im.convert(args, function(err)
if (err) throw err;
});
Estoy trabajando en una aplicación Meteor donde estoy usando CollectionFS para cargar archivos.
Puedo subir y generar miniaturas para Imágenes.
Pero mi problema es: ¿cómo debo crear miniaturas para videos?
Puedo ver que es posible a través de la línea de comandos: https://superuser.com/questions/599348/can-imagemagick-make-thumbnails-from-video
Pero, ¿cómo puedo aplicar esto a mi código Meteor?
Esto es lo que estoy haciendo:
VideoFileCollection = new FS.Collection("VideoFileCollection", {
stores: [
new FS.Store.FileSystem("videos", {path: "/uploads/videos"}),
new FS.Store.FileSystem("videosthumbs", {path: "/uploads/videosthumbs",
beforeWrite: function(fileObj) {
// We return an object, which will change the
// filename extension and type for this store only.
return {
extension: ''png'',
type: ''image/png''
};
},
transformWrite: function(fileObj, readStream, writeStream) {
gm(readStream, fileObj.name()).stream(''PNG'').pipe(writeStream);
}
})
]
});
Lo que sucede aquí es que el video se sube a la carpeta "videos" y se crea un archivo PNG en "videosthumbs" con 0 bytes y no se genera una miniatura.
También he leído en: https://github.com/aheckmann/gm#custom-arguments
que podemos usar: gm (). command () - Comando personalizado como identificar o convertir
¿Alguien puede aconsejarme sobre qué se puede hacer para manejar esta situación?
Gracias y saludos