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.

Set up your recorder.

Your media server is ready to receive a stream. Select Self Hosted in the BBBB Google Chrome extension and paste the Extension publish authorization header minted by the Media Server app.