ffmpeg ¿cómo obtengo la duración en node.js?

Ok, sé cómo obtener la duración de un video en ffmpeg usando este comando

ffmpeg -i ./output/sample.mp4 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,// 

Ejecuto este comando a través de una función en el nodo, pero esto genera la duración en la consola, ¿cómo lo obtengo en node.js donde lo necesito?

Hay una forma de leer el flujo de salida de la consola, pero preferiría usar fluent-ffmpeg : https://github.com/fluent-ffmpeg/node-fluent-ffmpeg

Es un módulo npm para nodejs.

Desde aquí puede llamar a ffprobe (una herramienta que se incluye con ffmpeg y mejor que ffmpeg para obtener información sobre un video), como esto:

 var ffmpeg = require('fluent-ffmpeg'); ffmpeg.ffprobe('./input.mp4', function(err, metadata) { //console.dir(metadata); // all metadata console.log(metadata.format.duration); });