ffmpeg如何获取持续时间到node.js?

Ric*_*cky 1 ffmpeg node.js

好的,我知道如何使用以下命令在ffmpeg中获取视频的时长

ffmpeg -i ./output/sample.mp4 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,//
Run Code Online (Sandbox Code Playgroud)

我通过node中的一个函数运行此命令,但这将持续时间输出到控制台上,如何在需要的地方将其保存到node.js上?

Bus*_*cat 7

有一种方法可以读取控制台输出流,但是我更喜欢使用fluent-ffmpeghttps : //github.com/fluent-ffmpeg/node-fluent-ffmpeg

这是用于nodejs的npm模块。

从这里可以调用ffprobe(ffmpeg附带的工具,比ffmpeg更好的工具来获取有关视频的信息),如下所示:

var ffmpeg = require('fluent-ffmpeg');

ffmpeg.ffprobe('./input.mp4', function(err, metadata) {
    //console.dir(metadata); // all metadata
    console.log(metadata.format.duration);
});
Run Code Online (Sandbox Code Playgroud)