uvch264src: Only broken examples

Mark Scudder mark at markscudder.com
Sun Feb 23 11:28:22 PST 2014

On Feb 23, 2014, at 11:25 AM, Alexandru Csete <oz9aec at gmail.com> wrote:

> That might not be possible using any application on any OS because of
> USB bandwidth limitation. While there would be plenty of bandwidth to
> run multiple C920 in H.264 the C920 will actually request bandwidth
> according to what it would need in raw mode. I have not tried it
> myself but I remember seeing forum discussions about this topic some
> time ago.

I had three 920s recording 720p video to disk yesterday, at least at 15fps, on a ten-year-old Lenovo Thinkpad T60. Other than the speed issue (which my experience with qv4l2 seems to indicate is a hardware setting that needs to be changed before recording), the resulting video files looked no different than ones recorded from the Windows app.

> My comment was only meant as a explanation why the official gstreamer
> tutorial is a programming manual. I'm not speaking on behalf of the
> project but I don't think gst-launch was ever intended to be more than
> a tool for testing and debugging.

But that's precisely my point; by using gst-launch I have discovered that pipelines that should work don't work. And at this point I am testing and debugging. If the same pipeline works in a C++ program using the API, but doesn't work with gst-launch, then it's not a very good tool for testing. All that being said, I'm comfortable enough with the command line that if I can do this on the command line with gst-launch, I may very well just do that. But if gst-launch is a testing tool, it should not fail where the API does not.

> In other words, you have two applications (gst pipeline and qv4l2)
> that can't show H.264 video on your monitor. Perhaps you need to
> install an H.264 decoder? Sometimes, a missing library or binary is
> silently ignored.

That could be, but again, without decent documentation, I would never know if I did. Now, as I understand it, the default video player in Linux Mint is based on gstreamer, so when I open a file I have created from the 920 with gstreamer, it plays. Also, I can connect the camera in h264 mode to an xvimagesink. If I can do those two things, doesn't it mean I have an h.264 decoder installed on my system?

> The reason why I install gstreamer in my home is to keep it isolated
> from the rest of the system. If you install in the default location
> /usr/local it will most likely conflict with the one installed by your
> OS in /usr so that you don't really know which one is being used.
> Perhaps that is what's causing you trouble.

It could very well be. One thing that's confusing the hell out of me is that most of the stuff I Google about gstreamer refers to the 0.10 release. And some of it even suggests to continue using the 0.10 release even though 1.0, 1.1, and 1.2 have been released. It's also my understanding that the c920 runs better in 1.2, but in all my Googling I discovered that the uvch264src plugin (then called uvch264_src) existed and apparently worked back then. So at this point I don't even know what version I'm supposed to be running!

All that being said, I did just run "whereis gst-launch-1.0" and got back three results: "/usr/bin/gst-launch-1.0 /usr/bin/X11/gst-launch-1.0 /usr/local/bin/gst-launch-1.0" - and I only installed the last one. So I think you're right. Is it reasonable to assume that Linux Mint 16 comes with a modern gstreamer version? I guess the next thing I'll do is format the Mint machine and reinstall Mint clean and see what gstreamer does without downloading or building anything from source.

More information about the gstreamer-devel mailing list