基于Vue3 + WebRTC + Node + SRS搭建的直播间 https://live.hsslive.cn

shuisheng 94cfaa285a docs: doc il y a 2 ans
.husky b520caa724 feat: init il y a 2 ans
.vscode de6251d3fe feat: 优化架构 il y a 2 ans
public 7f31f0376b feat: 优化 il y a 2 ans
script de6251d3fe feat: 优化架构 il y a 2 ans
src 0a6c52d1b6 fix: 优化代码 il y a 2 ans
test b0b7af6c9f fix: text缩放 il y a 2 ans
.browserslistrc b520caa724 feat: init il y a 2 ans
.commitlintrc.js 2b15db5005 feat: 优化 il y a 2 ans
.cz-config.js 13ca214564 feat: 优化 il y a 2 ans
.editorconfig b520caa724 feat: init il y a 2 ans
.eslintignore b520caa724 feat: init il y a 2 ans
.eslintrc.js ce7e922ef0 fix: 完善架构 il y a 2 ans
.gitattributes b520caa724 feat: init il y a 2 ans
.gitignore 2b15db5005 feat: 优化 il y a 2 ans
.lintstagedrc.js b520caa724 feat: init il y a 2 ans
.npmrc b520caa724 feat: init il y a 2 ans
.prettierignore b520caa724 feat: init il y a 2 ans
.prettierrc.js ce7e922ef0 fix: 完善架构 il y a 2 ans
.versionrc.js b520caa724 feat: init il y a 2 ans
LICENSE d0e81504da fix: 精简无用 il y a 2 ans
README.md 94cfaa285a docs: doc il y a 2 ans
Remark.md 4aedae6fe0 feat: 优化 il y a 2 ans
babel.config.js b520caa724 feat: init il y a 2 ans
billd-live.drawio feba58fe1d docs: readme il y a 2 ans
handleGiteeJenkins.js b520caa724 feat: init il y a 2 ans
package.json e63a6b2c1e feat: 阶段保存 il y a 2 ans
pnpm-lock.yaml de6251d3fe feat: 优化架构 il y a 2 ans
postcss.config.js b520caa724 feat: init il y a 2 ans
static-build.sh 874c0789d0 ci: build il y a 2 ans
tsconfig.json d8f6191615 feat: 禁用eslint以优化开发体验 il y a 2 ans
windi.config.ts b520caa724 feat: init il y a 2 ans
付费课简介.md 9d7cf9e407 feat: 优化 il y a 2 ans

README.md

Billd-Live logo

Billd-Live

基于Vue3 + WebRtc + Node + SRS + FFmpeg搭建的直播间

⚡️ 生态系统

名称 仓库 star & fork
直播间前台 billd-live githubgithub
直播间后台 billd-live-admin githubgithub
直播间后端 billd-live-server githubgithub

📢 注意

该项目一开始只是为了记录本人学习直播相关技术的过程,初心也是将它作为开源项目,让想要学习直播技术相关的人能有些借鉴(因为市面上能找到的直播相关资源少之又少),但随着项目不断的完善,我发现虽然项目涉及的技术栈不是很难,但都不是常规的技术栈,而我也因此花费了大量的时间和精力(为什么市面上能找到的直播相关资源很少?突然明白了。)

也因此萌生了将它作为商业项目的想法,而我又不希望因为一些值得付费的功能,就此将仓库设置为私有,所以我决定后续会将一些 基础功能开源,而那些我认为值得 付费的功能不会开源,而是会作为扩展插件或者其他形式添加进项目里。

🙏 寻求贡献

该项目从创建至今,所有东西都是只有我一个人在维护,非常期待有能力的各位参与进来,并且如果该项目有收益的话,会按劳分配给参与贡献的所有人~

🚀 私有化部署

查看详情:https://live.hsslive.cn/privatizationDeployment

简介

billd 直播间,目前实现了类似 bilibili 的 Web 在线直播功能,即你(房主)可以发布直播,别人进入你的直播间后能看到你的直播内容;而你也可以作为观众,进入别人的直播间看别人的直播内容。

功能

基本复刻了 b 站 web 直播间

  • 原生 webrtc 推拉流
  • srs webrtc 推流, webrtchttp-flvhls拉流
  • 前端混流
  • OBS推流
  • 用户模块(qq 登录)
  • 支付模块(支付宝当面付)
  • 订单模块
  • 商品模块
  • 适配移动端
  • 在线后台

设备兼容

  • iphone 14
  • 三星 s10
  • ipad air 3

预览

线上地址:https://live.hsslive.cn

电脑端界面

首页

进入直播间

发起直播

排行榜

移动端界面

首页

分区列表

进入直播间

b 站视频

准备

安装和使用

  • 获取项目代码

    git clone https://github.com/galaxy-s10/billd-live.git
    
  • 安装依赖

建议使用 node 版本:16.16.0

pnpm i

更新 billd 相关依赖:

pnpm i billd-utils@latest billd-scss@latest billd-html-webpack-plugin@latest
  • 运行

    npm run start
    
  • 打包

    npm run build
    

FAQ

https://live.hsslive.cn/about/faq

团队

https://live.hsslive.cn/about/team

赞助

https://live.hsslive.cn/sponsors

微信群

https://live.hsslive.cn/about/group

环境配置

本地开发环境

配置:macbookpro 2020 m1,8 核 CPU,16G 内存

  • 操作系统:mac os 13.3.1
  • node 版本:16.16.0
  • pnpm 版本:8.6.3
  • docker 版本:20.10.24, build 297e128
  • mysql 版本:基于 docker,镜像:mysql:8.0
  • srs 版本:基于 docker,镜像:registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5
  • ffmpeg 版本:5.1.2

构建/托管服务器环境

配置:4 核 CPU,4G 内存,8M 带宽(广州)

  • 操作系统:CentOS Linux release 8.2.2004
  • nginx 版本:1.22.1
  • node 版本:v16.19.1
  • pnpm 版本:8.6.3
  • docker 版本:23.0.1, build a5ee5b1
  • redis 版本:基于 docker,镜像:redis:7.0
  • mysql 版本:基于 docker,镜像:mysql:8.0

流媒体服务器环境

配置:2 核 CPU,2G 内存,带宽 30M(香港)

  • 操作系统:Alibaba Cloud Linux release 3 (Soaring Falcon)
  • node 版本:v16.20.0
  • pnpm 版本:8.6.3
  • pm2 版本:5.3.0
  • docker 版本:24.0.2, build cb74dfc
  • srs 版本:基于 docker,镜像:registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5
  • ffmpeg 版本:6.0