gstreamer新插件创建一直找不到,请问有知道原因的吗?

waitquietly 2016-09-11 03:57:28
按照下面的方法创建完了之后
gst-inspect examplefilter
提示没找到插件,好像是被送进了黑名单了,请问怎么解决。。


引用
1、获取创建插件的模板gst-template
http://hi.baidu.com/zhxust/blog/item/8161ab637d89ac6a0d33fa45.html

方法一: CVS
$cvs -d:pserver:anoncvs@cvs.freedesktop.org/cvs/gstreamer login
password: [root的密码]
$cvs -z3 -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/gstreamer co gst-template

方法二: GIT
如果没有安装git,则首先安装git:
$sudo apt-get install git-core
再获取模板:

$git clone git://anongit.freedesktop.org/gstreamer/gst-template.git


2、进入目录gst-template/gst-plugin/src
$cd gst-template/gst-plugin/src
$../tools/make_element ExampleFilter

产生文件
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..
编辑autogen.sh文件:
$sudo gedit autogen.sh

如果是通过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


...全文
1676 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
柳鲲鹏 2018-12-04
  • 打赏
  • 举报
回复
哈哈!这个问题前几天遇到,并彻底解决。参考:
《gstreamer插件用不了,及黑名单Blacklist的解决办法》
https://blog.csdn.net/quantum7/article/details/84723053
hu_yilang 2018-11-06
  • 打赏
  • 举报
回复
export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0 /usr/local/lib/gstreamer-1.0是插件的情况下被make默认的目录。如果您定义了不同的目录,请使用它。 然后运行gst-inspect-1.0,您会发现新编译并安装了插件的。
father_of_chenchen 2017-06-29
  • 打赏
  • 举报
回复
千万不要随意的修改动态库的名字,因为gstreamer框架在查找插件的时候会根据动态库的名字来找plugin的init函数,其命名规则应该是 "libpluginname.so",其中pluginname就是GST_PLUGIN_DEFINE宏函数的第三个参数。

18,773

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧