[gst-devel] gstreamer decoder

Sean McNamara smcnam at gmail.com
Fri Mar 19 13:47:18 CET 2010


Hi,

On Fri, Mar 19, 2010 at 8:08 AM, Nuno Cardoso <linun77 at gmail.com> wrote:
> Hi all!
>
> The gstreamer framework uses ffmpeg codecs to encode/decode data? The
> problem is that: I have a mini video surveillance system that runs on linux,
> and I developed a decoder plugin based on ffmpeg and Intel IPP. The
> configuration file tells what is the decoder plugin to use (ffmpeg or IPP
> shared libraries) to decode compressed images. What I need to now is that:
> the decoders that gstreamer uses are the same that ffmpeg implements? Or can
> I develop a gstreamer plugin for my application that uses decoders from
> gstreamer?

gst-ffmpeg supports most codecs that your system's ffmpeg installation
supports. Gstreamer also has its own suite of plugins not dependent on
ffmpeg that reside in the packages gst-plugins-*, gst-opengl, and so
forth.

To answer your first question: only if you want it to be that way. If
your pipeline contains ffmux_*, ffdemux_* or similar elements, those
will call directly into ffmpeg for the low-level codec operations.

To answer your second question: I'm assuming by "gstreamer plugin for
my application" that you mean your app has a multiple multimedia
backend architecture. If that's the case, then you can almost
certainly make your app a gstreamer client (link against gstreamer or
import the python modules) as one alternative, and as part of that
functionality, you can use gstreamer elements that rely on ffmpeg,
such as ffdemux_*.

If I understand you correctly, you have developed a custom codec
within the ffmpeg library, and you want to expose that to gstreamer
clients. To do that, you will probably have to hack on the
gstreamer-ffmpeg sources to enable that. I've never hacked on
gst-ffmpeg, and this HACKING guide may be completely outdated, but the
current advice (
http://cgit.freedesktop.org/gstreamer/gst-ffmpeg/tree/HACKING )
suggests that you will need to make some relatively simple additions
to expose your codec. That's assuming, of course, that your codec is a
"proper' ffmpeg codec that implements the right interfaces in the
public ffmpeg API. If not, you'll have a harder time binding it.

HTH,

Sean

>
> thanks,
> Nuno Cardoso.
>
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> 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