Billd-Live:竟然bilibili也开源了吗?完美的在线视频解决方案,需要的同学还不抓紧入手,知识点特别多~~~

嗨,大家好,我是小华同学,关注我们获得"最新、最全、最优质"开源项目和高效工作学习方法

Billd-Live 是一个基于 Vue3 + WebRTC + Node + SRS + FFmpeg 搭建的直播间项目,实现了类似 bilibili 的 Web 在线直播功能。你可以作为房主发布直播,也可以作为观众进入别人的直播间观看直播内容。

特色功能

Billd-Live 拥有丰富的功能,包括但不限于:

  • 原生 webrtc 推拉流
  • srs webrtc 推流,支持 http-flvhlswebrtcrtmp拉流
  • msr 推流,ffmpeg 转码,支持 http-flvhlswebrtcrtmp拉流
  • 一对一打 PK
  • 一对多打 PK
  • 多对多打 PK
  • 多平台转推(b 站、虎牙直播)
  • 前端混流
  • 推流鉴权
  • 拉流鉴权
  • OBS、FFmpeg推流
  • 用户模块(qq 登录)
  • 支付模块(支付宝当面付)
  • 订单模块
  • 商品模块
  • 礼物模块
  • 直播后台
  • 响应式页面
  • 适配多语言(i18n)
  • 移动端App(Flutter)
  • 客户端App(Electron)
  • 接入bilibili直播
  • 接入腾讯云(云直播)
  • 接入腾讯云(实时音视频 TRTC)
  • 私有化部署

技术栈

Billd-Live 使用了以下技术栈:

  • 前端相关:Vue3 以及相关技术栈、Typescript、WebRTC、WebCodecs、Web Workder、Web Audio、Canvas
  • 后端相关:Nodejs 以及相关技术栈、Koa2、Sequelize、Mysql、Redis、Socket.io
  • 流媒体服务器相关:SRS、 FFmpeg、Coturn
  • Docker 相关:Docker

生态

以下是 Billd-Live 项目的相关组件:

本地启动

Billd-Live 提供了详细的本地启动指南,包括安装依赖、更新依赖、运行和打包步骤。

billd-live

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

应用场景

  • 教育直播: 可以用于在线教育、远程授课等场景,实现师生互动和实时教学。
  • 游戏直播: 可以用于游戏直播、电竞比赛等场景,实现游戏画面和声音的实时传输。
  • 电商直播: 可以用于电商直播、直播带货等场景,实现商品展示和交易。
  • 企业直播: 可以用于企业培训、会议直播等场景,实现远程协作和沟通。

同类项目

  • OBS: 开源的视频直播和屏幕录制软件,功能强大,但需要一定的技术门槛。
  • XSplit: 商业化的视频直播和屏幕录制软件,功能丰富,但需要付费使用。
  • Bilibili 直播: Bilibili 官方提供的直播平台,功能完善,但需要满足一定的条件才能开通直播权限。

预览

  • 电脑端 (Web)

    • 首页:展示热门直播和推荐直播。
    • 直播间:观看直播,发送弹幕,赠送礼物。
    • 发起直播:选择直播主题,设置直播参数,开始直播。
    • 排行榜:查看主播排行榜和观众排行榜。
  • 移动端 (Web)

    • 首页:展示热门直播和推荐直播。
    • 直播间:观看直播,发送弹幕,赠送礼物。
  • 安卓端 (Flutter)

    • 直播间详情、分区详情
    • 直播中心:查看个人信息,管理直播房间。

总结

Billd-Live 是一个功能强大、易于使用的直播解决方案,适用于各种直播场景。它具有原生 WebRTC 推拉流、多种推拉流方式、互动功能、多平台转推、前端混流、鉴权功能等特点,并支持移动端 App、客户端 App 和私有化部署。

项目地址

bash 复制代码
https://github.com/galaxy-s10/billd-live
相关推荐
一壶纱几秒前
Element Plus 主题构建方案
前端·vue.js
浩星4 分钟前
「React + Cesium 最佳实践」完整工程化方案
前端·vue.js·react.js
1314lay_100712 分钟前
el-table表格数据分页切片,导致表格的多选失效
javascript·vue.js·elementui
qq_120840937117 分钟前
Three.js 模型加载稳定性实战:从资源失败到可用发布的工程化方案
前端·javascript·vue.js·vue3·three.js
Hical_W23 分钟前
深入学习CPP20_协程
学习·github
guhy fighting31 分钟前
使用vue-virtual-scroller导致打包报错
前端·javascript·vue.js·webpack
落魄江湖行1 小时前
进阶篇二 Nuxt4 渲染模式:SSR/SSG/CSR 怎么选
前端·vue.js·typescript·nuxt4
Ruihong1 小时前
你的 Vue 3 TS 类型声明,VuReact 会处理成什么样的 React?
vue.js·react.js·面试
踩着两条虫1 小时前
VTJ核心引擎开源项目概览
前端·vue.js·低代码
1314lay_10072 小时前
Vue+C#根据配置文件实现动态构建查询条件和动态表格
javascript·vue.js·elementui·c#