组合多个具有不同开始时间的 pcm 文件

问题描述

如何组合多个pcm文件,不同的开始时间,并用ffpmeg.js压缩成wav。

我知道我可以:

将 pcm 转换为 wav

ffmpeg -f s16le -ac 2 -ar 44.1k -i file.pcm file.wav

合并具有不同开始时间的文件

ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp3
  -filter_complex "[2]adelay=10000|10000[s2];[3:a][1:a][s2]amix=3[a]"
  -map 0:v -map "[a]" -c:v copy result.mp4

但是我如何将所有这些结合到 JS 中,以及使用 FS(节点)获取文件以及从文件获取开始时间?

这是我尝试做所有这些的一小段:

function MakeAudioFile(){
    const audios = fs.readdirsync('./sound/').filter(file => file.endsWith(".pcm"));
    let result = ffmpeg({
        MEMFS: [],arguments: ["-f","s16le","-ac","2","--ar","44.1k"],});
    audios.forEach(file =>{
        result.arguments.push('-i')
        result.arguments.push(file)
        result.MEMFS.push(fs.readFileSync(`./sound/${file}.pcm`))
    })
}

但是没有得到预期的结果,也不知道如何添加开始时间

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)