嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法
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)
pnpm i
应用场景
-
教育直播: 可以用于在线教育、远程授课等场景,实现师生互动和实时教学。
-
游戏直播: 可以用于游戏直播、电竞比赛等场景,实现游戏画面和声音的实时传输。
-
电商直播: 可以用于电商直播、直播带货等场景,实现商品展示和交易。
-
企业直播: 可以用于企业培训、会议直播等场景,实现远程协作和沟通。
同类项目
-
OBS: 开源的视频直播和屏幕录制软件,功能强大,但需要一定的技术门槛。
-
XSplit: 商业化的视频直播和屏幕录制软件,功能丰富,但需要付费使用。
-
Bilibili 直播: Bilibili 官方提供的直播平台,功能完善,但需要满足一定的条件才能开通直播权限。
预览
- 电脑端 (Web)
-
首页:展示热门直播和推荐直播。
-
直播间:观看直播,发送弹幕,赠送礼物。
-
发起直播:选择直播主题,设置直播参数,开始直播。
-
排行榜:查看主播排行榜和观众排行榜。
-
- 移动端 (Web)
-
首页:展示热门直播和推荐直播。
-
直播间:观看直播,发送弹幕,赠送礼物。
-
- 安卓端 (Flutter)
-
直播间详情、分区详情
-
直播中心:查看个人信息,管理直播房间。
-
总结
Billd-Live 是一个功能强大、易于使用的直播解决方案,适用于各种直播场景。它具有原生 WebRTC 推拉流、多种推拉流方式、互动功能、多平台转推、前端混流、鉴权功能等特点,并支持移动端 App、客户端 App 和私有化部署。
项目地址
https://github.com/galaxy-s10/billd-live