OBS + Kasamila + Streamlabs: one embeddable avatar host for livestreaming
Transparent Browser Sources, audio input, queues, interruption, scene layouts and explicit session termination share one host component.
Transparent Browser Sources, audio input, queues, interruption, scene layouts and explicit session termination share one host component.
Implementation
- Start the shared relay with one voice agent or the authenticated PCM bridge. Set KASAMILA_OUTPUT_MODE=transparent and provide the packed-matte HLS descriptor of a transparent-capable template. CSS opacity cannot remove an ordinary video background.
- Open /public/studio.html in a normal browser, create a room and copy its temporary display URL. Add an OBS Browser Source, or the same URL to Streamlabs Desktop Browser Source. They are alternative hosts, not a requirement to run both applications.
- Use source Interact to click Enable audio before Start in studio. Capture microphone input in studio; only agent replies drive the avatar. Route browser audio through OBS and avoid also capturing the same desktop audio.
- Complete files use FIFO order: four items, <=3 MiB and <=30 seconds each. Interrupt discards stale playback. Entertainment, chat, commerce and game are layouts of one host. Optional server-side OBS WebSocket v5 switches the real Program Scene; this does not imply a matching Streamlabs Desktop RPC.
- Optional Streamlabs Socket API events become operator-reviewed summaries, never automatic donor-message prompts or speech. Hiding, deactivating, disconnecting or End releases the session; showing the source does not automatically restart billing. Check the end acknowledgement; machine failure still relies on lease expiry.
cd examples/realtime-integrations
npm ci
cp .env.example .env
# Backend-only configuration: see linked guide
npm start
Boundaries and acceptance
This is one embeddable host, not four finished business products. A public gateway needs login, origin checks, quotas, moderation and HTTPS/WSS. Verify transparency, queues, transitions and explicit termination in your actual broadcast setup.
Code and protocols
Markdown / AI reading
zh | en | fr | de | ru | es | it | ar | ja | ko | th | ms | vi | hi | id