微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/nodejs/445739.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐