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。

發佈了40 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章