gst-launchを使用した簡単な(動作する)セットアップは次のとおりです(Ubuntu / Debianにgstreamer-toolsパッケージをインストールします):
gst-launch v4l2src device = / dev / video1!ビデオスケール!ffmpegcolorspace!video / x-raw-yuv、width = 640、height = 480!videobox border-alpha = 0 left = -640!videomixer name = mix!ffmpegcolorspace!xvimagesink v4l2src!ビデオスケール!ffmpegcolorspace!video / x-raw-yuv、width = 640、height = 480!ビデオボックス右=-640!ミックス。
これは基本的に、video 4 linux 2を使用して2つのビデオを読み取ります。1つはデフォルトのデバイスから、もう1つは/ dev/video1からのストリームです。設定が異なる場合は、これを変更することをお勧めします。
最初の部分(太字ではない)は、キャプチャデバイスからビデオを読み取り、サイズと色空間(videoscale!ffmpegcolorspace)をネゴシエートし、特定のビデオ形式(video / x-raw-yuv、width = 640、height = 480)、左側に640の透明なピクセルを追加し(これにより、画像を右側に移動します)、「mix」という名前のビデオミキサーを作成します。最後に、色空間を再度自動ネゴシエートし、XVideoウィンドウを使用して結果を表示します。
2番目の部分(太字)は2番目のビデオストリームを読み取り(デフォルトのキャプチャデバイスから、device = / dev / videoXを追加して別のデバイスを選択します)、最初のストリームと同じ色空間、サイズネゴシエーション、およびビデオ形式の選択を行います次に、ビデオを640ピクセル左に移動し、結果をmixという名前の要素(ビデオミキサー)にフィードします。最後のドットは必須であり、フィルターを探す代わりに「mix」という名前の既存の要素を検索するようにgstreamerに指示します。
v4l2src device = / dev/ video1をfilesrclocation=video.aviに置き換えることができます。ビデオファイルから入力を取得するためのdecodebin 。
xvimagesinkをjpegencに置き換えます!avimux!filesink location = out.aviを使用して、結果をビデオファイルに書き込みます。