【发布时间】:2021-01-07 20:41:52
【问题描述】:
我有一个简单的问题, 我正在尝试做一个云视频编辑器,我希望能够使用 nodejs 剪切视频。
我正在使用fluent-ffmpeg。这是我的代码:
const cutVideo = async (sourcePath, outputPath, startTime, duration) => {
console.log('start cut video');
await new Promise((resolve, reject) => {
ffmpeg(sourcePath)
.setFfmpegPath(pathToFfmpeg)
.setFfprobePath(ffprobe.path)
.output(outputPath)
.setStartTime(startTime)
.setDuration(duration)
.on('end', function (err) {
if (!err) {
console.log('conversion Done');
resolve();
}
})
.on('error', function (err) {
console.log('error: ', err);
reject(err);
})
.run();
});
};
它工作正常,但不是最佳的,一旦我尝试编辑长视频(从视频中获得 10 分钟而不是 1 分钟),它就会超长。
我的理解是 ffmpeg 重新编码所有内容,所以这就是为什么编辑越长,过程就越长的原因。 有没有办法在不重新编码所有内容的情况下使用 node-fluent-ffmpeg 进行删减?
感谢社区!
【问题讨论】:
-
您需要精确到帧吗?如果是这样,那么所要求的就是不可能的。否则,只需添加
-codec copy -
不幸的是我没有使用命令行但是node ffmepg fluent,你会如何使用-codec copy?
-
我这辈子从来没有用过 fluent ffmpeg,但是通过谷歌搜索在 5 秒内找到了答案。我建议你试试看。
标签: node.js ffmpeg fluent-ffmpeg