【发布时间】:2022-03-01 13:49:34
【问题描述】:
我正在做一个从 Reddit 下载视频的辅助项目,但它们将视频和音频分隔在不同的文件中。所以我必须先合并它们,然后再将它们下载到客户端。我能够在下面的 sn-p 代码中完成所有这些操作。
const ffmpeg = require("fluent-ffmpeg");
const proc = new ffmpeg();
app.post('/download', async (req, res) => {
const audio = "some aduio link";
const video = "some video link";
proc.addInput(video)
.output('${some path}./video.mp4')
.format('mp4')
.on("error", err => console.log(err))
.on('end', () => console.log('Done'));
if(audio) {
proc.addInput(audio);
}
proc.run()
});
使用上面的代码,视频正在本地下载到指定路径的服务器中。
但我想在发送请求的客户端浏览器中下载视频。我试过了:
proc.pipe(res);
但它不起作用,这是我第一次使用 ffmpeg ,所以如果有人给我提示会很好
【问题讨论】:
-
medium.com/developers-arena/… 展示了如何将数据从本地 fs(服务器)写入 http.response 结合你所拥有的,其中 ffmpeg 将 2 个输入混合到本地 fileSink。第 1 步和第 2 步将得到你需要的东西
标签: javascript node.js express ffmpeg video-streaming