天天看点

Gstreamer 插件黑名单问题

本文是基于gstreamer-1.0版本来介绍

背景介绍

无论是在PC上还是在开发板上,第一次安装gstreamer-1.0的时候,gst-plugin_scanner会扫描系统内集成的gstreamer插件,并将插件的信息存入文件系统(缓存),存放缓存的文件路径是

$XDG_CACHE_HOME/gstreamer-1.0/registry-$ARCH.bin

        PC 上的默认路径是/home/用户名/.cache/gstreamer-1.0/registry.x86_64.bin,如下图所示

Gstreamer 插件黑名单问题

        开发板上的默认路径是/home/root/.cache/gstreamer-1.0/registry.aarch64.bin (开发板为aarch64架构)

该文件生成后,后续使用gstreamer插件的时候,将会直接从该文件中读取相关的信息,如果该文件被误删了,可以通过执行gst-inspect-1.0命令来重新生成

gstreamer 插件被加入到黑名单有两种情况

1.误删了插件所依赖的库文件和缓存文件(.bin)

这里在PC上用gstreamer-1.0中的rtmp插件来说明(rtmp插件的插件库名为libgstrtmp.so,它还依赖第三方的librtmp.so.1库文件)

先手动删除/usr/lib/librtmp.so.1文件,然后再手动删除registry.x86_64.bin文件,然后在执行gst-i

继续阅读