Live Streaming
Add a video live room to your Flutter app
One widget gives you a host camera, co-publishers, chat, moderators and PK battles. Anyone can watch, with no participant cap on the room.
voxera_live_room_kitAndroid, iOS
What you get
Host and guests
The host's camera fills the screen, with up to three co-publishers on floating tiles above it.
Stage flow
Viewers raise a hand, and the host adds them to the stage. The host can turn off a guest's microphone or camera, or remove them.
PK battles
Two hosts on a split screen with a score bar. Voxera runs the clock and the score, and your backend posts the gift points.
Moderators
The owner can assign moderators before they join. Moderators manage the room and never appear on camera.
Video quality
Publish from 360p to 1080p, and set a maximum quality for each project in the console.
Chat, gifts and likes
Chat works with no code. Send gifts as app messages, and the engine can batch them so busy rooms stay readable.
Room music
Play a song from the host's phone to the room, on its own track or mixed with the microphone.
Roles the server enforces
Only the verified room owner joins as host. A client can't give itself the right to publish or moderate.
What it's for
Creator live streams
One host on camera, with chat and gifts from viewers.
PK and competitive shows
Two hosts compete for gift points in a timed battle.
Interviews with guests
A host brings viewers or guests on stage to talk on camera.
Two ways to build
Both use the same engine and the same rates.
One widget gives you the whole room. The kit gets its own tokens using your App Key, so you don't need a backend.
dependencies:
voxera_live_room_kit: ^2.1.2import 'package:voxera_live_room_kit/voxera_live_room_kit.dart';
VoxeraLiveRoom(
appId: '<voxera-app-id>',
appKey: '<voxera-app-key>', // publishable, no token server needed
userId: 'user123',
userName: 'Jane',
roomId: 'room456',
roomOwnerId: 'owner789', // only the owner joins as the publishing host
config: const VoxeraLiveRoomConfig(maxGuestTiles: 3),
);Platforms
- Android
- iOS
Start here
Pricing
Video is billed per viewer, on the quality that viewer actually receives. If a viewer drops to SD on a weak connection, that time is billed as SD. You can set a maximum quality for each project.