GNOME Bugzilla – Bug 756776
uvch264src does capture H264 stream from Logitech C920, works with v4l2src
Last modified: 2015-10-22 07:30:17 UTC
I have been trying out this example pipeline from http://www.oz9aec.net/index.php/gstreamer/487 with my Logitech C920 webcam to capture its H264 stream: gst-launch-1.0 -v -e uvch264src device=/dev/video1 name=src auto-start=true \ src.vfsrc ! queue ! video/x-raw,format=\(string\)YUY2,width=320,height=240,framerate=10/1 ! xvimagesink sync=false \ src.vidsrc ! queue ! video/x-h264,width=1280,height=720,framerate=30/1 ! h264parse ! avdec_h264 ! xvimagesink sync=false Unfortunately, this only opens a window for vfsrc showing a single still image (but no video!) No window at all opens for the vidsrc. Several modifications of the pipeline have been tried, like connecting vfsrc to a fakesink and transmitting vidsrc in a stream over the network. But still no data is transferred in this case. Apparently, GStreamer 1.x is unable to capture the H264 stream from the C920 webcam. I have tested multiple versions of GStreamer 1.x and none of these works: * GStreamer 1.2.3-1 package from Ubuntu 14.04 LTS * Backported GStreamer 1.4.3 package for Ubuntu 14.04 LTS from https://launchpad.net/~ddalex * GStreamer 1.4.4 package from Debian Jessie I have also tested it on different computers and with different Logitech C920 webcams. Using v4l2src instead of uvch264src in these GStreamer 1.x versions works though and properly captures the H264 stream from the webcam. I need the additional parameters of uvch264src though (like bitrate setting), so this is not a viable solution for me. What also works is a self-compiled GStreamer 0.10.x from GIT with the pipeline modified to use "uvch264_src" instead of "uvch264src". I don't want to rely on 3-year-old versions though..
Okay, tried it with GStreamer 1.4.5 on Fedora 22 and with a self-compiled GStreamer 1.6.0 on Debian and Ubuntu. In both cases, uvch264src works perfectly. So either one of the minor changes between 1.4.4 and 1.4.5 fixed something or the Debian GStreamer packages and descendants are broken in this regard. Latter option looks more likely to me given that others report success even with GStreamer 1.2.x and uvch264src.