合并WAV音频和WebM视频

时间:2013-11-28 10:10:08

标签: node.js wav webm

有一种方法可以在nodejs服务器中合并音频(wav)和视频(webm)吗?

由于WebM是一种容器格式,我希望可以将音轨添加到现有的WebM文件中。 我没错?

任何人都知道这样做的NodeJS包吗?

2 个答案:

答案 0 :(得分:8)

找到了一个解决方案,但并不是很简单。 为此,需要 ffmpeg (或类似)。

要安装它,我完成了以下步骤:

  1. (仅限mac)安装HomeBrew
  2. 运行ffmpeg的安装,其中包含所需的所有依赖项:

    sudo brew install ffmpeg --with-libvpx --with-theora --whit-libogg --with-libvorbis

    现在我们可以使用此shell命令合并音频和视频文件:

    ffmpeg -i video-file.webm -i audio-file.wav -map 0:0 -map 1:0 output-file-name.webm

  3. 这里我们可以合并shell中的文件,但我需要的不是这个。我需要能够从NodeJS服务器执行此操作,现在我们可以运行此代码。

    var util = require('util'),
      child_process = require('child_process');
    
    var exec = child_process.exec;
    
    function puts(error, stdout, stderr) {
      stdout ? util.print('stdout: ' + stdout) : null;
      stderr ? util.print('stderr: ' + stderr) : null;
      error ? console.log('exec error: ' + error) : null;
    }
    
    exec("ffmpeg -i video-file.webm -i audio-file.wav -map 0:0 -map 1:0 output-file-name.webm", puts);
    

    这个简单的解决方案对我来说很好。

答案 1 :(得分:2)