node.js – 合并两个视频流并保存为一个文件

我正在使用webRTC编写带有视频通话的聊天应用程序.我有两个MediaStream,远程和本地,并希望合并并将它们保存为一个文件.因此,当打开文件时,我将看到大视频帧(远程流)和右上角的小视频帧(本地流).现在我可以使用RecordRTC分别记录这两个流.我怎样才能将它们与nodejs合并? (没有代码,因为我不知道它是如何完成的)

解决方法

您可以将FFmpeg与-filter_complex一起使用,这是一个使用FFmpeg版本N-62162-gec8789a的工作和测试示例:
ffmpeg -i main_video.mp4 -i in_picture.mp4 -filter_complex "[0:v:0]scale=640x480[main_video]; [1:v:0]scale=240x180[in_picture];[main_video][in_picture]overlay=390:10" output.mp4

所以,这个命令告诉FFmpeg读取两个输入文件main_video.mp4和in_picture.mp4,然后它将一些信息发送到-filter_complex标志……

-filter_complex标志采用[0:v:0](第一个输入,第一个视频轨道)并将此视频缩放为640x480px,并将视频标识为[main_video],然后采用[1:v:0](第二个输入,视频轨道0)并将视频大小调整为240x180px,命名视频[in_picture],然后它合并两个视频,在x = 390 y = 10时叠加第二个视频.

然后它将输出保存到output.mp4

这就是你想要的?

更新:我忘了添加,在节点中你需要的只是一个运行FFmpeg的模块,有很多:
https://nodejsmodules.org/tags/ffmpeg

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...