嗨,大家好,我是小华同学,关注我们获得"最新、最全、最优质"开源项目和高效工作学习方法
Billd-Live 是一个基于 Vue3 + WebRTC + Node + SRS + FFmpeg 搭建的直播间项目,实现了类似 bilibili 的 Web 在线直播功能。你可以作为房主发布直播,也可以作为观众进入别人的直播间观看直播内容。
特色功能
Billd-Live 拥有丰富的功能,包括但不限于:
- 原生 webrtc 推拉流
- srs webrtc 推流,支持
http-flv
、hls
、webrtc
、rtmp
拉流 - msr 推流,ffmpeg 转码,支持
http-flv
、hls
、webrtc
、rtmp
拉流 - 一对一打 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-server
线上地址 - 直播间后台 :billd-live-admin
线上地址 - 直播间移动端 :billd-live-flutter
下载地址
本地启动
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