【问题标题】:fluent ffmpeg progress.percent return undefined流利的ffmpeg progress.percent返回未定义
【发布时间】:2021-04-04 01:32:02
【问题描述】:
let ffmpeg = require("fluent-ffmpeg")
ffmpeg.setFfmpegPath(pathToFfmpeg)     

    var command = ffmpeg(file)

    command.on('end', function() {
        return console.log("done");
    });

    command.on('error', function(err) {
        return console.log(err);
    });

    command.on('progress', function(progress) {
        console.log('Processing: ' + progress.percent + '% done');
      });

    command.save(output+filename+sel);

以某种方式返回

正在处理:未定义完成百分比

正在处理:未定义完成百分比

正在处理:未定义完成百分比

为什么?我遵循了 fluent-ffmpeg 文档

【问题讨论】:

    标签: javascript ffmpeg fluent-ffmpeg


    【解决方案1】:

    (谷歌翻译)

    似乎在某些情况下ffmpeg无法带上百分比属性。

    我也遇到了这个问题,但没有找到任何帮助。解决方案是根据当前时间的总时间进行估算。

    等式如下

    (current time / total time) * 100
    

    还有这样的代码:

    let totalTime
    
    ffmpeg('your_input_file_path')
       .on('start', commandLine => {
          // somenthing message for init process
        })
       .on('codecData', data => {
          // HERE YOU GET THE TOTAL TIME
          totalTime = parseInt(data.duration.replace(/:/g, '')) 
       })
       .on('progress', progress => {
          // HERE IS THE CURRENT TIME
          const time = parseInt(progress.timemark.replace(/:/g, ''))
    
          // AND HERE IS THE CALCULATION
          const percent = (time / totalTime) * 100
              
          console.log(percent)
        })
        .on('error', err => {
           console.log(err)
        })
        .output('your_output_file_path')
        .run()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-14
      • 1970-01-01
      • 2015-05-10
      • 2019-11-17
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 2013-08-30
      相关资源
      最近更新 更多