我想在特定的开始和视频中剪切视频结束时间&保存。我不明白如何通过Node JS缩短该视频的具体时间。
视频复制代码:
return new Promise(function(resolve ,reject){
var ffmpeg = require('fluent-ffmpeg');
ffmpeg(fs.createReadStream(path.join(__dirname,'..','..','/video.mp4')))
.seekInput('01:00')
.duration('02:00')
.outputOptions('-strict experimental')
.on('start', function(commandLine) {
console.log('Spawned Ffmpeg with command: ' + commandLine);
}).on('end', function(err) {
if (!err) {
console.log('conversion Done');
//res.send("conversion Done");
resolve();
}
}).on('error', function(err) {
console.log('error: ', +err);
reject(err);
}).save(path.join(__dirname,'..','..','/test.mp4'));
});
答案 0 :(得分:1)
请检查以下步骤和示例代码,
请查看以下示例代码
function clipVideo() {
var params = {
input: 'input_file',
start: 0,
duration: 10,
output: 'output_file'
};
return new Promise(function(resolve, reject) {
ffmpeg(params.input)
.setStartTime(params.start)
.setDuration(params.duration)
.save(params.output)
.on('start', function(commandLine) {
console.log('start : ' + commandLine);
})
.on('progress', function(progress) {
console.log('In Progress !!' + Date());
})
.on('end', function() {
console.log("downlaod resolved");
return resolve(params.clippedFile);
})
.on('error', function(err) {
console.log("reject");
return reject(err);
})
});
}
希望这会对你有所帮助!!