Skip to content

EasyRTMPLive插件支持将各种接入到EasyGBS服务的设备实时流以RTMP协议方式转推到任意第三方平台。

License

Notifications You must be signed in to change notification settings

EasyGBS/Plugin-EasyRTMPLive

Repository files navigation

EasyRTMPLive

EasyRTMPLive是基于EasyGBS平台开发的一套RTMP直播推送插件,内部集成了包括:基本RTMP协议、断线重连、异步推送、环形缓冲区、推送网络拥塞自动丢帧、缓冲区关键帧检索、事件回调(断线、音视频数据回调),通过EasyRTMPLive我们就可以避免接触到稍显复杂的RTMP推送或者客户端流程,只需要绑定EasyGBS通道,就能轻松、稳定地进行流媒体音视频数据的推送,支持市面上绝大部分的RTMP流媒体服务器,支持:Windows、Linux、ARM系统部署;

快速开始

  1. Golang 版本 >= 1.23.0

  2. 新开一个终端访问 curl http://localhost:8080/health

  3. 修改模块包名 make rename name=github.com/name/project 将 name 替换成实际的模块名

项目编译

服务端编译

1.获取依赖

   go mod tidy

2.服务端编译

make pack/windows       编译windows插件包
make pack/linux         编译linux插件包
make pack/linux/arm64   编译arm插件包

编译成功后文件存在 build 目录下

前端编译

  1. 进入web_src 目录获取依赖
   npm i
  1. 编译前端文件
   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

EasyRTMPLive更多技术前景探讨

EasyGBS官网:www.easygbs.com

About

EasyRTMPLive插件支持将各种接入到EasyGBS服务的设备实时流以RTMP协议方式转推到任意第三方平台。

Topics

Resources

License

Stars

Watchers

Forks