2013-10-03 4 views
5

Ich schreibe Chat-Anwendung mit Videoanruf mit WebRTC. Ich habe zwei MediaStream s, remote und lokal und möchte sie zusammenführen und als eine Datei speichern. Wenn ich eine Datei öffne, sehe ich einen großen Videoframe (Remote Stream) und einen kleinen Videoframe oben rechts (lokaler Stream). Jetzt kann ich diese beiden Streams getrennt mit RecordRTC aufnehmen. Wie kann ich sie mit Nodejs zusammenführen? (Kein Code, weil ich nicht weiß, wie es gemacht wird)Zwei Videostreams zusammenführen und als eine Datei speichern

+1

Nicht sicher, was Sie unter ‚kombiniere sie mit NodeJS‘. Meinst du, du würdest gerne ein einzelnes Video aufnehmen, um es mit dem Bild zu vergleichen, das du auf dem Bildschirm siehst? Mir ist nichts bewusst, dass Sie dafür verwenden könnten - obwohl ich denke, Sie könnten etwas mit Canvas hacken. –

+0

@SamDutton Ich meine genau das. Ich dachte über Leinwand nach, war mir aber nicht sicher. Danke für den Vorschlag – karaxuna

Antwort

3

Sie können FFmpeg verwenden mit -filter_complex, hier ist ein Arbeits- und getestet Beispiel unter Verwendung von FFmpeg-Version 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 

dies also, Befehl teilt FFmpeg von zwei Eingabedateien zu lesen, main_video.mp4 und in_picture.mp4, dann es einige Informationen zu der Flagge -filter_complex senden ...

die -filter_complex Flagge nimmt die [0:v:0] (ersten Eingang, erste Videospur) und das Video skaliert werden 640x480px und identifiziert das Video als [main_video], nimmt dann die [1:v:0] (zweiter Eingang, Videospur 0) und Größe des Videos auf 240x180px Naming das Video [in_picture], dann verbindet es beide Videos eine Überlagerung der zweiten bei x = 390 y = 10.

Dann speichert sie die Ausgabe auf output.mp4

Es ist das, was Sie wollen?

UPDATE: Ich hinzuzufügen vergessen, alles, was Sie in Knoten benötigen ein Modul ist FFmpeg zu laufen, gibt es viele von denen: https://nodejsmodules.org/tags/ffmpeg