Table of Contents
一、摘要
在8月10号,我们在github收到了一个来自 @baigao-X 同学的重磅pr(pull request, 拉取合并请求)。简而言之,该pr实现了完整的webrtc ice-full功能,也就是说,zlmediakit在该分支可以实现完整的webrtc功能,不仅仅包括之前基于ice-lite实现的webrtc服务端,还能作为webrtc客户端在NAT内主动发起webrtc请求。基于该特性,zlmediakit可以作为webrtc播放器主动拉流,也可以作为webrtc推流器主动推流,还可以作为P2P客户端双向视频会话。
二、功能介绍
2.1、作为webrtc播放器
用法请参考 https://github.com/ZLMediaKit/ZLMediaKit/blob/master/player/test_player.cpp
用法请参考 https://github.com/ZLMediaKit/ZLMediaKit/blob/master/api/tests/player_opencv.c
2.2、作为webrtc推流器
用法请参考:https://github.com/ZLMediaKit/ZLMediaKit/blob/master/tests/test_pusherMp4.cpp
用法请参考: https://github.com/ZLMediaKit/ZLMediaKit/blob/master/api/tests/h264_pusher.c
2.3、更多用法介绍
另外还支持p2p相关功能,详情请参考:https://github.com/ZLMediaKit/ZLMediaKit/blob/master/webrtc/USAGE.md
三、快速尝鲜
- 通过docker方式:
#此镜像为github action 持续集成自动编译推送,跟代码(master分支)保持最新状态
docker run -id -p 1935:1935 -p 8080:80 -p 8443:443 -p 8554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp -p 9000:9000/udp zlmediakit/zlmediakit:master
- 通过二进制包: 用户可以在该issue下载zlmediakit最新代码自动发布的二进制包: https://github.com/ZLMediaKit/ZLMediaKit/issues/483
四、友情提示
-
关于稳定性: 在经过一个多月的审核、完善(共计70多个提交)、测试工作后,该pr目前已经合并进master主分支并升级为9.0版本,原稳定主分支存档为8.0分支。目前经过我们的测试,原有功能(作为webrtc服务端)基本可以保障稳定运行,其他非webrtc相关功能改动很小,大家可以放心使用。但是由于webrtc ice相关代码经过重构,变动极大,测试和审核并不能面面俱到,新增的webrtc客户端相关功能,可能还尚待稳定。
-
关于url格式: 目前zlmediakit的webrtc客户端url采用webrtc[s]://前缀私有格式,代码逻辑在发现为该前缀后会根据一定的规则解析并且生成zlmediakit特有的whip、whep url(http[s])。所以目前zlmediakit还不能支持其他服务器的whip、whep url,用户可以通过修改代码 兼容其他第三方webrtc服务器。
-
缺陷 目前webrtc客户端相关功能还不支持webrtc over tcp模式,只支持over udp模式。
五、致谢
在此,对 @baigao-X 同学的卓越贡献表示由衷的感谢!他对zlmediakit以及zltoolkit做出许多重要的贡献,包括zlmediakit中srt模块对客户端的完整支持,以及zltoolkit中kcp协议的支持。同时也非常感谢 @mtdxc 同学大量参与本次代码审核工作以及长期以来对zlmediakit webrtc相关功能以及转码分支的贡献。 另外,还非常感谢其他开发者对zlmediakit的厚爱和支持,以及广大开发者对zlmediakit的信任和意见建议。
测试文档
使用教程
- 代码依赖与版权声明
- 快速开始
- vcpkg安装zlmediakit
- 服务器的启动与关闭
- GB28181教程
- 推流播放测试
- RESTful 接口
- RESTful 接口 postman自动生成
- Web Hook 接口
- Python混合编程
- 配置文件详解
- 播放URL规则
- 按需拉流
- 按需推流
- 播放鉴权
- 推流鉴权
- 怎样创建直播流
- webrtc编译与使用
- webrtc信令交互格式
- webrtc重磅更新
- 怎么开启https相关功能
相关文档和资源
- zlmediakit独家特性
- zlmediakit的hls高性能之旅
- 高并发实现原理
- RTSP推流流程
- 流媒体相关技术介绍
- 直播延时的本质
- rtmp对H265/opus的支持
- ssl自签名证书测试
- 视频会议相关资源