How galaxy-s10/billd-live works
Billd-Live is a Vue 3 browser livestream frontend. The main workflow is a host publishing camera/screen media, joining a room through Socket.IO signaling, and establishing WebRTC peer connections; viewers join the room and receive those streams. The README also documents SRS/MSR and third-party ingest/pull, PK rooms, multistreaming, and commerce/account capabilities, but their implementation is not shown in the sampled files. Those branches are represented conservatively; unsampled feature wiring is not inferred.
Main entry points: index.ts Route Dispatcher · webSocket.ts Room Signaling · webRtc.ts WebRTC Peer · index.vue Live Room Viewer
Components 23
Web Application
- Vue App Entry
src/main.ts - Route Dispatcher
src/router/index.ts - Home Page
src/views/home/index.vue - Shared Layout
src/layout/index.vue - App State
src/store/app/index.ts - User State
src/store/user/index.ts
Live Room
- Live Publisher
src/views/push/index.vue - Live Room Viewer
src/views/pull/index.vue - SRS Demo
src/views/srs-demo1/index.vue - Stream Test Page
src/views/test1/index.vue - SRS Media SDK
src/assets/js/srs.sdk.js - SRS Player
src/assets/js/srs.player.js - SRS Publisher
src/assets/js/srs.publisher.js
Realtime Transport
- WebRTC Peer
src/network/webRtc.ts - Room Signaling
src/network/webSocket.ts - Connection State
src/store/network/index.ts
Product Features
- Bilibili Push
src/views/bilibiliPush/index.vue - Other Listed Capabilities
src
Other components
- Viewer
- Host
- Live Backend
- SRS Media Server
- External Platforms
Connections 36
- Host → Vue App Entry: opens app
README.md - Viewer → Vue App Entry: opens app
README.md - Vue App Entry → Route Dispatcher: installs router
src/main.ts - Vue App Entry → Shared Layout: mounts app
- Route Dispatcher → Shared Layout: routes through
src/router/index.ts - Route Dispatcher → Home Page: routes to
src/router/index.ts - Route Dispatcher → Live Publisher: routes to
src/router/index.ts - Route Dispatcher → Live Room Viewer: routes to
src/router/index.ts - Route Dispatcher → Bilibili Push: routes to
src/router/index.ts - Route Dispatcher → SRS Demo: routes to
src/router/index.ts - Route Dispatcher → Stream Test Page: routes to
src/router/index.ts - Host → Live Publisher: publishes media
README.md - Viewer → Live Room Viewer: joins room
README.md - Live Publisher → Room Signaling: sends signaling
src/views/push/index.vue - Live Room Viewer → Room Signaling: sends signaling
src/views/pull/index.vue - Live Publisher → WebRTC Peer: creates peer
src/views/push/index.vue - Live Room Viewer → WebRTC Peer: creates peer
src/views/pull/index.vue - WebRTC Peer → Room Signaling: sends candidates
src/network/webRtc.ts - Room Signaling → Connection State: updates map
src/network/webSocket.ts - WebRTC Peer → Connection State: updates map
src/network/webRtc.ts - Room Signaling → Live Backend: exchanges room events
- SRS Demo → Room Signaling: signals room
src/views/srs-demo1/index.vue - SRS Demo → WebRTC Peer: creates peers
src/views/srs-demo1/index.vue - SRS Demo → SRS Media SDK: uses SDK
src/views/srs-demo1/index.vue - SRS Media SDK → SRS Player: provides playback
- SRS Media SDK → SRS Publisher: provides publishing
- Bilibili Push → Room Signaling: signals room
src/views/bilibiliPush/index.vue - Bilibili Push → WebRTC Peer: creates peers
src/views/bilibiliPush/index.vue - Stream Test Page → Room Signaling: signals room
src/views/test1/index.vue - Stream Test Page → WebRTC Peer: creates peers
src/views/test1/index.vue - Host → SRS Media Server: publishes via SRS
README.md - Viewer → SRS Media Server: pulls streams
README.md - External Platforms → Bilibili Push: receives relay
README.md - Host → Other Listed Capabilities: uses listed services
README.md - Other Listed Capabilities → Live Backend: depends on backend
README.md - Live Room Viewer → App State: reads app state
src/views/pull/index.vue