I'm attempting to make use of the hardware h264 compressor in a logitech c920 usb camera. I am using the gstreamer1.0 package provided by Ubuntu 14.10.
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
I am getting the output
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 ...
Any clues? I'm a bit baffled. I have a suspicion that I'm going to be told "you need to upgrade", but I'm trying to avoid going through the trouble of building everything from source, then attempting to replicate it on other systems.
Have you read this: http://www.oz9aec.net/index.php/gstreamer/487-using-the-logitech-c920-webcam-with-gstreamer-12?
I haven't this cam, but as I understood you have 2 streams here:
So, try to change src.vfsrc to src.vidsrc.
Also, you could try 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
Also, you can read this topic, it may help: Capturing h.264 stream from camera with Gstreamer