2013-10-03 10 views
5

webRTCを使用してビデオ通話でチャットアプリケーションを作成しています。私はリモートとローカルの2つのMediaStreamを持っていて、1つのファイルとしてそれらをマージして保存したい。ですから、ファイルを開くときには、大きなビデオフレーム(リモートストリーム)と右上に小さなビデオフレーム(ローカルストリーム)が表示されます。これでRecordRTCを使ってこれらの2つのストリームを別々に記録できます。どうすればnodejsとマージできますか? (私はどのように行うのか分からないので、何のコード)2つのビデオストリームをマージして1つのファイルとして保存する

+1

ないあなたが「nodejsでそれらをマージ」によって何を意味するか確認してください。画面に表示されているフレーム内のフレームに一致するように単一のビデオを録画することを意味しますか?私がCanvasで何かをハックするかもしれないが、あなたがこれに使うことができることを私が知っていることは何もない。 –

+0

@SamDutton私はそれを正確に意味します。私はキャンバスを使うことを考えましたが、確信が持てませんでした。提案ありがとう – karaxuna

答えて

3

あなたは-filter_complexでのFFmpegを使用することができ、ここでの作業ではありませんし、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 

だから、これはコマンドが

...それは-filter_complexフラグにいくつかの情報を送信する、2つの入力ファイル、main_video.mp4in_picture.mp4からの読み取りにはFFmpegを伝え-filter_complexフラグが[0:v:0](最初に入力、最初のビデオトラックを)取り、であることをこのビデオを拡大します640x480pxで、ビデオはと識別されます次に、[1:v:0](2番目の入力、ビデオトラック0)を取り込み、ビデオをという名前の240x180pxにリサイズした後、両方のビデオをマージして、x = 390 y = 10の2番目のビデオのオーバーレイを作成します。

そして、それはそれはあなたが何をしたいということですoutput.mp4

に出力を保存しますか?

UPDATE:私はあなたがノードに必要なのはFFmpegのを実行するためのモジュールであり、追加するのを忘れ、それらの多くがあります。 https://nodejsmodules.org/tags/ffmpeg

関連する問題