3

私は cubieboard2 と webcam logitech c920 を使用したプロジェクトで 1 か月間作業してきました。多くの検索と試行錯誤の後、gstreamer + v4l2loopback を使用して、c920 を vlc に提供するハードウェアでエンコードされた h264 ストリームを送信し、textoverlay を追加することにしました。このプログラム。

v4l2loopback で gstreamer を使用しようとしたときに問題が発生しました。Logitech からの raw ストリームを使用すると、正常に動作します。

gst-launch-1.0 -v v4l2src ! "video/x-raw,format=YUY2,width=640,height=480,framerate=30/1" ! queue ! v4l2sink device=/dev/video1 sync=0

これでもいいです

gst-launch-1.0 -v -e uvch264src device=/dev/video0 name=src auto-start=true      src.vfsrc ! queue ! video/x-raw,format=\(string\)YUY2,width=320,height=240,framerate=10/1 ! v4l2sink device=/dev/video1 sync=0

しかし、h264 ストリームを使用すると:

gst-launch-1.0 -v -e uvch264src device=/dev/video0 name=src auto-start=true src.vidsrc ! queue ! video/x-h264,width=1920,height=1080,framerate=30/1 ! v4l2sink device=/dev/video1 sync=0

「ストリーミングタスクが一時停止され、リンクされていない理由(-1)」を出力して機能しません。興味深いのは、パイプラインで指定したキャップとは異なるキャップをプログラムが出力することです。

/GstPipeline:pipeline0/GstUvcH264Src:src.GstGhostPad:vfsrc: caps = video/x-raw, format=(string)YUY2, width=(int)2304, height=(int)1536, pixel-aspect-ratio=(fraction) )1/1、インターレースモード=(文字列)プログレッシブ、フレームレート=(分数)2/1 /GstPipeline:pipeline0/GstUvcH264Src:src.GstGhostPad:vfsrc.GstProxyPad:proxypad0: caps = video/x-raw、format=( string)YUY2、width=(int)2304、height=(int)1536、pixel-aspect-ratio=(fraction)1/1、interlace-mode=(string)progressive、framerate=(fraction)2/1

問題がこれに関連していると確信していますが、この問題を解決する方法がわかりません。どんな助けでも大歓迎です。

私は使用しています:

  • v4l2loopback (0.8.0)
  • Gstreamer 1.2.4
  • cubieboard2(アームコンピュータ)
  • ウェブカメラ ロジクール c920
4

0 に答える 0