Gstreamer的编译以及配置要点[初次总结]

前言

Gstreamer是一个与ffmpeg齐名的音视频处理库,不过国内一般用的是ffmpeg--其实 gstreamer也蛮好用的。。。

这篇文章主要说明一下如何编译gstreamer以及安装配置插件--起码不会报 插件not found的错误吧。

 

这一篇文章是经过了:

 

GStreamer编译要点+插件需要进行的配置 [草稿]

 

洗礼的,不能保证100%正确,但是思路肯定是正确的。

 

 

配置过程

 

meson

gstreamer的最新版本都用的meson进行构建,所以, meson以及ninja怎么也得要安装配置一下的。包括pkgconfig

libnice

 

其他依赖我就不说了, 自行查看以及安装。

不过libnice不得不说一下,因为它有两点重要的地方:

1、Gstreamer有些插件依赖于libnice的,如果libnice无法正常运行的话,那么到时候插件就会加载失败,结果会出现无法找到插件的错误,例如,webrtc插件--这个插件是很重要的,音视频处理最后肯定要与webrtc进行对接,做实时处理的。

 

例如,笔者被这个问题都弄疯了:

 

2021-01-01_11-45.png

 

ps:提示两点, libnice请使用openssl来编译且openssl的版本要是1.0----openssl的版本一直是一个大问题, openssl1.1在很多库上面譬如,librtmp上面都是无法编译通过的,必须使用openssl1.0---而我们的系统,比如,ubuntu默认自带的openssl版本号是1.1,那么就会出现上面的问题---你编译的libnice使用的是openssl1.1,但是结果找不到某些参数或者函数。

2、libnice编译后同时会生成gstreamer相关的插件,就叫:

libgstnice.so

 

例如这里,

2021-01-01_16-13.png

 

编译后会有一个文件夹目录:

gstreamer-1.0

这里先提前说明,gstreamer所有插件的动态库都放在gstreamer-1.0目录下面的, 到时候你要在 ~/.bashrc下面配置一个GST_PLUGIN_PATH的环境变量 才能让gstreamer正常加载插件,先记住有这个nice插件,等下编译完gstreamer以后再复制到真正的插件目录----如果你编译的时候采用的是默认的路径:/usr/local/ 那么,gstreamer的插件目录就是在 /usr/local/lib/x86-64-linux-gnu/gstreamer-1.0/下面,如果是/usr/local/gst-1.0 那么结构就是:

2021-01-02_09-15.png

 

libnice的编译

 

ps:在编译libnice之前请确保自己已经编译了openssl1.0,例如我编译的openssl版本以及pkgconfig配置如下:

2021-01-02_09-18.png

并且配置了正确的pkgconfig----你编译的openssl的优先级位置起码要高于其他openssl库的位置吧,例如:

 

2021-01-02_09-20.png

 

 

libnice也是使用的meson进行编译的,编译的代码如下:

_tmp_archive='libnice-0.1.17.tar.gz'
_archive_folder=${_tmp_archive%%".tar.gz"}

bd_zip=$_tmp_archive
bd_folder=$_archive_folder
bd_task=$_archive_folder

    echo "*** 解压缩以及编译 $bd_task ***"
    cd $DOWNLOAD_DIR/
    rm -rf "$BUILD_DIR/$bd_folder"
    tar&
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值