zlmediakit 编译

本文详细介绍了如何在Linux环境下安装ZLMediaKit所需的依赖,下载并修改源码,将库编译为动态库,以及运行MediaServer和测试程序test_pusher。此外,还提供了编译测试程序的步骤和所需的库链接。
摘要由CSDN通过智能技术生成

一、安装依赖和下载源码

$sudo apt-get install cmake

$sudo apt-get install libssl-dev libsdl-dev libavcodec-dev libavutil-dev ffmpeg

$git clone -b 6.0 --depth 1 ZLMediaKit: 实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求

$cd ZLMediaKit

#下载第三方源码

$git submodule update --init

修改 src/Rtmp/RtmpPlayerImp.h


    bool onCheckMeta(const AMFValue &val) override {
        _rtmp_src = dynamic_pointer_cast<RtmpMediaSource>(_pMediaSrc);
        if (_rtmp_src) {
            _rtmp_src->setMetaData(val);
            _set_meta_data = true;
        }
        if(!_delegate) {
            _delegate.reset(new RtmpDemuxer);
            _delegate->loadMetaData(val);
        }
        return true;
    }

二、更改CMakelist编译成动态库

修改ZLMediaKit/CMakelist

第8行,取消屏蔽 set(CMAKE_BUILD_TYPE "Release")

行 133: add_library(mpeg STATIC ${src_mpeg})

行 156: add_library(mov STATIC ${src_mov})

行 157: add_library(flv STATIC ${src_flv})

行 189: add_library(zltoolkit STATIC ${ToolKit_src_list})

行 190: add_library(zlmediakit STATIC ${MediaKit_src_list})

将STATIC 改为SHARED

行 133: add_library(mpeg SHARED ${src_mpeg})

行 156: add_library(mov SHARED ${src_mov})

行 157: add_library(flv SHARED ${src_flv})

行 189: add_library(zltoolkit SHARED ${ToolKit_src_list})

行 190: add_library(zlmediakit SHARED ${MediaKit_src_list})


cd ZLMediaKit
mkdir build
cd build
cmake ..
make -j4

编译后安装路径位于 源码根目录 release/linux/Release

三、运行程序

首先运行 守护程序 位于源码根目录 release/linux/Release

./MediaServer -d &

然后运行测试程序

./test_pusher

四、独立编译测试程序 test_pusher.cpp ,注意test_pusher.cpp 需要放在编译选项前面


编译后的库文件从release/linux/Release 拷贝至 /home/nvidia/ZLMediaKitPro/ZLMediaKitInstall/lib
cp -arf release/linux/Release/lib*.so       /home/nvidia/ZLMediaKitPro/ZLMediaKitInstall/lib
编译后的server文件MediaServer 从release/linux/Release 拷贝至 /home/nvidia/ZLMediaKitPro/ZLMediaKitInstall/bin
cp -arf release/linux/Release/MediaServer   /home/nvidia/ZLMediaKitPro/ZLMediaKitInstall/bin
拷贝源码中的头文件 和 第三方源码中的头文件  拷贝至 /home/nvidia/ZLMediaKitPro/ZLMediaKitInstall/include/
cp -arf src/*                   /home/nvidia/ZLMediaKitPro/ZLMediaKitInstall/include/
cp -arf 3rdpart/ZLToolKit/src/* /home/nvidia/ZLMediaKitPro/ZLMediaKitInstall/include/
删除源文件
find . -name "*.cpp" -type f -print -exec rm -rf {} \;

编译测试程序
g++ test_pusher.cpp -o test_pusher -std=c++11 -O3 -DNDEBUG \
-I/usr/local/Xlza/ZLMediaKit/include -L/usr/local/Xlza/ZLMediaKit/lib \
-lzlmediakit -lzltoolkit -lmpeg -lmov -lflv -lssl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值