【问题标题】:I need to combine audio and video stream with fluent ffmpeg我需要将音频和视频流与流利的ffmpeg结合起来
【发布时间】:2021-04-19 01:05:07
【问题描述】:

我需要获取一个输入流的音频和另一个流的视频,并将它们与 fluent-ffmpeg 结合起来。我正在使用nodejs。另外,我需要管道输出。两个输入都有视频和音频,但我只需要合并一个流的音频,同时对另一个流上的视频做同样的事情。

谢谢。

【问题讨论】:

    标签: node.js ffmpeg stream pipe fluent-ffmpeg


    【解决方案1】:

    你不需要使用fluent-ffmpeg,如果你的机器上安装了ffmpeg,你可以使用child-process

    const {exec} = require("child_process"); 
    const command = "ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac output.mp4" 
    

    我从how to combine audio and video using ffmpeg得到这个命令

    exec(command, (error, stdout, stderr) => {
      if (error) {
        console.error(`exec error: ${error}`);
        return;
      }
      console.log(`stdout: ${stdout}`);
      console.error(`stderr: ${stderr}`);
    })
    

    ;

    【讨论】:

    • 您好,抱歉回复晚了。我有互联网问题。我首先使用 fluent-ffmpeg 的原因是输入是流。我想通过管道将输出表达为响应。我知道该怎么做,但我不知道 FFmpeg 部分。另外,这两个流都有上面建议的音频和视频,所以它仍然可以工作吗?
    • 你可以看看这个answer
    • 是的,我来这里之前确实看过那个答案,但它只是说 stout 是未定义的。另外,输入呢?我可以做类似-i pipe:4 这样的事情吗?我会再试一次,但现在我正在上课,所以我稍后会回复你
    • 好的,所以我尝试了链接中的代码,我得到dest.on is not a function 这是代码的链接和错误:pastebin.com/zMXDbeF7 错误:pastebin.com/pFiYTC42
    • 终于成功了!该命令帮助很大!我第一次得到no suitable format found for pipe:1,所以我在命令中添加了-f mp4,得到了muxer does not support non-seekable output,所以我做了一些研究,发现我需要添加-movflags frag_keyframe+empty_moov,它起作用了!太感谢了!你有这个五年级学生的尊重!
    猜你喜欢
    • 1970-01-01
    • 2015-04-27
    • 2016-04-11
    • 2021-11-27
    • 2019-09-12
    • 2011-03-04
    • 2017-07-21
    • 1970-01-01
    • 2021-03-10
    相关资源
    最近更新 更多