[gst-devel] Video capture src for windows. Element not being registered?

Fredrik Karlsson fredrikkarlsson at fastmail.net
Fri Mar 16 12:30:41 CET 2007


On Wed, 14 Mar 2007 13:45:10 +0100, "René Stadler" <mail at renestadler.de>
said:
> Am Mittwoch, den 14.02.2007, 14:54 +0100 schrieb Fredrik Karlsson:
> > Hi,
> > I'm trying to capture video(a webcam) in windows using GStreamer. I have
> > gotten GStreamer to work, I can as an example play OGG video/sound files
> > using libgstdirectdraw and libgstdirectsound. But finding a plugin for
> > capturing in windows was a bit harder. Although I did manage to find a
> > plugin based on videotestsrc that utilizes a lib called DScapture. This
> > plugin i believe is called libgstdscapturesrc and made by Joni Valtanen.
> > 
> > My problem is that although I can compile it and run gst-inspect on the
> > .dll file and getting the right info from that, gst-insect does not find
> > the element when I try to inspect that. I'm guessing it's something
> > about the element not being registered in the registry? But I'm not
> > sure. Anyway, the registry.x86_64.xml file does not have a reference to
> > it (but I'm not sure i should?).
> > 
> > Does anyone know what it could be?
> > 
> > I would really appreciate some help.
> 
> The registry looks for plugins in certain paths only. The
> ".gstreamer-0.10/plugins" sub directory in your home directory is among
> this path list.  I think under Windows, "home directory" refers to the
> value of the USERPROFILE variable (or HOME, if that is set).
> Alternatively, you could just drop the plugin into the directory where
> all the other plugins are stored.
> 
> -- 
> Regards,
>   René Stadler
> 
Hello,
Thank you for your answers. However I did manage to solve my problem
just last week. As it turned out it had nothing to do with paths. The
video capture plugin based on videotestsrc that I tried to use I
downloaded in a bundle of an old version (which I didn't think of at
first) of gst-plugins-base. I used the vs8 file in that and compiled it
and got the problem I described. I'm pretty new at GStreamer so I left
the problem for a while and went on learning about GStreamer, using it
on Linux(FC6). Among the things I learned was that you can use
--gst-debug-level. I went back to my problem last week and used
gst-inspect with the debugger and found the source of my problem. Wrong
license it stated. I tracked down the problem to the config.h file in
win32/common in plugins-base. So I switched that file to a newer version
of config.h found in gst-plugins-base-0.10.11. When I recompiled it
worked.

So then I was able to move on with my program, but I found a new
problem. I want to capture video from a webcam and stream it on a
network using RTP. So at first I just tried to find out which elements
to use in the pipeline. This I had already done when experimenting with
GStreamer on Linux and there it worked: 
gst-launch videotestsrc (v4lsrc) ! theoraenc ! rtptheorapay !
rtptheoradepay ! theoradec ! ffmpegcolorspace ! directdrawsink
(ximagesink) sync=false  
I should also say I have tried different codecs and, also trying to
"stream" files instead of capture with some differences. With theora the
pipeline stops either saying that rtptheoradepay can't switch codebooks
or saying that theoradec can't find a header (no header sent yet). With
other codecs I get a video stream to show but it's distorted. As I said
no problems on linux of course =)

In windows I use the packets found on "Gstreamer on Windows",
http://perso.orange.es/moutte983/gstreamer/
My machine: AMD Athlon(tm)64 X2 Dual Core Processor 3800+

Regards,
Fredrik Karlsson
-- 
  Fredrik Karlsson
  fredrikkarlsson at fastmail.net

-- 
http://www.fastmail.fm - mmm... Fastmail...





More information about the gstreamer-devel mailing list