寒冰直播是一款基于OSSRS流服务器的直播平台。
在此基础上开发了授权鉴权、直播间管理、直播管理等相关功能。项目整体采用微服务 和 前端后分离架构,为了方便操作将多个微服务放在了一个git项目下面,除此之外还包括两个前端项目分别是:
ashe-live(寒冰直播客户端前端项目)
ashe-live-ui(寒冰直播后台管理前端项目)
体验地址:
- 寒冰直播:https://ashelive.oneplustow.cn --测试直播间:123 | 测试账号/密码:test/test
- 寒冰直播后台:https://ashelive.oneplustow.cn/ashe-live-ui -- 待开放
- APM-skywalking:http://monitor.oneplustow.cn:9999
- grafana:http://monitor.oneplustow.cn:3000 -- 用户名/密码:test/test
寒冰直播将整体划分为七个模块中心,现阶段各模块中心规划图和进度如下
- 系统中心:基本完成。功能持续扩展中(基于RuoYi二次开发)
- 认证中心:基本完成。功能持续扩展中
- 用户中心:可运行,整体功能还需完善和开发
- 直播中心:可运行,整体功能还需完善和开发
- 消息中心:规划中
- 监控中心:等待规划
- 扩展中心:规划中
后端技术栈:
- 系统中心使用 RuoYi 为基础进行二次开发
- 使用目前流行的多种web技术,包括springboot springmvc、mybatis。
- Spring cloud Alibaba套件[Gateway,Nacos,Sentinel,OpenFegin、Ribbon]
- 其他工具包括 Mybatis-Plus Hutool easypoi mapstruct swagger3
ashe-live-ms
├─ashe-live-business //业务中心
│ ├─auth-center //认证中心
│ ├─live-center //直播中心
│ ├─message-center //消息中心
│ ├─system-center //系统中心
│ └─user-center //用户中心
├─ashe-live-common //公共模块
│ ├─auth-center-api //认证中心Fegin API
│ ├─common-code //公共code
│ ├─common-web //web公共代码
│ ├─system-center-api //系统中心Fegin API
│ └─user-center-api //用户中心Fegin API
├─ashe-live-config //配置模块
│ ├─db-config //数据库配置模块
│ ├─log-config //日志配置模块
│ └─redis-config //redis配置模块
├─ashe-live-gateway //网关中心
├─deploy //部署脚本
└─sql //SQl脚本src
├─main
│ ├─java
│ │ └─cn
│ │ └─oneplustow
│ │ └─xx
│ │ ├─aspectj //AOP切面代码
│ │ ├─config //配置代码
│ │ ├─controller //前端接口代码
│ │ ├─entity //数据库实体对象
│ │ │ ├─criteria //接口封装查询对象
│ │ │ ├─dto //接口封装保存对象
│ │ │ └─vo //接口返回对象
│ │ ├─exception //各模块的异常类
│ │ ├─mapper //Mybatis Mapper接口
│ │ │ └─xml //Mbatis Mapper.xml 文件
│ │ ├─open //开放接口 提供给各模块之间 Feign调用
│ │ ├─service //服务接口类
│ │ │ └─impl //服务实现类
│ │ └─util //工具类
│ └─resources
│ ├─i18n //国际化消息观看直播:
- 进入到寒冰直播页面
- 点击观看直播
- 输入直播间房间号即可观看直播(测试房间号:123)
推流直播:
- 推流需要先注册用户
- 点击"我要直播"
- 输入自己的直播间名称点击"开通"
- 开通后"我要直播"会变成“我的直播间”
- 点击“我的直播间”里面的”开始直播“获取推流地址和密码
- 使用推流软件如OBS进行推流即可
- 观看直播参考上面的流程
- 感谢 JetBrains 提供的免费开源 License:
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request










