编译zlmediakit记录

最后更新于2022年8月10日 13:40:41

ZLMediaKit/ZLMediaKit

其实程序本身编译很简单的,难在下载下来跟自己的环境适配的过程,需要用到WebRTC拉流,编译过程记录如下:

编译环境:

原生的Ubuntu20.04-2:ubuntu 5.15.0-43-generic + gcc 9.4.0(其实5.4.0就够用了)

首先安装openssl:

这里就算有openssl也推荐手动搞一下,不行就新旧版本并存嘛,因为openssl-libsrtp2-zlmediakit这一套有联动的,我怕路径不对,受影响,就从头搞一下。

# 从github wiki上面抄来的
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
tar -xvzf openssl-1.1.1k.tar.gz
yum install -y zlib zlib-devel perl-CPAN # 这一步我就不执行了,之前电脑上装的有,而且我是ubuntu。
./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
make && make install
echo "/usr/local/lib64/" >> /etc/ld.so.conf
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf # 我这里是写了个openssl.conf文件放在/etc/ld.so.conf.d文件夹下面了,一个道理。
ldconfig
ln -s /usr/local/openssl/bin/openssl  /usr/local/bin/openssl # 这步我不做了,不想替换旧版本。
openssl version -a

安装libsrtp

这个一般人都没装,注意不要偷懒去apt安装libsrtp,否则会报错:srtp_create() failed: unspecified failure (srtp_err_status_fail);

tar -xvzf libsrtp-2.3.0.tar.gz
cd libsrtp-2.3.0
./configure --enable-openssl --with-openssl-dir=/usr/local/openssl
make -j8 
make shared_library # 编译动态库,默认会放在/usr/local/lib文件夹下
make install #或者 sudo checkinstall -D --install=no 随便你

编译zlmediakit

这一步有点小问题,我的编译环境是ubuntu20,但是我的部署环境是16,部署环境里面/usr/lib/x86_64-linux-gnu/libstdc++.so.6的版本太低,所以这步我要多加一步静态编译libstdc++库,在zlmediakit根目录的CMakeList文件中添加静态编译如下:

# 解决version `GLIBCXX_3.4.26' not found问题
set(CMAKE_EXE_LINKER_FLAGS " -static-libstdc++")

然后正常编译即可:

mkdir build
cd build
cmake .. -DENABLE_WEBRTC=true  -DOPENSSL_ROOT_DIR=/usr/local/openssl  -DOPENSSL_LIBRARIES=/usr/local/openssl/lib
cmake --build . --target MediaServer
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值