【问题标题】:merge multiple video files and stream by fluent-ffmpeg in nodejs在nodejs中通过fluent-ffmpeg合并多个视频文件和流
【发布时间】:2021-09-30 23:29:15
【问题描述】:

我正在尝试使用 fluent-ffmpeg 将多个视频文件合并到流输出中。但它只流式传输第一个视频。

res.set('content-type', 'video/webm');    
var proc = ffmpeg()
        .mergeAdd('file-1.webm') // tried with input()
        .mergeAdd('file-2.webm')
        .mergeAdd('file-3.webm')
        .format('webm')
        .size('680x?')
        .on('end', function() {
          console.log('file has been converted succesfully');
        })
        .on('error', function(err) {
          console.log('an error happened: ' + err.message);
        })
        // save to stream
        .pipe(res, {end:true})

有什么想法吗?

【问题讨论】:

    标签: node.js ffmpeg


    【解决方案1】:

    是的,尽管我在没有 fluent-ffmpeg 的情况下完成了这项工作。相反,生成 ffmpeg 并使用输入文件以正确的顺序列出要合并的文件。

    import { spawn } from 'child_process';
    

    输入文件应如下所示:

    file 'path/to/webm1.webm'
    file 'path/to/webm2.webm'
    file 'path/to/webm3.webm'
    

    然后调用ffmpeg

    await spawn('ffmpeg', [
    '-y',
    '-safe', '0',
    '-f', 'concat',
    '-i', 'path/to/ffmpeg-input.txt'),
    '-c', 'copy',
    'path/to/finalvideo.webm')
    ]);
    

    【讨论】:

      猜你喜欢
      • 2015-05-06
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      • 2018-03-25
      相关资源
      最近更新 更多