-
-
Notifications
You must be signed in to change notification settings - Fork 26
Home
Kai Dao edited this page Apr 4, 2024
·
16 revisions
🤙 This is an Online Meeting App that utilizes Flutter and WebRTC technologies to provide users with a platform to conduct virtual meetings, conferences, and webinars. The app is built to provide seamless audio and video communication, as well as screen sharing, chat functionality, and file sharing.
Feature | Subscribe/Publish | Screen Sharing | Picture in Picture | Virtual Background | End to End Encryption | Record Media |
---|---|---|---|---|---|---|
iOS | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟡 |
Android | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 | 🟡 |
Codec | VP8 | VP9 | H264 | H265 | AV1 |
---|---|---|---|---|---|
iOS | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
Android | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
🟢 = Available
🟡 = Coming soon (Work in progress)
🔴 = Not currently available (Possibly in the future)
Note
-
AV1
supported on iOS 14 and above, Android 14 and above. -
E2EE
only supportedH264
,VP8
andVP9
- Video codec Android supported: Check at Google Site
Warning
Virtual Background
is still in beta so it will not be stable. It is developed using MediaPipe for Android
and VisionKit for iOS
📂 Repository Structure
└── waterbus/
├── .githooks/
│ ├── pre-commit
│ └── pre-push
├── .github/
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ ├── dependabot.yml
│ └── workflows/
│ ├── ci.yml
│ └── release.yml
├── .metadata
├── analysis_options.yaml
├── android/
│ ├── app/
│ │ ├── build.gradle
│ │ ├── google-services.json
│ │ ├── proguard-rules.pro
│ │ └── src/
│ ├── build.gradle
│ ├── gradle/
│ │ └── wrapper/
│ └── settings.gradle
├── benchmark/
│ ├── benchmark.txt
│ └── plot_benchmark_results.gp
├── codecov.yml
├── ios/
│ ├── BroadcastAppGroup/
│ │ └── BroadcastAppGroupHandler.swift
│ ├── BroadcastWaterbus/
│ │ ├── Atomic.swift
│ │ ├── BroadcastWaterbus.entitlements
│ │ ├── DarwinNotificationCenter.swift
│ │ ├── Info.plist
│ │ ├── SampleHandler.swift
│ │ ├── SampleUploader.swift
│ │ └── SocketConnection.swift
│ ├── Flutter/
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Podfile
│ ├── Podfile.lock
│ ├── Runner/
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets/
│ │ ├── Base.lproj/
│ │ ├── GoogleService-Info.plist
│ │ ├── Info.plist
│ │ ├── Runner-Bridging-Header.h
│ │ └── Runner.entitlements
│ ├── Runner.xcodeproj/
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace/
│ │ └── xcshareddata/
│ ├── Runner.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ └── clean-pods.sh
├── launcher_icon_setup.yaml
├── lib/
│ ├── core/
│ │ ├── app/
│ │ ├── constants/
│ │ ├── error/
│ │ ├── helpers/
│ │ ├── injection/
│ │ ├── navigator/
│ │ ├── types/
│ │ ├── usecase/
│ │ └── utils/
│ ├── features/
│ │ ├── app/
│ │ ├── auth/
│ │ ├── chats/
│ │ ├── common/
│ │ ├── conversation/
│ │ ├── home/
│ │ ├── meeting/
│ │ ├── notifications/
│ │ ├── profile/
│ │ ├── schedule/
│ │ └── settings/
│ ├── gen/
│ │ ├── assets.gen.dart
│ │ └── fonts.gen.dart
│ └── main.dart
├── packages/
│ ├── auth/
│ │ ├── .metadata
│ │ ├── analysis_options.yaml
│ │ ├── lib/
│ │ ├── pubspec.yaml
│ │ └── test/
│ └── sizer/
│ ├── .metadata
│ ├── analysis_options.yaml
│ ├── lib/
│ └── pubspec.yaml
├── pubspec.lock
├── pubspec.yaml
├── run.sh
├── screenshots/
├── splash-setup.yaml
├── test/
│ ├── constants/
│ │ └── sample_file_path.dart
│ ├── features/
│ │ ├── auth/
│ │ ├── meeting/
│ │ └── profile/
│ └── fixtures/
│ ├── auth/
│ ├── fixture_reader.dart
│ └── meeting/