一步一步建立GStreamer外掛程式

2021-05-28 06:48:13 字數 2321 閱讀 7645

1、獲取建立外掛程式的模板gst-template

方法一: cvs

$cvs -d:pserver:[email protected]/cvs/gstreamer login

password: [root的密碼]

$cvs -z3 -d:pserver:[email protected]:/cvs/gstreamer co gst-template

方法二: git

如果沒有安裝git,則首先安裝git:

$sudo apt-get install git-core

再獲取模板: 

$git clone git:

2、進入目錄gst-template/gst-plugin/src

$cd gst-template/gst-plugin/src

$../tools/make_element examplefilter

(此處要嚴格注意順序,否則編譯會出現找不到gstplugin.c錯誤)

產生檔案

gstexamplefilter.c gstexamplefilter.h

3、修改makefile.am檔案 (注意:是src目錄下的makefile.am)

$sudo gedit makefile.am

plugin_ltlibraries = libgstexamplefilter.la

libgstexamplefilter_la_sources = gstexamplefilter.c

libgstexamplefilter_la_cflags = $(gst_cflags)

libgstexamplefilter_la_libadd = $(gst_libs)

libgstexamplefilter_la_ldflags = $(gst_plugin_ldflags)

libgstexamplefilter_la_libtoolflags = --tag=disable-static

noinst_headers = gstexamplefilter.h

總共有七行

4、匯入pkg_config_path環境變數,在命令列輸入:

$export pkg_config_path=/usr/lib/pkgconfig

5、進入目錄gst-template/gst-plugin,修改檔案autogen.sh

進入上一層目錄

$cd..

$sudo gedit autogen.sh

(此處有可能出現:can't exec "libtoolize": 沒有那個檔案或目錄 at /usr/bin/autoreconf line 196,則解決方法:apt-get install libtool)

如果是通過cvs獲取的模板,則修改原來的

srcfile=src/main.c

為新的:

srcfile=src/gstexamplefilter.c

如果是通過git獲取的模板,則在autogen.sh的開始新增:

srcfile=src/gstexamplefilter.c

6、執行autogen.sh,產生makefile檔案

$./autogen.sh

7、開始安裝:

$./configure

$make

$sudo make install

再進入src子目錄中

$cd src

用ls -a查詢會有.libs目錄產生

(注意: .libs 為隱藏目錄)

進入.libs

$cd .libs

$ls -a

會發現裡面產生了

libgstexamplefilter.la

libgstexamplefilter.so

8、將外掛程式加入到gstreamer庫中

把libgstexamplefilter.la

libgstexamplefilter.so

這兩個檔案拷貝到系統目錄中: /usr/lib/gstreamer-0.10

$sudo cp libgstexamplefilter.la /usr/lib/gstreamer-0.10/libgstexamplefilter.la

$sudo cp libgstexamplefilter.so /usr/lib/gstreamer-0.10/libgstexamplefilter.so

(此處好像不用拷,在gstreamer-0.10目錄下並有這兩個檔案)

檢查外掛程式:

$gst-inspect examplefilter

如果顯示了外掛程式的資訊,那麼外掛程式就建立好了

參考:

一步一步 Sql Azure

一步一步 sql azure 1.使用 windowsazure 平台賬號登陸 2.新建sqlazure server 3.新建資料庫 4.為sql azure server 新增防火牆規則,只有將本機新增到規則裡才能從本機連線到該sqlazure server 5.連線到sql azure ser...

一步一步學cscope

告之 1,我不喜歡寫部落格 因為感覺太浪費時間 2,部落格能記住自己某階段學過的東西,而這些東西可能會很快的忘卻 所以我以後要學著在部落格上浪費時間 前言 本文件記錄了我今天 2007 11 9 下午學習cscope的一點收穫,特收錄部落格以作分享。在學習cscope過程中查閱了大量的文件,但發現適...

走一步,再走一步

時光如梭,匆匆流逝的所有,讓我再一次懂得了,人生的時光門票,在不斷的穿梭過去和未來,也任光陰的手撫摸著這個現在,有太多的好像,早已和我的過去劃開了界限,無論悲傷的過往,還是美好而快樂過的曾經,都好像已經不重要了。重要的是,走一步,再走一步。這場在歲月裡一直奔跑的故事,和那始終無法為自己畫上成功圓滿的...