1 2 3 4 5 6 |
const ffmpeg = require('fluent-ffmpeg'); ffmpeg.ffprobe(videoFile, (error, metadata) => { const duration = metadata.format.duration; console.log(duration); }); |
1 2 3 4 5 6 7 8 9 10 11 |
var ffmpeg = require('fluent-ffmpeg'); ffmpeg('/path/to/file.avi').ffprobe(function(err, data) { console.dir(data.streams); console.dir(data.format); }); ffmpeg.ffprobe('/path/to/file.avi', function(err, data) { console.dir(data.streams); console.dir(data.format); }); |
1 2 3 4 5 6 7 8 |
var source = 'vids/source.mp3'; var ffmpeg = require('fluent-ffmpeg'); var Metalib = require('fluent-ffmpeg').Metadata; var metaObject = new Metalib(source, function(metadata, err) { console.log(metadata); }); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
{ ffmpegversion: '1.2.1', title: 'juicy-r [the notorious b.i.g. vs. the xx]', artist: 'wait what', album: 'the notorious xx', track: '2/11', date: '2010', durationraw: '00:04:07.94', durationsec: 247, synched: true, major_brand: undefined, video: { container: 'mp3', bitrate: 127, codec: 'mjpeg', resolution: { w: 1425, h: 1416 }, resolutionSquare: { w: 1425, h: 1416 }, rotate: 0, fps: 0, stream: 0, aspectString: '475:472', aspect: 1.00635593220339, pixelString: '1:1', pixel: 1 }, audio: { codec: 'mp3', bitrate: 128, sample_rate: 44100, stream: 0, channels: 2 } } |
1 2 3 4 5 |
var probe = require('node-ffprobe'); var track = '<ENTER FILE PATH>'; probe(track, function(err, probeData) { console.log(probeData); }); |