TUIRoomKit
repository·main·Indexed 41 days ago
https://github.com/tencent-rtc/tuiroomkitA high-level UI component library for building multi-person video conferencing applications, such as meetings and online classes, across Web, Mobile, and Desktop platforms. It provides abstractions for room and member management, screen sharing, and audio/video interactions, integrating with Tencent Cloud TRTC and IM services.
What's inside TUIRoomKit
- TUIRoomKit is a video conferencing product designed for multi-person audio and video scenarios, including business meetings, webinars, and online education. It provides high-level abstractions for room management, member management, and screen sharing, allowing developers to integrate full conferencing capabilities into an application quickly.
Overview of TUIRoomKit for Flutter
mainTUIRoomKit is a UI component solution from Tencent Cloud designed for enterprise meetings, online classrooms, and web salons. It allows developers to add video conferencing capabilities to their apps with minimal code.
Key Features:
- Easy Integration: Provides open-source UI components to save ~90% of development time.
- Cross-platform Interoperability: Components work seamlessly across different platforms.
- Screen Sharing: Optimized screen capture and AI encoding for clear video at low bitrates.
- Member Management: Standard room controls like global mute, individual mute/video disable, inviting speakers, and kicking members.
- Additional Features: Supports chat bullet messages (danmaku) and audio settings.
Overview of TUIRoomKit Vue3 Components
mainTUIRoomKit provides two sets of complete UI view components for different stages of a video conference:
Pre-Conference Views
Used for device detection and meeting information confirmation before joining.
PreConferenceView: Desktop view.PreConferenceViewH5: H5 mobile view.
In-Conference Views
Used during the active meeting, including audio/video, chat, and member management.
ConferenceMainView: Desktop main view.ConferenceMainViewH5: H5 mobile main view.
Note: These components fill their parent container. Ensure the host container has defined dimensions (e.g.,
width: 100%; height: 100vh;).Overview of chat-uikit-uniapp
mainchat-uikit-uniapp (supporting both Vue2 and Vue3) is a UI component library for uni-app based on the Tencent Cloud Chat SDK. It provides ready-to-use UI components for common chat features such as conversations, chats, groups, and relationship chains, allowing for rapid development of reliable and scalable chat applications.
Supported Platforms:
- Android
- iOS
- WeChat Mini Programs
- H5
Overview of TUIRoomKit
mainTUIRoomKit is a UI component solution from Tencent Cloud designed for enterprise meetings, online classrooms, and web salons. It allows developers to add video conferencing capabilities to their applications with minimal code.
Key Features:
- Rapid Integration: Provides open-source UI components to save approximately 90% of development time.
- Cross-Platform Interoperability: Components across different platforms (Android, iOS, Flutter, Web, Electron) can communicate seamlessly.
- Screen Sharing: High-quality screen capture and AI-powered encoding for clear video at low bitrates.
- Member Management: Standard room controls including global mute, individual mute/video disable, inviting members to speak, and kicking members from the room.
- Additional Features: Supports room chat/bullet comments, audio settings, and more.
Overview of TUIRoomKit React Components
mainTUIRoomKit provides two main UI view components for different stages of a video conference:
PreConferenceView: A pre-conference view used for device checks and meeting information confirmation.ConferenceMainView: The main conference view, containing full audio/video, chat, and member management features.
Note on Layout: Both components will fill their parent container (
width/height: 100%). You must provide a container with a defined height (e.g.,100vhfor fullscreen).import { UIKitProvider } from '@tencentcloud/uikit-base-component-react'; import { ConferenceMainView } from '@tencentcloud/roomkit-web-react'; export default function App() { return ( <UIKitProvider theme="light" language="zh-CN"> {/* Fullscreen: size the host; RoomKit fills the parent */} <div className="roomkit-host"> <ConferenceMainView /> </div> </UIKitProvider> ); }Overview of TUIRoomKit Web
mainTUIRoomKit Web is a multi-user audio and video room solution designed for rapid deployment of video conferencing features. It provides a complete UI solution including:
- Audio and video communication
- Screen sharing
- Member management
- Muting audio and disabling video
- Chatting and bullet comments (danmaku)
It is suitable for enterprise meetings, online education, internet medical consultations, and web salons. The repository contains both the source code and runnable examples for Vue and React.
Overview of chat-uikit-vue
mainchat-uikit-vue is a Vue UI component library built on top of the Tencent Cloud Chat SDK. It provides pre-built UI components to quickly implement chat functionality, including:
- Conversation Management: View unread messages, recent chats, pinned, or deleted conversations.
- Chat Components: Interfaces for sending and receiving various message types (text, images, audio, video).
- Group Management: Tools to create groups, manage members, and customize profiles.
- Notifications: Support for online/offline push notifications.
Note: The default emoji pack is copyrighted by Tencent Cloud. For commercial use, you should replace them with your own emoji packs or obtain authorization via a support ticket.
TUIRoomKit iOS Project Directory Structure
mainUnderstanding the organization of the iOS example project:
TUIRoomKit/Example/App: UI code for entering/creating video conferences, including images and internationalization resources.TUIRoomKit/Example/Debug: Key business logic code required for debugging and running the project.TUIRoomKit/Example/Login: UI and business logic for the login process.TUIRoomKit/Example/TXReplayKit_Screen: Logic for screen sharing.TUIRoomKit/TUIRoomKit: The core UI code for multi-party video conferencing, including images and internationalization resources.
Explore TUIRoomKit Web demos and source code
mainThe repository contains quick run-through demos and the core source code for different frameworks:
Quick Run-through Demos (
/example)vite-react-ts: Vite + React + TypeScriptvite-vue3-ts: Vite + Vue 3 + TypeScriptwebpack-vue2.7-ts: Webpack + Vue 2.7 + TypeScript
Source Code (
/roomkit)react: TUIRoomKit source code for Reactvue3: TUIRoomKit source code for Vue 3vue2: TUIRoomKit source code for Vue 2.7
Android Sample Project Directory Structure
mainThe Android sample project is organized into the following modules:
app: The main panel and entry point for multi-user audio/video interaction scenarios.debug: Contains debugging-related utilities, including the test user signature generator.timcommon: Common components used for the chat interface.tuichat: The chat interface component.tuiroomkit: The core business logic for multi-user audio/video rooms.
Understand MDT Consultation Permissions
mainThe template supports the attending doctor inviting consultation doctors to join the room. Permissions are defined as follows:
Capability Attending Doctor Consultation Doctor Patient Invite consultation doctors Yes No No Remove members Yes No No Manage patient devices Yes No No View business workspace Yes No Yes (per client policy) Chat / Transcription Yes Yes Yes (per client policy) Audio/Video participation Yes Yes Yes Related Logic Files:
src/features/consultation/components/ConsultationVideoStage.vue(UI Stage)src/features/consultation/useConsultationParticipants.ts(Participant logic)src/features/consultation/useConsultationPermissions.ts(Permission logic)