[gst-devel] getting data format info
Hendrik Schober
spamtrap at gmx.de
Tue Sep 2 10:34:58 CEST 2008
thiagoss wrote:
> On Mon, Sep 1, 2008 at 12:59 PM, Hendrik Schober <spamtrap at gmx.de
> <mailto:spamtrap at gmx.de>> wrote:
>
> thiagoss wrote:
> >
> >
> > On Mon, Sep 1, 2008 at 11:56 AM, Hendrik Schober <spamtrap at gmx.de
> <mailto:spamtrap at gmx.de>
> > <mailto:spamtrap at gmx.de <mailto:spamtrap at gmx.de>>> wrote:
> >
> > thiagoss wrote:
> > >
> > > On Mon, Sep 1, 2008 at 11:18 AM, Hendrik Schober
> <spamtrap at gmx.de <mailto:spamtrap at gmx.de>
> > <mailto:spamtrap at gmx.de <mailto:spamtrap at gmx.de>>
> > > <mailto:spamtrap at gmx.de <mailto:spamtrap at gmx.de>
> <mailto:spamtrap at gmx.de <mailto:spamtrap at gmx.de>>>> wrote:
> > >
> > > Hi,
> > >
> > > we are using (or is that abusing?) gstreamer in order
> to capture
> > > video data from an USB camera. For this we have setup
> a v4lsrc
> > > and a fake sink and grab the data in the handoff hook
> of the
> > > latter. So far, so good. However, despite several hours of
> > > tinkering we haven't found out how to determine what
> format
> > > (width, height, encoding) the data comes in.
> > > What do we need to do to get these values?
> > >
> > >
> > > Check the 'caps' in the source pad of the v4lsrc element.
> >
> > Thanks for your answer.
> > In fact, we already did that -- and got back a rather long
> > list of caps. But that doesn't tell us which one's currently
> > used. (Also, they specify a range for width and height, while
> > we need the ones that actually are negotiated.)
> >
> >
> > You should check the caps in the buffers you get from the handoff
> > buffers instead.
>
> Thanks, we hadn't even found those yet.
> However, this now leads to another question:
> Since these are rather suboptimal for us, we need to change
> them. We could use the ffmpegcolorspace conversion plugin,
> but IIUC we need to make this and the fakesink use the right
> pad.
> Where and how would we do this? When we setup the pipeline?
> By forcing some caps/pad onto the fakesink's source?
>
>
> You can do like this:
>
> v4lsrc ! ffmpegcolorspace ! capsfilter caps="yourdesiredcaps" ! fakesink
>
> If you need scaling put a videoscale between ffmpegcolorspace and
> capsfilter.
That did the trick! We got it working now.
Thank you for your support.
Schobi
More information about the gstreamer-devel
mailing list