Javascript 如何获得具体的启动和;节点JS的ffmpeg结束时间?

Javascript 如何获得具体的启动和;节点JS的ffmpeg结束时间?,javascript,node.js,video,ffmpeg,video-streaming,Javascript,Node.js,Video,Ffmpeg,Video Streaming,我想在特定的开始和结束时间剪切视频并保存它。我无法理解如何通过Node JS剪切该视频的特定时间 视频复制代码: return new Promise(function(resolve ,reject){ var ffmpeg = require('fluent-ffmpeg'); ffmpeg(fs.createReadStream(path.join(__dirname,'..','..','/video.mp4'))) .seekI

我想在特定的开始和结束时间剪切视频并保存它。我无法理解如何通过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'));
    });

请检查以下步骤和示例代码

  • 安装在您的系统上
  • 在项目中安装模块
  • 请检查以下示例代码

      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);
                  })
          });
      }
    

  • 希望这对你有帮助

    我正在上控制台NaNI在执行上述代码后出错发生错误:ffmpeg退出,代码为1:home/santosh/video1.avi:处理输入时发现无效数据您需要传递输入视频和输出路径的完整路径,例如用户/santosh/Documents/Workspace/VideoClip/routes/input.mp4Yes。这是路径问题,谢谢。