node.js - 如何通过 node-fluent-ffmpeg 获取视频时长?

标签 node.js ffmpeg duration

我还没有找到获取视频时长的 API,有人知道吗?

最佳答案

通过 fluent ffmpeg 使用 ffprobe 非常适合:

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

ffmpeg.ffprobe(videoFile, (error, metadata) => {
  const duration = metadata.format.duration;
  console.log(duration);
});

只要确保你已经安装了 ffprobe,包括在你的 ffmpeg 构建中。

流利的 ffmpeg 文档还概述了使用 ffprobe 作为编码功能的一部分的方法,但是如果您这样做,则需要确保您没有将源流输入,因为它将被 ffprobe 进程消耗,因此对于流式传输,我建议只需将几行代码专用于 ffprobe 以获得持续时间,如上所述。

关于node.js - 如何通过 node-fluent-ffmpeg 获取视频时长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46626099/

相关文章:

node.js - 保存前获取文件名

javascript - Express.js : escape symbols (POST request)

php - 如何将音频文件(即时)转换为浏览器?

video - 如何使用 FFMPEG 分割视频以便每个 block 都以关键帧开始?

javascript - 音频对象持续时间不断变化?

node.js - 在 Express js/中从域重定向到子域时如何保持 session 事件

node.js - NodeJs 客户端登录 Hyperledger Fabric 时使用哪种协议(protocol),OAuth2 还是 OpenId?

python - celery 撤销离开僵尸ffmpeg进程

java - 未找到请求的操作的编解码器 : [duration <-> java. time.Duration]

datetime - Java 8 - ChronoUnit.MONTHS.between(fromDate,toDate) 未按预期工作