2013-10-03 31 views
5

WebRTC kullanarak görüntülü sohbet ile sohbet uygulaması yazarım. Uzak ve yerel iki MediaStream s var ve bunları bir dosya olarak birleştirmek ve kaydetmek istiyorum. Yani bir dosya açarken, büyük video karesini (uzak akış) ve sağ üstteki küçük video karesini (yerel akış) göreceğim. Şimdi bu iki akışı RecordRTC kullanarak ayrı ayrı kaydedebilirim. Onları nodejs ile nasıl birleştirebilirim? Burada bir çalışma olduğunuİki video akışını birleştirme ve tek dosya olarak kaydetme

+1

derken ne demek istediğine emin değil 'onları nodejs ile birleştirme': Sana düğümünde gereken tüm FFmpeg çalıştırmak için bir modül olduğu eklemeyi unuttuğu, bu bol vardır. Ekranda gördüğünüz çerçeve içindeki kareyle eşleştirmek için tek bir video kaydetmek istediğiniz anlamına mı geliyor? Bunun için kullanabileceğinin farkında olduğum bir şey yok - sanırım Canvas'la bir şeyleri kesebilirsin. –

+0

@SamDutton Tam olarak demek istiyorum. Tuvali kullanmayı düşündüm ama emin değildim. Öneri için teşekkürler – karaxuna

cevap

3

Sen -filter_complex ile FFmpeg kullanabilirsiniz (kod ben nasıl yapıldığını bilmiyorum çünkü) ve FFmpeg versiyonu N-62162-gec8789a kullanarak örnek test: Yani

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 

, bu komut

-filter_complex bayrak [0:v:0] (ilk girişi, ilk video parça) alır ... o zaman -filter_complex bayrağına bazı bilgileri göndermek, iki giriş dosyaları, main_video.mp4 ve in_picture.mp4 okuma ve olmaya Bu videoyu ölçekli FFmpeg söyler 640x480px ve videoyuolarak tanımlar, daha sonra [1:v:0] (ikinci giriş, video parçası 0) alır ve videoyu [in_picture] adlandırma videosu 240x180 piksele yeniden boyutlandırır, daha sonra her iki videoyu da x = 390 y = 10 değerinde ikincisinin bir bindirmesini birleştirir.

Sonra output.mp4

çıkış İstediğin olmasıdır kaydeder?

GÜNCELLEME: https://nodejsmodules.org/tags/ffmpeg

İlgili konular