gstream-ffmpeg工作

1、在vc环境下编译不过

2、在ubuntu环境下,进入gst-ffmpeg-0.11.2,./configure,不过,原因是 no gstream-0.11

3、在ubuntu环境下,进入gstreamer-1.0.5,  ./configure,不过,原因是could not finde bison

 

gst给的插件中有两个都是基于ffmpeg的,一个是gst-ffmpeg-0.11.2,还有一个是gst-libav-1.0.5,这两个的FFmpeg库有一些差别,我初步比较,应该是gst-libav-1.0.5更新更全面一些。我们android平台用到ffmpeg版本更低一些。

 

在ubuntu下,编译/gst-ffmpeg-0.11.2/gst-libs/ext/libav,/gst-ffmpeg-0.11.2/m4/libtool.m4文件会有变化.

 

plugin和element的关系:plugin是elements的集合。

http://gstreamer.freedesktop.org/documentation/plugins.html列出了gstream认可的所有element,根据elemnet的可靠程度分成了gst-plugins-bad,gst-plugins-good,gst-plugins-ugly,其每种都对应一个模块(modules,我认为在这里modules和plugin应该是一个概念)。

http://gstreamer.freedesktop.org/src/列出了所有modules的源代码。gst-plugins-good/列出了所有可靠程度为gst-plugins-good的elements,即所有可靠程度为gst-plugins-good的elements构成了一个plugin。

      我在看gst-plugins-good的源代码的时候发现,其源代码都只是按照gstreamer的plugin的要求进行的代码封装,真正的核心代码都是一个库,网上有开源的。比如gst-plugins-good里的png,是一个element,源代码里与之有关的代码是gst-plugins-good-1.0.5\ext\libpng\gstpng*.c,其都是封装代码,真正需要的核心功能代码在libgstpng.so中,而且我在源代码中搜索不到这个库,应该是需要提前安装的。

        我在看gst-ffmpeg-0.X.X时,里面是有ffmpeg的源代码的,但是其也会被编译成libavcodec.a,libavformat.a,libavutil.a,libmmxsse.a,libffpostproc.a。这些库被安装到usr目录下,供使用。

http://gstreamer.freedesktop.org/apps/列出了基于gstream开发的app,但是大部分的开发语言都是python,我找到auditive是一个基于C语言开发的app。

你可能感兴趣的:(gstreamer)