当前位置 博文首页 > 那比小新的博客:ZLMediaKit 下载以及编译(windows,ubuntu)

    那比小新的博客:ZLMediaKit 下载以及编译(windows,ubuntu)

    作者:[db:作者] 时间:2021-07-26 12:02

    一,Ubuntu搭建ZLMediaKit

    1,安装cmake

    $ apt-get install -y cmake
    # 查看cmake版本,如果版本过低需要重新自己下载,ZLM的版本要求使3.13
    $ cmake -version
    # 卸载
    $ apt-get  remove cmake
    

    这里选择的使cmake版本3.18.3的。

    # 解压
    $ tar zxvf cmake-3.18.3-Linux-x86_64.tar.gz
    # 重命名
    $ mv cmake-3.18.3-Linux-x86_64 cmake-3.18
    # 创建软连接ln -sf /cmake路径/bin/* /usr/bin/
    $ ln -sf  /opt/cmake-3.18/bin/* /usr/bin/
    # 验证cmake
    $ cmake -version
    

    2,gcc、g++、gdb(如果不调试可以不安装)

    3,git(默认安装)

    克隆ZLMediaKit

    #国内用户推荐从同步镜像网站gitee下载 
    git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
    cd ZLMediaKit
    #千万不要忘记执行这句命令
    git submodule update --init
    

    安装需要的openssl开发库和ffmpeg

    # openssl
    sudo apt-get install openssl libssl-dev -y
    

    ffmpeg下载地址

    xz -d ffmpeg-4.2.4.tar.xz
    tar xvf ffmpeg-4.2.4.tar
    # 安装yasm汇编器
    apt-get install -y yasm
    # 生成makefile
    ./configure --enable-shared
    # 编译
    make -j4
    # 安装
    make install
    # 配置环境变量
    vim /etc/ld.so.conf
    # 加入lib库的路径,默认是/usr/local/lib,如果前面configure有添加路径则在相应的路径下的lib文件中
    /usr/local/lib
    # 使环境变量生效
    ldconfig
    # 验证,如果没有配置环境
    ffmpeg -version
    

    安装测试

    1,编译ZLMediaKit

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

    2,运行测试

    cd ZLMediaKit/release/linux/Debug
    ./MediaServer
    

    3,软连接

    ln -sf /home/ZLMediaKit/release/linux/Debug/MediaServer /usr/bin/
    

    二,WIndows下搭建ZLMediaKit

    1、依赖库
    只编译服务器,?跑起来的话,只需要openssl即可。 参见https://github.com/xiongziliang/ZLMediaKit/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B

    个人建议选择32位的openssl库,必竟通用性强。

    如果需要录制功能,需要下载ffmpeg开发库

    test_player测试程序,需要用到faac,mp4v,SDL这3个库

    各个库的下载地址:

    ①.openssl??(必选)

    http://slproweb.com/products/Win32OpenSSL.html

    ②.ffmpeg??

    https://ffmpeg.zeranoe.com/builds/????dev目录下是编译好的

    ③.faac

    https://sourceforge.net/projects/faac/

    ④.mp4v2

    https://github.com/TechSmith/mp4v2/releases

    ⑥.SDL2

    https://www.libsdl.org/??页面上的?SDL2-devel-2.0.12-VC.zip

    ?

    2、具体流程
    建议使用CMake图形窗口生成visual studio的 sln解决方案。

    CMake如何使用这里不做说明。

    需要指定SSL所用到的库和头文件目录,参照下图

    项目Wiki上说vs2017或以上,用vs打开代码根目录,但是个别人发现有问题:https://github.com/xiongziliang/ZLMediaKit/issues/289?

    ?

    3、注意事项
    3rdpart目录下的 media-server是另一个项目,如果你是直接下载zip包得到的zlmedia代码,里面没有media-server代码,

    要按照wiki文档,用?git submodule update --init 命令下载子模块才可以。

    ?

    4、运行MediaServer
    vs编译非常快的,估计1分多钟就要可以了。

    编译成功后,会在ZLMediaKit\release\windows\Debug\Debug\?目录下生成MediaServer.exe,

    要运行此程序需要将 ZLMediaKit\conf\config.ini放到此目录下,具体的端口可以根据需要进行单独配置,

    如果要支持https,还要把ZLMediaKit\test\ssl.p12复制到此目录下,里面包含ssl用的证书。

    程序运行截图:

    ?
    5、推流和播放
    OBS推流选择正确的端口和地址即可。 推送地址示例: rtmp://127.0.0.1/live/0

    ffmpeg??推流命令

    ??./ffmpeg -re -i ./doc/ljg.mp4 ?-vcodec copy -acodec copy -f flv -y rtmp://localhost/live/0
    播放地址:???

    (rtsp默认554端口,http默认80,https默认443,如果配置文件中不是像这样配置,需要在下面的地址域名后面添加端口号。)

    rtsp://somedomain.com/live/0
    rtsps://somedomain.com/live/0
    rtmp://somedomain.com/live/0
    rtmps://somedomain.com/live/0
    http://somedomain.com/live/0/hls.m3u8
    https://somedomain.com/live/0/hls.m3u8
    更多URL信息请参考https://github.com/xiongziliang/ZLMediaKit/wiki/%E6%92%AD%E6%94%BEurl%E8%A7%84%E5%88%99

    ?

    6、MediaServer作为点播服务器
    MediaServer可以将mp4文件转化为媒体流进行分发(目前只支持mp4文件)。

    具体做法是:将test.mp4放到 ./www/record/目录下后,用以下地址播放

    ?

    rtmp://127.0.0.1/record/test.mp4

    rtsp://127.0.0.1/record/test.mp4
    ?

    cs