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
相关推荐
用户38022585982423 分钟前
vue3源码解析:响应式机制
前端·vue.js
时间会给答案scidag27 分钟前
报错 400 和405解决方案
vue.js·spring boot
白杨木影子被拉长32 分钟前
多状态映射不同样式(scss语法)
vue.js·uni-app
前端 贾公子37 分钟前
monorepo + Turborepo 缓存
github
长路 ㅤ   1 小时前
前端技术博客汇总文档
javascript·vue.js·css3·html5·前端技术
独立开阀者_FwtCoder1 小时前
放弃 JSON.parse(JSON.stringify()) 吧!试试现代深拷贝!
前端·javascript·github
网硕互联的小客服1 小时前
如何排查服务器中已经存在的后门程序?
运维·服务器·github
Jinxiansen02112 小时前
unplugin-vue-components 最佳实践手册
前端·javascript·vue.js
婉婉耶3 小时前
VUE带你乘风破浪~
前端·vue.js
橘黄的猫3 小时前
深入浅出掌握 Git 子模块:项目管理利器
前端·github