Host Live Streaming(Flutter)
The TUILiveKit Host Live Streaming Page provides an full-featured UI for live streaming scenarios. It supports the rapid deployment of core host capabilities, allowing you to efficiently integrate the live streaming workflow without worrying about complex UI and logic implementation.
Feature Overview
Pre-stream Setup: Supports various personalized configurations before the host goes live, including room name, background, video preview, beauty filters (beauty effects) debugging, audio effects debugging, and layout templates.
Co-Host Interaction: Supports real-time interaction (co-hosting) with viewers or other hosts during the live stream.
Audience Interaction: Supports rich interaction forms such as barrage (bullet screen) and gifts.
Live Room Management: Supports displaying the online user list and various management operations within the room, such as muting (banning) and kicking users.
Pre-stream Setup | Co-Host Interaction | Audience Interaction | Live Room Management |
![]() | ![]() | ![]() | ![]() |
Quick Start
Step 1. Activate the Service
Step 2. Code Integration
Step 3. Add the Anchor Live widget
At the entry point where viewers need to join the room (determined by your business logic), perform the following operations to either navigate to the viewer watching page or integrate it into your existing Widget tree:
// navigate to the host webpageNavigator.push(context, MaterialPageRoute(builder: (context) {return TUILiveRoomAnchorWidget(roomId: roomId);}));
// --- Select a way to integrate based on your Widget tree structure ---// [option one] as the only child Widget (single subtree)// Suitable for containers like Container, Padding that usually only contain one child WidgetContainer(child: TUILiveRoomAnchorWidget(roomId: roomId) // integrate the host page here)// [option two] as one of multiple child Widgets (multi-subtree)// Suitable for layouts like Column, Row, Stack that can contain multiple child WidgetsStack(children: [YourOtherWidget(), // your other child WidgetTUILiveRoomAnchorWidget(roomId: roomId), // integrate the host page hereYourOtherWidget(), // your other child Widget])
Customize Your UI Layout
TUILiveKit supports flexible customization of the host setup and live pages, allowing you to adjust the layout and hide/show functional modules based on your business requirements.
Live Layout Template Selection
TUILiveKit provides 4 live layout templates. You can select the appropriate style in the "Layout" UI interaction entry on the host setup page:

Layout Template Overview
Name | dynamic grid layout | dynamic float layout | static grid layout | static float layout |
Template ID | 600 | 601 | 800 | 801 |
Description | The default layout; grid size adjusts dynamically based on the number of co-hosts. | Co-hosts are displayed in floating small windows. | The number of co-hosts is fixed, and each co-host occupies a fixed grid cell. | The number of co-hosts is fixed, and co-hosts are displayed in fixed small windows. |
Preview | ![]() | ![]() | ![]() | ![]() |
Text Customization (ARB)
TUILiveKit uses ARB files and the Flutter standard internationalization (i18n) solution to manage the UI text display. You can directly edit the ARB files in the
livekit/lib/common/language/i10n/ directory to modify the text:
livekit_en.arb - English Textlivekit_zh.arb - Simplified Chinese Textlivekit_zh_Hant.arb - Traditional Chinese TextAfter making changes, execute
flutter gen-l10nin the command line to regenerate the localization code.Icon Customization (Image Assets)
The image resources required by the TUILiveKit UI are managed in the
livekit/assets/images/ directory. You can quickly modify the custom icons needed for your interface by directly replacing the PNG image files in this directory.
Next Steps
Congratulations! You have successfully integrated the Host Live Streaming component. Next, you can implement features such as viewer watching and the live stream list. Please refer to the table below:
Feature | Description | Integration Guide |
Audience Viewing | Audience can watch live streaming after entering the anchor's live streaming room, with features like audience mic connection, live room information, online audience, and bullet screen display. | |
Live Stream List | Display the live stream list interface and features, including the live stream list and room information display. |
FAQs
Why is there no video feed after starting the stream?
Please go to Phone Settings > App > Camera and check whether camera permission is enabled. Refer to the following example:
iOS | Android |
![]() | ![]() |
Why does clicking the "Start Stream" button fail with a "Not Logged In" prompt?









