After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 756776 - uvch264src does capture H264 stream from Logitech C920, works with v4l2src
uvch264src does capture H264 stream from Logitech C920, works with v4l2src
Status: RESOLVED INVALID
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
unspecified
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-10-18 11:55 UTC by Colin Finck
Modified: 2015-10-22 07:30 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Colin Finck 2015-10-18 11:55:52 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..
Comment 1 Colin Finck 2015-10-22 07:30:17 UTC
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.