Giter VIP home page Giter VIP logo

billd-live's Introduction

Billd-Live logo

Billd-Live

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

简介

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

生态

名称 仓库 star & fork 线上地址
直播间前台 billd-live github github https://live.hsslive.cn
直播间后端 billd-live-server github github https://live-api.hsslive.cn
直播间后台 billd-live-admin github github https://live-admin.hsslive.cn
远程桌面 billd-desk github github https://live.hsslive.cn/remoteDeskTop
直播间移动端 billd-live-flutter github github https://live.hsslive.cn/download
直播间移动端 billd-live-react-native github github https://live.hsslive.cn/download
直播间客户端 billd-live-electron github github https://live.hsslive.cn/download
直播间移动端 billd-live-kotlin github github https://live.hsslive.cn/download

功能

  • 原生 webrtc 推拉流
  • srs webrtc 推流,http-flvhls拉流
  • msr 推流,ffmpeg转码,http-flvhls拉流
  • 一对一打PK
  • 一对多打PK
  • 多对多打PK
  • 前端混流
  • 推流鉴权
  • 拉流鉴权
  • OBSFFmpeg推流
  • 用户模块(qq 登录)
  • 支付模块(支付宝当面付)
  • 订单模块
  • 商品模块
  • 适配移动端
  • 在线后台
  • 多平台转推(b站、虎牙直播)
  • 接入腾讯云-云直播
  • 接入腾讯云-实时音视频TRTC

技术栈

  • 前端相关:Vue3 以及相关技术栈、TypescriptWebRTCWebCodecsWeb AudioWeb WorkderCanvas
  • 后端相关:Nodejs 以及相关技术栈、Koa2SequelizeMysqlRedisSocket.io
  • 流媒体服务器相关:SRSFFmpegCoturn
  • Docker 相关:Docker

接口文档

apifox:https://apifox.com/apidoc/shared-c7556b54-17b2-494e-a039-572d83f103ed

下载

https://live.hsslive.cn/download

预览

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

电脑端(web)

  • 首页

  • 进入直播间

  • 发起直播

  • 排行榜

移动端(web)

  • 首页

  • 进入直播间

安卓端(flutter)

  • 直播间详情、分区详情

  • 直播中心

本地启动

b站教程:从零搭建迷你版b站web直播间合集,看里面带 从零搭建迷你b站直播间 封面的视频。

billd-live付费课:https://www.hsslive.cn/article/151

billd-live

  • 安装依赖(建议使用 node 版本:v18.19.0)
pnpm i

更新 billd 相关依赖:

pnpm i billd-utils@latest billd-scss@latest billd-deploy@latest billd-html-webpack-plugin@latest
  • 运行
npm run start
  • 打包
npm run build

billd-live-server

  • 安装依赖(建议使用 node 版本:v18.19.0)
pnpm i

更新 billd 相关依赖:

pnpm i billd-utils@latest billd-scss@latest billd-html-webpack-plugin@latest

本地必须要有 docker、ffmpeg 环境!

项目启动后,会在项目的 src/secret/目录下生成 secret.ts 文件,请填写里面的信息,MYSQL_CONFIG、REDIS_CONFIG、SRS_CONFIG 必填!

# 1.初始化docker容器
pnpm run docker:dev

# 2.运行(4300端口)
pnpm run dev

兼容性

  • iphone 14
  • 三星 s10
  • ipad air 3

常见问题

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

环境配置

本地开发环境

配置:MacBook Pro 2023 Apple M3 Max,14 核 CPU,36G 内存

  • 操作系统:mac os 14.1
  • node 版本:v18.19.0
  • pnpm 版本:8.6.3
  • docker 版本:24.0.5, build ced0996
  • mysql 版本:基于 docker,镜像:mysql:8.0
  • redis 版本:基于 docker,镜像:redis:7.0
  • srs 版本:基于 docker,镜像:registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5.0.170
  • 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
  • mysql 版本:基于 docker,镜像:mysql:8.0
  • redis 版本:基于 docker,镜像:redis:7.0

流媒体服务器环境

配置:2 核 CPU,2G 内存,带宽 30M(香港),2G内存也能跑,但偶尔会占满内存导致服务器卡死。

配置:2 核 CPU,4G 内存,带宽 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.0.170
  • ffmpeg 版本:6.0

致敬开源

billd-live自2023年3月开源以来,仅有作者(也就是我)一个人维护,深知做开源的难处。

如果你做过开源项目,并且单个仓库拿到 128+star,我个人认为这是非常不容易的,因为这代表了你的开源被很多人关注或认同,如果此时你正在了解直播相关方面的内容,我录制的 billd-live付费课 或许会对你有一定帮助,它将对你进行免费,作为我认同你在开源方面做的贡献,以及我对你力所能及的回馈,希望你能不忘初心,砥砺前行~

billd-live's People

Contributors

galaxy-s10 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

billd-live's Issues

src\network\websocket.ts 文件应该大写成这样:src\network\webSocket.ts

不然运行报错:

App running at:
- Local:   http://localhost:8000/
- Network: http://192.168.31.87:8000/

ERROR in ./src/store/network/index.ts:4:32
TS1261: Already included file name 'E:/test/billd-live/src/network/webSocket.ts' differs from file name 'E:/test/billd-live/src/network/websocket.ts' only in casing.
  The file is in the program because:
    Imported via '@/network/webSocket' from file 'E:/test/billd-live/src/store/network/index.ts'
    Imported via './webSocket' from file 'E:/test/billd-live/src/network/webRtc.ts'
    Root file specified for compilation
    2 |
    3 | import { WebRTCClass } from '@/network/webRtc';
  > 4 | import { WebSocketClass } from '@/network/webSocket';
      |                                ^^^^^^^^^^^^^^^^^^^^^
    5 |
    6 | type NetworkRootState = {
    7 |   wsMap: Map<string, WebSocketClass>;

billd-live配套付费课程

如果你希望搭建一个类似billd-live的直播间,而你的技术水平又不够的,欢迎考虑我的付费课程:https://www.hsslive.cn/article/151

付费课程目录:

  • 项目功能介绍(已更新)
  • 本地运行项目(已更新)
  • 初探 SRS 流媒体服务器、FFmpeg(已更新)
  • 浏览器推流到 SRS 流媒体服务器(已更新)
  • SRS 流媒体服务器 flv 分发(已更新)
  • flv.js 播放 flv 直播流(已更新)
  • SRS 流媒体服务器 hls 分发(已更新)
  • video.js 播放 hls 直播流(已更新)
  • OBS 推流到 SRS 流媒体服务器(已更新)
  • FFmpeg 推流到 SRS 流媒体服务器(已更新)
  • SRS 流媒体服务器推流鉴权(已更新)
  • SRS 流媒体服务器拉流鉴权(已更新)
  • 推流卡顿相关问题(已更新)
  • safari 播放 hls 相关问题(已更新)
  • 初探 WebRTC、coturn(已更新)
  • 原生 WebRTC 一对一直播(已更新)
  • 原生 WebRTC 一对多直播(已更新)
  • 原生 WebRTC 多对多直播(已更新)
  • canvas 替代 video(已更新)
  • 推流的码率/帧率/分辨率控制(已更新)
  • 前端混流,添加多个媒体源
  • 初探 b 站 web 直播实现(已更新)
  • 使用 canvas 处理视频流混流(已更新)
  • 使用 Web Audio 处理音频流混流(已更新)
  • 使用 Web Worker 优化推流(已更新)
  • 了解 msr 实现推流(已更新)
  • 接入腾讯云直播

黑名单

仅记录部分印象深刻的人和事,以此为鉴~

当故事看就行~

微信:ayu****19

收录时间:2024年06月19日



微信:IDz***ka

收录时间:2024年06月19日


微信:wxid_4t***22

收录时间:2024年06月19日


微信:qz5***32

收录时间:2024年06月19日

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.