Skip to content

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

Illustration of the default layout, not a screenshot.

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.2
import '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),
);

Compare the kits and the media client

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.

See full pricingHow billing works

Related products

Start your first live room