【zlm】多宫格版本20260306Linux版本的编译

目录

成果

苦难的linux编译

编译成功后的使用


成果

推流列表没有的

直接ffplay播放

苦难的linux编译

由于借鉴了windows的经验,引入了五个静态lib与include,生成后,在可执行文件目录放了五个dll文件就可以正常执行!

但在linux里面,如果引入的是/usr/local/*.a的文件,那么根据ffmpeg下面的编译脚本,它会包入静态文件,及关联的文件,结果就会一直报错:中间遇到要-fpic等问题。在zlm及ffmpeg的编译中,经历了无数的版本尝试(ffmpeg.sh.loss .fpic)( reZlm.sh.webrtc.1 reZlm.sh.webrtc.2) ,最后直接要崩溃。后来还是回归到动态 链接so的方式 。最后的脚本记录下。

reZlm.sh.webrtc (回到最原始,默认链接so文件)

复制代码
    cd gbcomzlm \
    && git pull \
    && git submodule update --init \
    && mkdir -p build release/linux/Release/ \
    && cd build \
    && cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_WEBRTC=true  -DOPENSSL_ROOT_DIR=/usr/local/openssl  -DOPENSSL_LIBRARIES=/usr/local/openssl/lib \
             -DFFMPEG_INCLUDE_DIR=/usr/local/include \
             -DFFMPEG_LIB_DIR=/usr/local/lib \
             -DENABLE_FFMPEG=true -DENABLE_VIDEOSTACK=true -DENABLE_X264=true .. \
    && make -j8

ffmpeg.sh (核心 就是-enable-shared)产生 .so文件到/usr/local/lib/

复制代码
PKG_CONFIG_VERSION=0.29.2
CMAKE_VERSION=3.18
CMAKE_FULL_VERSION=3.18.4
YASM_VERSION=1.3.0
NASM_VERSION=2.15.05
X265_VERSION=3.4



# cd /opt \
#     && git clone https://gitee.com/xia-chu/FFmpeg.git \
    cd /opt/FFmpeg \
    && export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH \
     && ./configure \
        --disable-debug \
        --disable-doc  \
        --enable-shared  \
        --enable-gpl \
        --enable-version3 \
        --enable-static \
        --enable-nonfree \
        --enable-pthreads \
        --enable-libx264 \
        --enable-libx265 \
        --enable-small \
        --pkgconfigdir=/usr/local/lib/pkgconfig \
            --pkg-config-flags="--static" \
    && make -j8 \
    && make install

编译成功后的使用

ldd MediaServer

2025-8-18日的版本依赖

复制代码
linux-vdso.so.1 =>  (0x00007ffd8a1fa000)
	libssl.so.1.1 => /usr/local/lib64/libssl.so.1.1 (0x00007fe963e93000)
	libcrypto.so.1.1 => /usr/local/lib64/libcrypto.so.1.1 (0x00007fe9639a8000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe96378c000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fe963484000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fe963143000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fe962f2d000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fe962b5f000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fe964125000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fe96295b000)

最新编译出来的版本依赖

复制代码
linux-vdso.so.1 (0x00007fffcdedf000)
	libavutil.so.56 => /usr/local/lib/libavutil.so.56 (0x00007fef906a2000)
	libavcodec.so.58 => /usr/local/lib/libavcodec.so.58 (0x00007fef8f360000)
	libswscale.so.5 => /usr/local/lib/libswscale.so.5 (0x00007fef8f0e5000)
	libswresample.so.3 => /usr/local/lib/libswresample.so.3 (0x00007fef8eecc000)
	libavfilter.so.7 => /usr/local/lib/libavfilter.so.7 (0x00007fef8e9f4000)
	libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fef8e7f0000)
	libssl.so.1.1 => /usr/local/openssl/lib/libssl.so.1.1 (0x00007fef8e55e000)
	libcrypto.so.1.1 => /usr/local/openssl/lib/libcrypto.so.1.1 (0x00007fef8e073000)
	libx264.so.163 => /usr/local/lib/libx264.so.163 (0x00007fef8dbd4000)
	libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fef8d9b6000)
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fef8d634000)
	libm.so.6 => /usr/lib64/libm.so.6 (0x00007fef8d332000)
	libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007fef8d11c000)
	libc.so.6 => /usr/lib64/libc.so.6 (0x00007fef8cd70000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fef90b06000)
	libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x00007fef8ca8b000)
	liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007fef8c865000)
	libx265.so.192 => /usr/local/lib/libx265.so.192 (0x00007fef8c15d000)
	libpostproc.so.55 => /usr/local/lib/libpostproc.so.55 (0x00007fef8bf46000)
	libavformat.so.58 => /usr/local/lib/libavformat.so.58 (0x00007fef8bb57000)
	librt.so.1 => /usr/lib64/librt.so.1 (0x00007fef8b94f000)

对比差别的文件

复制代码
	libavutil.so.56 => /usr/local/lib/libavutil.so.56 (0x00007ff2cbe54000)
	libavcodec.so.58 => /usr/local/lib/libavcodec.so.58 (0x00007ff2cab12000)
	libswscale.so.5 => /usr/local/lib/libswscale.so.5 (0x00007ff2ca897000)
	libswresample.so.3 => /usr/local/lib/libswresample.so.3 (0x00007ff2ca67e000)
	libavfilter.so.7 => /usr/local/lib/libavfilter.so.7 (0x00007ff2ca1a6000)
	libx264.so.163 => /usr/local/lib/libx264.so.163 (0x00007ff2c9386000)
	libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x00007ff2c823d000)
	liblzma.so.5 (0x00007ff2c8017000)
	libx265.so.192 => /usr/local/lib/libx265.so.192 (0x00007ff2c790f000)
	libpostproc.so.55 => /usr/local/lib/libpostproc.so.55 (0x00007ff2c76f8000)
	libavformat.so.58 => /usr/local/lib/libavformat.so.58 (0x00007ff2c7309000)
	librt.so.1 (0x00007ff2c7101000)

放到wvp-mediaserver:/usr/local/lib/里去

**更新的方法:**直接将需要的文件放到/docker/media/zlm/correct/ 然后容器里操作 cp *.so /usr/local/lib,单独通过docker cp 1.so wvp-mediaserver:/usr/local/lib/会时不时报错。

相关推荐
ke_csdn2 小时前
安卓的视频通讯
android·音视频
吴声子夜歌3 小时前
小程序——视频
小程序·音视频
南棱笑笑生3 小时前
20260311解决瑞芯微原厂RK3576的Android14刷入乐晓电子的K7开发板后解决使用tinyplay播放wav音频
音视频·rockchip
新科技事物3 小时前
原创音乐人制作编曲伴奏新方式,清唱歌词的音频搭配AI编曲软件更高效出歌
人工智能·音视频
TSINGSEE3 小时前
WebRTC/视频转码/RTMP推流EasyDSS何让每一类用户都能实现高效便捷操作
音视频·webrtc·实时音视频·语音转写·ai字幕
泡泡糖的中文规格书4 小时前
ES8311 中文规格书开放获取(完整中英对照/低功耗单声道音频CODEC)
音视频·pcb设计·规格说明书·硬件设计·中文数据手册
_李小白4 小时前
【AI视频大模型扫盲】第一篇:Vidu平台
人工智能·音视频
棉花骑士4 小时前
【RTX4070】12g显存 ComfyUI AI 视频 (T2V/I2V) 避坑与实战指南
人工智能·音视频
辉视广播对讲4 小时前
基于 SIP 协议的广播对讲在综合管廊音视频系统中的适用性研究
音视频