news 2026/4/25 19:14:52

【音视频】zlmediakit总结二---webrtc编译

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【音视频】zlmediakit总结二---webrtc编译

目录

linux下安装

实操

windows下编译

libsrtp 的编译与install 很重要

visual studio的设置

观察点一: WebApi.cpp

​编辑观察点二: CMakeCache.txt

观察点三: CMakeLists.txt

实操

在家中笔记本中

参考资料。


linux下安装

参考参考资料 ,主要是依赖下载

实操

有图有声音!

/opt/ZLMediaKit/release/linux/Debug

它这里srtp2是好的!

windows下编译

主要是srtp的编译与安装。参考参考资料。主要是编译后的include/srtp2/*.h 及.dll,.lib文件。其中.dll 放到mediaserver.exe的同级目录 ,不然即使编译出来mediaserver,它运行的时候,找不到这个dll 也会报错的。

libsrtp 的编译与install 很重要

-DBUILD_SHARED_LIBS=on

与参考资料不一样的是,这个是vs2022更加的智能了,只需要工程引用,在这里处理就好。

git submodule update --init (需要更新代码的子模块!)

visual studio的设置

在进行删除缓存 并重新配置后,就可以看到基于srtp这块的变量ENABLE_WEBRTC为trure,

而在IDE这块的代码段也变高亮了,如下(之前是灰的)

观察点一: WebApi.cpp

观察点二: CMakeCache.txt

同时还可以观察CMakeCache.txt,文件里面,关于这个值 的变化

观察点三: CMakeLists.txt

实操

在家中笔记本中

不能编译webrtc,经过显式增加配置后,终于好了20250719 22:27

{ "configurations": [ { "name": "x64-Debug", "generator": "Ninja", "configurationType": "Debug", "inheritEnvironments": [ "msvc_x64_x64" ], "buildRoot": "${projectDir}\\out\\build\\${name}", "installRoot": "${projectDir}\\out\\install\\${name}", "cmakeCommandArgs": "", "buildCommandArgs": "", "ctestCommandArgs": "", "variables": [ { "name": "ENABLE_OPENSSL", "value": "True", "type": "BOOL" }, { "name": "OPENSSL_INCLUDE_DIR", "value": "D:/Program Files/OpenSSL-Win64/include", "type": "PATH" }, { "name": "OPENSSL_ROOT_DIR", "value": "D:/Program Files/OpenSSL-Win64" }, { "name": "OPENSSL_INCLUDE_DIR", "value": "D:/Program Files/OpenSSL-Win64/include" }, { "name": "OPENSSL_CRYPTO_LIBRARY", "value": "D:/Program Files/OpenSSL-Win64/lib/VC/x64/MD/libcrypto.lib" }, { "name": "OPENSSL_SSL_LIBRARY", "value": "D:/Program Files/OpenSSL-Win64/lib/VC/x64/MD/libssl.lib" }, { "name": "SRTP_INCLUDE_DIRS", "value": "E:\\dualven\\java\\libsrtp\\out\\install\\x64-Debug\\include" }, { "name": "SRTP_LIBRARIES", "value": "E:\\dualven\\java\\libsrtp\\out\\install\\x64-Debug\\lib\\srtp2.lib" } ] } ] }

参考资料。

根据zlmediakit wiki上的说明,ubuntu参考:

ZLMediaKit webRTC编译与测试_domexception: requested device not found-CSDN博客

我的ubuntu下的编译

https://blog.csdn.net/dualvencsdn/article/details/160449113

我的与docker的关系

关于ZLMediaKit环境的研究-编译环境与docker环境_docker zlmediakit webrtc-CSDN博客

(135条消息) windows下ZLMediaKit编译webrtc部分_whjy_lsq的博客-CSDN博客

zlm启用webrtc编译指南 · ZLMediaKit/ZLMediaKit Wiki (github.com)

WebRTC实时音视频资料 - 淘帖 - 即时通讯开发者社区!

http://www.52im.net/thread-3079-1-1.html

windows C++环境安装_windows 上安装 c++环境-CSDN博客

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 19:14:19

Tftpd64终极配置指南:从零开始构建企业级TFTP服务器

Tftpd64终极配置指南:从零开始构建企业级TFTP服务器 【免费下载链接】tftpd64 The working repository of the famous TFTP server. 项目地址: https://gitcode.com/gh_mirrors/tf/tftpd64 Tftpd64是一款免费开源的轻量级多线程网络服务器套件,集…

作者头像 李华
网站建设 2026/4/25 19:14:02

Unity UI笔记

查看不同分辨率 要么选不同Aspect,要么选Free aspect拖Game窗口,选一个非Free的Aspect拖窗口没有用。 UGUI Canvas Canvas没有适配屏幕时检查什么: 1.画布Render Mode和Render Camera; 2.画布子物体的Scale是不是1&#xff1b…

作者头像 李华
网站建设 2026/4/25 19:13:26

别再只会重启了!深入Node.js缓存机制,从根源搞定npm EPERM错误

深入Node.js缓存机制:从根源解决npm EPERM错误的终极指南 当你在持续集成环境中频繁看到EPERM: operation not permitted的红色报错,或是多项目并行开发时npm命令突然卡死,这绝非简单的权限问题。Node.js的缓存系统像一台精密的瑞士钟表&…

作者头像 李华
网站建设 2026/4/25 19:13:23

VSCode玩转嵌入式:手把手教你用EIDE插件给STM32项目开启动态调试

VSCode玩转嵌入式:手把手教你用EIDE插件给STM32项目开启动态调试 在嵌入式开发的世界里,调试环节往往是最令人头疼却又至关重要的部分。想象一下,当你的代码在硬件上运行时,能够像在PC上开发一样逐行执行、查看变量、设置断点&…

作者头像 李华
网站建设 2026/4/25 19:12:11

Anki插件推荐

Review HeatmapColorful TagsHighlight Color ShortcutBold Color ShortcutMarkdown input 25Syntax Highlighter - Quick highlight Code for EditorMath Delimiters Replacer LaTex MathJax

作者头像 李华
网站建设 2026/4/25 19:11:21

Day02-03.张量的基本运算

1、加减乘除取负号:(1)add、sub、mul、div、neg(2)add_、sub_、mul_、div_、neg_(其中带下划线的版本会修改原数据)""" 案例:演示张量的基本运算.涉及到的API:add(), sub(), mul…

作者头像 李华