gstreamer1.0 with logitech c920 webcam 流水线不想暂停

gstreamer1.0 with logitech c920 webcam Pipeline doesn't want to pause

我正在尝试在罗技 c920 USB 摄像头中使用硬件 h264 压缩器。我正在使用 Ubuntu 14.10.

提供的 gstreamer1.0 包
gst-launch-1.0 -v -e uvch264src device=/dev/video0 name=src auto-start=true \
src.vfsrc ! queue ! video/x-h264,width=1280,height=720,framerate=30/1 ! \
h264parse ! avdec_h264 ! xvimagesink sync=false

我正在获取输出

Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstUvcH264Src:src/GstV4l2Src:v4l2src0: num-buffers = -1
/GstPipeline:pipeline0/GstUvcH264Src:src/GstV4l2Src:v4l2src0: device =/dev/video0
/GstPipeline:pipeline0/GstUvcH264Src:src/GstV4l2Src:v4l2src0: num-buffers = -1
/GstPipeline:pipeline0/GstUvcH264Src:src/GstV4l2Src:v4l2src0: device = /dev/video0
/GstPipeline:pipeline0/GstUvcH264Src:src/GstCapsFilter:capsfilter1: caps = "video/x-h264\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ framerate\=\(fraction\)30/1"
ERROR: Pipeline doesn't want to pause.
Setting pipeline to NULL ...
Freeing pipeline ...

有什么线索吗?我有点困惑。我怀疑我会被告知 "you need to upgrade",但我试图避免经历从源代码构建所有内容然后尝试将其复制到其他系统的麻烦。

你读过这个吗:http://www.oz9aec.net/index.php/gstreamer/487-using-the-logitech-c920-webcam-with-gstreamer-12

我没有这个摄像头,但据我了解,您在这里有 2 个流:

  1. H.264高分辨率码流,src.vidsrc
  2. MJPEG 低分辨率流,src.vfsrc

所以,试着把src.vfsrc改成src.vidsrc.

此外,您可以尝试 v4l2src element:

gst-launch-1.0 -v -e v4l2src device=/dev/video0 ! queue ! video/x-h264,width=1280,height=720,framerate=30/1 ! \
  h264parse ! avdec_h264 ! xvimagesink sync=false

此外,您可以阅读此主题,它可能会有所帮助:Capturing h.264 stream from camera with Gstreamer