Important
Waterbus is an open source video conferencing app built on latest WebRTC SDK. Currently, Waterbus is an early release that is subject to the following limitations: it may have limited support, changes may not be compatible with other pre-general availability versions, and availability may change without notice.
π€ The Open Source Video Conferencing 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.
- π Flutter WASM Support: Seamlessly integrate with
Flutter WebAssembly
for enhanced performance. - π΅π» Anonymous Access: Join meetings without the need for registration or login.
- π₯ Multiple Participants:
Waterbus
enables high-quality group video calls usingWebRTC SFU
. - π» Screen Sharing: Share your screen with the participants of your call.
- π₯ Video Codec Support: Supports a wide range of video codecs including
AV1
,H.264
,VP8
, andVP9
. - π Virtual Background: Enhance your meetings with professional virtual backgrounds.
- πΌοΈ Picture-in-Picture: Increase productivity with picture-in-picture multitasking.
- π End-to-End Encryption: Ensure secure meetings with end-to-end encryption.
- π¬ Encrypted Chat: Communicate privately with encrypted messaging during video calls.
- π Beauty Filter: Using GPUPixel to implement Beauty Filters
My project isn't intended to replace standard video conferencing platforms like Google Meet
. Instead, it focuses on facilitating code sharing. I've noticed that features such as Virtual Background
or Picture in Picture
aren't widely implemented in existing solutions, and there's a lack of reference code for them. Many developers resort to third-party solutions for video calls but often miss out on these features. My goal is to provide a reference project that includes these functionalities, offering developers a starting point for integrating them into their own products.
If you have suggestions or problems, please open an issue or contribute directly π€
Feature | Subscribe/Publish | Screen Sharing | Picture in Picture | Virtual Background | Beauty Filters | End to End Encryption |
---|---|---|---|---|---|---|
Android | π’ | π’ | π’ | π’ | π’ | π’ |
iOS | π’ | π’ | π’ | π’ | π’ | π’ |
Web | π’ | π’ | π’ | π’ | π‘ | π’ |
MacOS | π’ | π’ | π΄ | π’ | π’ | π’ |
Linux | π’ | π’ | π΄ | π‘ | π’ | π’ |
Windows | π’ | π’ | π΄ | π‘ | π’ | π’ |
π’ = 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
To compile Waterbus
from the source code, follow these steps:
- Install Flutter.
- Install Rust via rustup.
- Clone the Waterbus repository.
- Run
flutter pub get
to download dependencies. - Run
flutter run
to start the app.
flutter build apk
Pod install
cd ios
bash clean-pods.sh
flutter build ipa
Pod install
cd macos
bash clean-pods.sh
flutter build macos
- Build
flutter build linux
flutter build web --wasm --release
Support it by joining stargazers for this repository. β
Also, follow maintainers on GitHub for our next creations!
Contributions are welcome! Please feel free to submit a pull request or open an issue if you encounter any problems or have suggestions for improvements.