Self-hosted setup
Set up your media server.
This guide configures a local MediaMTX server to receive, store, and play recordings for BBBB's free Self-hosted plan. It does not support resharing recorded feeds.
1. Configure MediaMTX
Install MediaMTX using the official guide, create a configuration file, and replace its contents with the following. Make sure /recordings exists and MediaMTX can write to it.
logLevel: info
logDestinations: [stdout]
# This guide intentionally uses no authentication. Keep this server local.
authMethod: internal
authInternalUsers:
# Use the separate credentials minted by the BBBB Media Server app.
- user: bbbb-extension-publish
pass: <extension-password>
ips: []
permissions:
- action: publish
path: bb/cam-multi
- user: bbbb-web-read
pass: <web-password>
ips: []
permissions:
- action: read
path: bb/cam-multi
- action: playback
path: bb/cam-multi
api: false
playback: true
playbackAddress: :9996
rtsp: false
rtmp: false
srt: false
moq: false
hls: false
webrtc: true
webrtcAddress: :8889
webrtcLocalUDPAddress: :8189
pathDefaults:
source: publisher
overridePublisher: true
record: true
recordPath: /recordings/%path/%Y-%m-%d_%H-%M-%S-%f
recordFormat: fmp4
recordPartDuration: 1s
recordSegmentDuration: 1h
recordDeleteAfter: 0s
paths:
"bb/cam-multi": {}Start or restart MediaMTX with this file. It accepts the recorder over WHIP on port 8889, serves the live WebRTC view on that port, and serves recorded playback on port 9996.
2. Enter BBBB settings
Open BBBB Settings and choose Self-hosted. When BBBB and MediaMTX are on the same machine, use http://127.0.0.1:8889 for Live media address and http://127.0.0.1:9996 for Recorded media address. Enter the Web app read authorization header minted by the BBBB Media Server app in both authorization fields. This configuration uses the path bb/cam-multi.
Keep clocks synchronized
BBBB uses the MediaMTX computer's clock to line up recordings with transcripts. Turn on automatic date and time synchronization for that computer.