uvch264src: Only broken examples
mark at markscudder.com
Sun Feb 23 06:04:51 PST 2014
I didn't realize you would be the one to reply. Thank you for your examples, even If they don't work for me they have helped me understand the gstreamer pipeline format
You're right - I'm in a situation where I need to use gstreamer. Not because it's gstreamer, but because nothing else works. I'm in a situation where I need to run multiple c920s at once off one computer. So, the only app I have that does work - Logitech's Windows app - will not even do that.
I'm confused at your comment about how gstreamer is a development tool, not an end user tool. I'll write an app if I have to, but isn't the purpose of gst-launch to make sure your pipelines work as expected? Will the exact same pipeline fail with gst-launch but work in the API? Unless I can make it work on gst-launch, I can't conceivably proceed to developing an app.
Further, it's hard for me to believe that, with my simple needs, there is not yet an app written with gstreamer that does this simple thing. I installed and tried both of your suggestions - qv4l2 and guvcview. The former seems to record video fine, but shows me a 1280x720 blank window while doing so. The latter seems to record audio and video, but does not use the h264 stream from the camera, and cannot encode fast enough in realtime to use even one camera, much less two or three. Guvcview's "viewfinder" window is also 1280x720 (or whatever the final video size is). Hard to monitor multiple cameras.
Since you are out there I should also mention that I could not install gstreamer to my home directory following the instructions on your wiki. Although I tried multiple times, and followed your instructions carefully, it would always fail running configure on gst-plugins-good, claiming it couldn't find gst-plugins-base, even though I built both with --prefix=/home/mark/gst/runtime. After trying many times I finally built everything and let it install everything in the default locations and I was able to build everything.
Regarding your comment that the double-speed playback is a "firmware bug," are you saying that my c920s have a fifteen firmware version than yours? Should I file a bug, since Logitech presumably won't fix a bug that doesn't affect their own software? For my v4l2src pipeline, I dropped the framerate to 15/1, and the resultant video seems to play at the right speed but motion is a little blurry which makes me think that it's actually recording at 15fps. Also, when I tried to use qv4l2, the framerate control defaulted to 15fps and I had to change it. Perhaps I need to run some other utility before gst-launch to explicitly set the framerate to 30?
When I am in front of the Linux computer later today I'll paste the output of gstreamer when using the uvc driver.
> On Feb 23, 2014, at 4:37 AM, Alexandru Csete <oz9aec at gmail.com> wrote:
> Hi Mark,
> I don't know what to say besides confirming that my examples work for me using gstreamer 1.2.2. Perhaps there are some clues of an error in the "bunch of stuff" that you get in the terminal. Perhaps something goes wrong while you copy & paste the long command.
> Anyway, it sounds like you are using gstreamer out of necessity and not because you want to. Gstreamer is a development framework and not an end-user application. It is intended for application developers. If you just want to use your webcam you should use an application intended for that. Theoretically, all webcam applications should work with the C920 but in practice probably not all of them support H.264 stream. I know qv4l2 and guvcview support H.264 streams and work with the C920 and C930, though I haven't tried for quite a while.
> The double-speed playback could be a firmware bug.
>> On Sun, Feb 23, 2014 at 5:28 AM, Mark Scudder <mark at markscudder.com> wrote:
>> Hello. New gstreamer user. Latest version compiled from source on a new Linux Mint 16 install.
>> All I'm trying to do at the moment is save video and audio to disk from a Logitech c920. Nothing fancy, just what the bundled Windows app would do. I'll get fancy with it later. However, I can only find examples that don't work.
>> Here's one, for instance, in fact the only reasonably close documentation I can find on how to even get started: http://oz9aec.net/index.php/gstreamer/487-using-the-logitech-c920-webcam-with-gstreamer-12
>> I have a c920, I'm using gstreamer 1.2, so far so good. I paste the first example into a terminal. It says I should get two windows on screen, the low res viewfinder and a high quality 720p image as well.
>> When I run this pipeline only the small window appears, showing me one frozen frame, but no video. A bunch of stuff comes up in the terminal window, but no errors.
>> When I try to run the second example the same thing happens.
>> The v4l2src example works, but if I change xvimagesink to filesink (ignoring for the moment that I don't have a viewfinder), the recorded video plays back at double speed.
>> I guess I have two questions; first, somebody has to have made this work with the uvch264src plugin, otherwise why write it? And secondly, if the syntax of gstreamer has to be so complex, why have I not found more than a few examples out there of pipelines that actually work? Where's the definitive, rock-solid, working solution to saving the h264 stream from the c920 to disk? I feel like the driver should do it without me having to learn the magic words. If the driver is designed to take h264 video off a camera and send it to an imagesink or filesink, shouldn't it do that by default?
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel