EasyRTMPLive是基于EasyGBS平台开发的一套RTMP直播推送插件,内部集成了包括:基本RTMP协议、断线重连、异步推送、环形缓冲区、推送网络拥塞自动丢帧、缓冲区关键帧检索、事件回调(断线、音视频数据回调),通过EasyRTMPLive我们就可以避免接触到稍显复杂的RTMP推送或者客户端流程,只需要绑定EasyGBS通道,就能轻松、稳定地进行流媒体音视频数据的推送,支持市面上绝大部分的RTMP流媒体服务器,支持:Windows、Linux、ARM系统部署;
-
Golang 版本 >= 1.23.0
-
新开一个终端访问
curl http://localhost:8080/health -
修改模块包名
make rename name=github.com/name/project将 name 替换成实际的模块名
1.获取依赖
go mod tidy2.服务端编译
make pack/windows 编译windows插件包
make pack/linux 编译linux插件包
make pack/linux/arm64 编译arm插件包编译成功后文件存在 build 目录下
- 进入web_src 目录获取依赖
npm i- 编译前端文件
npm rn build编译后的静态文件,对应的服务端静态文件目录 /internal/web/api/static/www 下
.
├── main.go 主函数入口
├── configs 配置文件
├── domain 提供一些通用模型
│ ├── token token 过期与延迟,权限管理
│ ├── version 数据库版本控制,避免每次启动执行 gorm 迁移
│ └── uniqueid 全局唯一 id 生成器
├── internal 私有业务
│ ├── app 更多可执行程序
│ ├── conf 配置模型
│ ├── core 业务领域
│ ├── data 数据库初始化
│ └── web
│ └── api RESTful API
├── web_src 前端文件
└── pkg 依赖库- gin
- gorm
- slog / zap
EasyGBS官网:www.easygbs.com