【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/会时不时报错。

相关推荐
论文复现现场2 小时前
ComfyUI部署MiniMax H3:8G本地卡、RTX 4090和RTX 5090怎么选?
人工智能·云计算·音视频·gpu算力
一颗小行星!4 小时前
免费在线 MP3、录音、视频转文本工具推荐对比
音视频
天天进步20155 小时前
Pixelle-Video 源码解析 #18:声音克隆功能:参考音频如何影响解说效果?
数据库·音视频
林墨聊AIGC6 小时前
动漫AI视频创作工具在哪找到的?2026年最新动漫AI视频平台与软件指南
大数据·人工智能·ai作画·aigc·音视频
FlightYe8 小时前
音视频修炼之基础理论(五):AAC格式与解析
android·linux·c++·音视频·aac
cnnews9 小时前
Ubuntu 编译 postmarketOS
linux·运维·arm开发·ubuntu·github·音视频
小五兄弟13 小时前
AI仿真人剧出海创收指南
经验分享·音视频·媒体
音视频牛哥13 小时前
从AV2到H.266/VVC:下一代视频编码的技术分野与SmartMediaKit的演进价值
音视频·smartmediakit·av2视频编码·h.266 vvc·av2与vvc区别·av1视频编码·lcevc增强编码
嘟哩DuliDuli14 小时前
AI 视频局部重做,怎么避免破坏成片
人工智能·安全·ai·音视频·软件工程
m0_6145235514 小时前
工程工作流:一句需求做视频封面,先拆主题再做小图验收
人工智能·音视频