に複数の動画を結合:私は3つの動画持って1
- ビデオカメラ
- 講義
- に使用されるコンピュータとビデオのデスクトップキャプチャのビデオで撮影された講義をホワイトボードの
私は、これらの3つのコンポーネントが画面の特定の領域を占めている最終的なビデオを作成したいと思います。
これを可能にするオープンソースソフトウェア(mencoder、ffmpeg、virtualdub ..)はありますか?どちらをお勧めしますか?
または、プログラムでこのようなものを作成できるようにするC/C++ APIはありますか?
編集
今後、複数のレコーディングが行われます。つまり、汎用/自動化ソリューションが必要です。
私は現在、この仕事をするためにGStreamerでアプリケーションを書くことができるかどうかチェックしています。それに関するコメント?
解決済み!
GStreamerのvideomixer要素でこれを行うのに成功しました。 gst-launch構文を使ってパイプラインを作成し、gst_parse_launchでロードします。これは、複雑なパイプラインを実装するための非常に生産的な方法です。
2つの入力ビデオストリームとロゴ画像を1つのストリームにブレンドし、そのストリームを複製して同時に表示してディスクに保存するパイプラインです。
desktop. ! queue
! ffmpegcolorspace
! videoscale
! video/x-raw-yuv,width=640,height=480
! videobox right=-320
! ffmpegcolorspace
! vmix.sink_0
webcam. ! queue
! ffmpegcolorspace
! videoscale
! video/x-raw-yuv,width=320,height=240
! vmix.sink_1
logo. ! queue
! jpegdec
! ffmpegcolorspace
! videoscale
! video/x-raw-yuv,width=320,height=240
! vmix.sink_2
vmix. ! t.
t. ! queue
! ffmpegcolorspace
! ffenc_mpeg2video
! filesink location="recording.mpg"
t. ! queue
! ffmpegcolorspace
! dshowvideosink
videotestsrc name="desktop"
videotestsrc name="webcam"
multifilesrc name="logo" location="logo.jpg"
videomixer name=vmix
sink_0::xpos=0 sink_0::ypos=0 sink_0::zorder=0
sink_1::xpos=640 sink_1::ypos=0 sink_1::zorder=1
sink_2::xpos=640 sink_2::ypos=240 sink_2::zorder=2
tee name="t"
やエフェクトが(価格は自由よりわずかに高い付与)した後は、Adobeで約30秒で全体のことを成し遂げることができ – Adam