useLiveStreaming mirrors useRecording: reactive state plus start, stop, and update helpers.
Start and stop a stream
startLiveStreaming takes RTMP endpoint options and an optional layout; stopLiveStreaming ends it. isLiveStreaming reflects whether any stream is active:
startLiveStreaming() method. To change the layout or endpoints while live, call updateLiveStreaming.
Gate on permission
Like recording, starting and stopping streams requires owner status orcanAdmin: 'streaming'. Gate the controls with usePermissions:
React to stream events and errors
Live streaming has more failure modes than recording (the remote RTMP endpoint can reject or drop the connection), so handle the error and warning callbacks:Multiple concurrent streams
To run several streams at once (for example, different layouts for mobile and desktop), pass aninstanceId (a valid UUID) to scope the hook. Without it, the hook returns aggregate state across all instances:
useLiveStreamingInstances lists every active stream. See the multi-instance guide for details.
Next steps
Recording
The same pattern, for recordings.
Live streaming guide
Layouts and RTMP configuration in depth.