ZLMediaKit:剪裁

概述

ZLMediaKit挺大的,支持的协议比较多,但很多可能并不是自己需要的,就需要剪裁,这样可以减少编译出文件的大小,加快编译速度。
我打算先只支持rtsp和H264/H265/AAC/G711。

配置 CMake 编译选项

mkdir build
cd build
cmake .. \
  -DENABLE_RTSP=ON \           # 启用 RTSP
  -DENABLE_RTMP=OFF \          # 禁用 RTMP
  -DENABLE_HLS=OFF \           # 禁用 HLS
  -DENABLE_HTTP=OFF \          # 禁用 HTTP/WebSocket/API
  -DENABLE_WEBRTC=OFF \        # 禁用 WebRTC
  -DENABLE_SRT=OFF \           # 禁用 SRT
  -DENABLE_MP4=OFF \           # 禁用 MP4 文件支持
  -DENABLE_FFMPEG=OFF \        # 禁用 FFmpeg 依赖(如果不需要转码)
  -DENABLE_X264=OFF \          # 禁用 x264 编码(如果不需要)
  -DENABLE_H264=ON \           # 启用 H.264
  -DENABLE_H265=ON \           # 启用 H.265
  -DENABLE_AAC=ON \            # 启用 AAC
  -DENABLE_G711=ON \           # 启用 G.711
  -DCMAKE_BUILD_TYPE=Release   # 编译 Release 版本
cmake ..    -DENABLE_RTSP=ON    -DENABLE_RTMP=OFF   -DENABLE_WEBRTC=OFF        -DENABLE_SRT=OFF    -DENABLE_MP4=OFF    -DENABLE_FFMPEG=OFF   -DENABLE_X264=OFF  -DENABLE_H264=ON    -DENABLE_H265=ON    -DENABLE_AAC=ON   -DENABLE_G711=ON    -DCMAKE_BUILD_TYPE=Release  
  • 错误:
    编译成功,启动后,进行rtsp推流失败,提示信息:
2025-03-04 13:10:25.801 W [MediaServer] [6680-event poller 12] RtspSession.cpp:62 onError | 1-57(127.0.0.1:50532) RTSP推流器(__defaultVhost__/live/test)断开:fmp4相关功能未打开,请开启ENABLE_MP4宏后编译再测试,耗时(s):0
Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing input
Error initializing output stream 0:0 --
Conversion failed!

修改cmake后,重新编译:

cmake ..    -DENABLE_RTSP=ON    -DENABLE_RTMP=OFF   -DENABLE_WEBRTC=OFF        -DENABLE_SRT=OFF    -DENABLE_MP4=ONF    -DENABLE_FFMPEG=OFF   -DENABLE_X264=OFF  -DENABLE_H264=ON    -DENABLE_H265=ON    -DENABLE_AAC=ON   -DENABLE_G711=ON    -DCMAKE_BUILD_TYPE=Release  

关键编译选项说明

选项 说明
ENABLE_RTSP=ON 必须开启,启用 RTSP 协议支持
ENABLE_H264=ON 启用 H.264 编解码支持
ENABLE_H265=ON 启用 H.265 编解码支持
ENABLE_AAC=ON 启用 AAC 音频编解码支持
ENABLE_G711=ON 启用 G.711 音频编解码支持
ENABLE_RTMP=OFF 禁用 RTMP 协议
ENABLE_HLS=OFF 禁用 HLS 流媒体支持
ENABLE_HTTP=OFF 禁用 HTTP 相关功能(API/WebSocket)
ENABLE_FFMPEG=OFF 禁用 FFmpeg 依赖(若无需转码/解复用)
posted @   荣--  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示