[gst-devel] newbie: multiple webcams?

Gerry Deckert gerry_deckert at yahoo.com
Sun Aug 10 19:06:18 CEST 2008


Stefan,

   Thanks for the suggestion.  The result is the same, the first camera works fine, there is a pause when I switch to the second, I get a short burst of delayed video, and from then on I get about 1 frame every 10-20 seconds.  I've also tried it with leaky=1 just to see, and tried different values for max_size_buffers (2, 0, ...) and the outcome is unchanged.  Would a caps filter describing the video stream make a difference, or does that only affect negotiating the links between elements?


   Gerry

--- On Sun, 8/10/08, Stefan Kost <ensonic at hora-obscura.de> wrote:

> From: Stefan Kost <ensonic at hora-obscura.de>
> Subject: Re: [gst-devel] newbie: multiple webcams?
> To: "Gerry Deckert" <gerry_deckert at yahoo.com>, "Gstreamer" <gstreamer-devel at lists.sourceforge.net>
> Date: Sunday, August 10, 2008, 3:29 AM
> Hi,
> 
> please keep the list in the loop.
> 
> Gerry Deckert schrieb:
> > Stefan,
> > 
> >    I've just given input-selector a try and ran
> into trouble.  The first camera comes up fine, but when I
> try to switch cameras (by setting the 'active-pad'
> property) the video on the next camera is frozen, or
> stutters through a few frames and then freezes.  If I set my
> pipeline to STATE_NULL, then change the active-pad on the
> input-selector, then set the pipeline back to STATE_PLAYING
> it works as expected but there's a 1 second pause while
> switching, which defeats the purpose.
> >    Do you have any ideas why this might be the case,
> or if there is some combination of elements I could put
> upstream or downstream of the input-selector to improve its
> behavior?  I've tested putting queues on either end, but
> with no visible difference.  Any insight you could provide
> would be helpful!
> 
> I suspect timestamp issues. Can you try this:
> v4l2src ! queue leaky=2 ! input-select name=sel ! ,,,
> v4l2src ! queue leaky=2 ! sel.
> ...
> 
> Stefan
> 
> 
> > 
> > 
> >    Thanks,
> > 
> > 
> >    Gerry
> > 
> > 
> > 
> > --- On Thu, 8/7/08, Stefan Kost
> <ensonic at hora-obscura.de> wrote:
> > 
> >> From: Stefan Kost <ensonic at hora-obscura.de>
> >> Subject: Re: [gst-devel] newbie: multiple webcams?
> >> To: "Discussion of the development of
> GStreamer"
> <gstreamer-devel at lists.sourceforge.net>
> >> Date: Thursday, August 7, 2008, 1:30 AM
> >> hi,
> >>
> >> have you tried input-selector from gst-plugin-bad?
> >>
> >> Stefan
> >>
> >> Gerry Deckert schrieb:
> >>> Hi all,
> >>>
> >>>    I'm working on a Gstreamer / Python /
> Gtk
> >> project to debut at Burning Man in a few weeks,
> and I'm
> >> hoping to get some suggestions, insight, and
> pointers to
> >> examples.  I'm almost completely new to
> Gstreamer and
> >> the Python bindings, but I have gone through the
> App
> >> development manual and the Pygstreamer Tutorial. 
> I'm
> >> amazed at the speed and flexibility, and I'm
> convinced
> >> it's the right way to go with my project.
> >>>    Here's what I'm trying to do:  I
> want to
> >> take input from multiple usb webcams (v4lsrcs) at
> the same
> >> time, display video in a window from just one at a
> time, and
> >> have the ability to switch the feed smoothly from
> camera to
> >> camera.  Why would I want to do this you ask?  So
> I can set
> >> up a ring of cameras and create a bullet-time
> dance cage, of
> >> course.  :)
> >>>    I cobbled together something from various
> examples
> >> that more or less works, but I'm sure
> there's a
> >> better approach.  My initial attempt involved
> detaching and
> >> attaching cameras directly to xvimagesink, but
> this took too
> >> long for a smooth transition.  In my current
> setup, each
> >> camera is fed through its own videobox, all the
> videoboxes
> >> connect to a single videomixer, and the videomixer
> goes
> >> through ffmpegcolorspace to xvimagesink.  All the
> cameras
> >> are running at the same time, and I choose between
> them by
> >> setting the alpha channel on the videobox of the
> desired
> >> camera to 1 while all the others are 0.  This
> results in
> >> smooth switching, but I'm sure is not a good
> use of
> >> resources.  
> >>>    So, with that, I have lots of questions. 
> Is there
> >> a way to switch between sinks on the videomixer to
> >> accomplish the same effect?  Is there a fast way
> to turn the
> >> cameras on and off, or should I try turning them
> on and off
> >> in groups?  How could I enable recording of the
> video
> >> that's coming out?  I'm guessing I want to
> use a tee
> >> element, but how do I enable it on the fly?  What
> about
> >> toggling on/off some of the effectv plugins?  How
> could I
> >> grab single frames from the cameras?  I don't
> have a
> >> good understanding of what's involved in
> modifying the
> >> pipeline on the fly.  Is there some documentation
> or are
> >> there some examples anyone could point me to? 
> Suggestions? 
> >> Any help would be greatly appreciated!
> >>>
> >>>    Regards,
> >>>
> >>>
> >>>    Gerry
> >>>
> >>>
> >>
> -------------------------------------------------------------------------
> >>> This SF.Net email is sponsored by the Moblin
> Your Move
> >> Developer's challenge
> >>> Build the coolest Linux based applications
> with Moblin
> >> SDK & win great prizes
> >>> Grand prize is a trip for two to an Open
> Source event
> >> anywhere in the world
> >>
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> >>>
> _______________________________________________
> >>> gstreamer-devel mailing list
> >>> gstreamer-devel at lists.sourceforge.net
> >>>
> >>
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >>>   
> >>
> >>
> -------------------------------------------------------------------------
> >> This SF.Net email is sponsored by the Moblin Your
> Move
> >> Developer's challenge
> >> Build the coolest Linux based applications with
> Moblin SDK
> >> & win great prizes
> >> Grand prize is a trip for two to an Open Source
> event
> >> anywhere in the world
> >>
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> gstreamer-devel at lists.sourceforge.net
> >>
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel




More information about the gstreamer-devel mailing list