0

dvswitch で 2 つの Web カメラをテストしています。

dvswitch -h localhost -p 2000

avconv を使用して dv ストリームを生成し、それらを dvsource-file にパイプします。

avconv -y -f video4linux2 -s 640x480 -r 15 -i /dev/video0 -f s16le -ar 48000 -ac 2 -i /dev/zero -target pal-dv - | buffer -u 100 | dvsource-file -h localhost -p 2000 /dev/stdin

(名前付きパイプが悪い結果をもたらすため、バッファコマンドを使用する1つのWebカメラのみのコマンド)

dvswitch gui で 2 つのソースを使ってピクチャ イン ピクチャをまったく問題なく表示および実行できます。また、dvsink-command を使用して、dvswitch が生成したストリームをキャッチし、v4l2sink 出力で gst-launch パイプラインにパイプすることもできます。

dvsink-command -h localhost -p 2000 -- gst-launch -v fdsrc fd=0 ! dvdemux ! dvdec ! tee name=t_vid ! queue ! v4l2sink sync=false device=/dev/video2

(「v4l2sink sync=true device=/dev/video2」でも試してみました...)

/dev/video2 を vlc で開くと、dvswitch で生成されたビデオが表示されます。

vlc v4l2:///dev/video2

しかし、エキガ、スカイプ、そして xawtv が video2 ループバック デバイスを開こうとするとクラッシュします。

vlc の「ツール -> コーデック情報」メニューを使用すると、正しい解像度で「packed yuv 4:2:2 (yuy2)」が表示されますが、フレームレートは 4.200 を超えています (1.000 の 4 倍を超えています...)。通常の速度で表示されます。

vlc と (gst-launch の xvimagesink) はこの仮想デバイスからビデオを表示できると思いますが、ekiga などはフレームレートが非常に大きくて奇妙な数値であるため、表示できません...

フレームレートを 15 や 30 fps のようなものに下げるアイデアはありますか? ビデオレートを使用していくつかの gst-launch パイプラインを試しましたが、うまくいきませんでした。

どうもありがとう、

フランチェスコ

4

0 に答える 0