2013-10-03 87 views
5

我正在使用webRTC與視頻通話編寫聊天應用程序。我有兩個MediaStream,遠程和本地,並希望合併並將它們保存爲一個文件。所以當打開文件時,我會看到大視頻幀(遠程流)和右上角的小視頻幀(本地流)。現在我可以使用RecordRTC分別記錄這兩個流。我如何將它們與nodejs合併? (沒有代碼,因爲我不知道它是如何做)合併兩個視頻流並保存爲一個文件

+1

不知道你的意思是「他們合併的NodeJS」。你的意思是你想錄制一個視頻來匹配你在屏幕上看到的幀內幀?我沒有意識到你可以使用這個 - 儘管我猜你可以用Canvas破解一些東西。 –

+0

@SamDutton我的意思就是這個。我想過使用畫布,但並不確定。感謝您的建議 – karaxuna

回答

3

您可以使用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.mp4in_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

相關問題