{"id":22612175,"url":"https://github.com/indiedev2003/videoconfrence","last_synced_at":"2025-03-28T23:45:06.693Z","repository":{"id":230683731,"uuid":"779923643","full_name":"IndieDev2003/VideoConfrence","owner":"IndieDev2003","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-31T07:06:19.000Z","size":329921,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-03T10:11:50.109Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IndieDev2003.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"roadmap.md","authors":null,"dei":null},"funding":{"github":["lambiengcode"]}},"created_at":"2024-03-31T06:56:21.000Z","updated_at":"2024-03-31T07:01:20.000Z","dependencies_parsed_at":"2024-03-31T08:33:42.015Z","dependency_job_id":null,"html_url":"https://github.com/IndieDev2003/VideoConfrence","commit_stats":null,"previous_names":["indiedev2003/videoconfrence"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndieDev2003%2FVideoConfrence","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndieDev2003%2FVideoConfrence/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndieDev2003%2FVideoConfrence/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndieDev2003%2FVideoConfrence/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IndieDev2003","download_url":"https://codeload.github.com/IndieDev2003/VideoConfrence/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246117690,"owners_count":20726068,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-08T17:10:52.175Z","updated_at":"2025-03-28T23:45:06.672Z","avatar_url":"https://github.com/IndieDev2003.png","language":"Dart","funding_links":["https://github.com/sponsors/lambiengcode"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/lambiengcode/waterbus/blob/main/assets/images/img_app_logo.png?raw=true\" width=\"180px\" height=auto alt=\"Computador\"/\u003e\n\u003c/p\u003e\n\n\u003cdiv class=\"badges\" align=\"center\"\u003e\n\u003cp\u003e\u003ca href=\"https://codecov.io/gh/lambiengcode/waterbus\"\u003e\u003cimg src=\"https://codecov.io/gh/lambiengcode/waterbus/branch/main/graph/badge.svg?token=7KEMH26LHZ\" alt=\"codecov\"\u003e\u003c/a\u003e\u003ca href=\"https://www.codefactor.io/repository/github/lambiengcode/waterbus\"\u003e\u003cimg src=\"https://www.codefactor.io/repository/github/lambiengcode/waterbus/badge\" alt=\"CodeFactor\"\u003e\u003c/a\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/lambiengcode/waterbus/ci.yml\" alt=\"GitHub Workflow Status (with event)\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/lambiengcode/waterbus\" alt=\"GitHub issues\"\u003e\u003ca href=\"https://chromium.googlesource.com/external/webrtc/+/branch-heads/6099\"\u003e\u003cimg src=\"https://img.shields.io/badge/libwebrtc-122.6261.01-yellow.svg\" alt=\"libwebrtc\"\u003e\u003c/a\u003e\u003cimg src=\"https://img.shields.io/cocoapods/v/KaiRTC\" alt=\"Cocoapods Version\"\u003e\u003ca href=\"https://github.com/lambiengcode\"\u003e\u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat\u0026amp;logo=github\" alt=\"PRs Welcome\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://twitter.com/waterbustech\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/waterbus.tech?style=social\" alt=\"Twitter Follow\"\u003e\u003c/a\u003e\u003ca href=\"https://discord.gg/mfrWVefU\"\u003e\u003cimg alt=\"Discord\" src=\"https://img.shields.io/discord/1220616225521143818\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://docs.waterbus.tech\"\u003eWebsite\u003c/a\u003e \u0026bull;\n  \u003ca href=\"https://github.com/lambiengcode/waterbus/wiki\"\u003eWiki\u003c/a\u003e \u0026bull;\n  \u003ca href=\"https://github.com/lambiengcode/waterbus/blob/main/LICENSE\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cimg src=\"./screenshots/waterbus-awesome.gif\" width=\"100%\"/\u003e\n\n## 🌤️ About\n\n🤙 This is an 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, and file sharing.\n\n## ✨ Why is this so awesome?\n\n* 👥 **Multiple Participants**: `Waterbus` enables high-quality group video calls using `WebRTC SFU`.\n* 💻 **Screen Sharing**: Share your screen with the participants of your call.\n* 🎥 **Video Codec Support**: Supports a wide range of video codecs including `AV1`, `H.264`, `H.265`, `VP8`, and `VP9`.\n* 🌌 **Virtual Background**: Enhance your meetings with professional virtual backgrounds.\n* 🖼️ **Picture-in-Picture**: Increase productivity with picture-in-picture multitasking.\n* 🔒 **End-to-End Encryption**: Ensure secure meetings with end-to-end encryption.\n* 💋 **Beauty Filter**: Using [GPUPixel](https://github.com/pixpark/gpupixel) to implement Beauty Filters\n\n## 🎯 Goal\n\nMy 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.\n\nIf you have suggestions or problems, please [open an issue](https://github.com/lambiengcode/waterbus/issues) or contribute directly 🤓\n\n\u003ch3 align=\"center\"\u003e👉 The Virtual Background feature supports on Android, iOS and MacOS\u003c/h3\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cp\u003e\u003ca href=\"https://youtube.com/shorts/Ms4avix05uY\"\u003e\u003cimg src=\"https://ytcards.demolab.com/?id=Ms4avix05uY\u0026amp;title=Virtual%20Background%20on%20iOS%20%28VisionKit%20for%20Person%20segment%29\u0026amp;lang=en\u0026amp;timestamp=1709774408\u0026amp;background_color=%230d1117\u0026amp;title_color=%23ffffff\u0026amp;stats_color=%23dedede\u0026amp;max_title_lines=2\u0026amp;width=250\u0026amp;border_radius=10\u0026amp;duration=21\" alt=\"Virtual Background on iOS (VisionKit for Person segment)\" title=\"Virtual Background on iOS (VisionKit for Person segment)\"\u003e\u003c/a\u003e\n\u003ca href=\"https://youtube.com/shorts/PDIDbVoHT5o\"\u003e\u003cimg src=\"https://ytcards.demolab.com/?id=PDIDbVoHT5o\u0026amp;title=Virtual%20Background%20on%20Android%20%28Mediapipe%20for%20Image%20segment%29\u0026amp;lang=en\u0026amp;timestamp=1709774408\u0026amp;background_color=%230d1117\u0026amp;title_color=%23ffffff\u0026amp;stats_color=%23dedede\u0026amp;max_title_lines=2\u0026amp;width=250\u0026amp;border_radius=10\u0026amp;duration=27\" alt=\"Virtual Background on Android (Mediapipe for Image segment)\" title=\"Virtual Background on Android (Mediapipe for Image segment)\"\u003e\u003c/a\u003e\n\u003ca href=\"https://youtu.be/VIIxOZJlmj4\"\u003e\u003cimg src=\"https://ytcards.demolab.com/?id=VIIxOZJlmj4\u0026amp;title=Virtual%20Background%20on%20MacOS%20%28VisionKit%20for%20Person%20segment%29\u0026amp;lang=en\u0026amp;timestamp=1711089181\u0026amp;background_color=%230d1117\u0026amp;title_color=%23ffffff\u0026amp;stats_color=%23dedede\u0026amp;max_title_lines=2\u0026amp;width=250\u0026amp;border_radius=10\u0026amp;duration=58\" alt=\"Virtual Background on MacOS (VisionKit for Person segment)\" title=\"Virtual Background on MacOS (VisionKit for Person segment)\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n## ⚡ Current supported features\n\n| Feature            | Subscribe/Publish | Screen Sharing | Picture in Picture | Virtual Background | Beauty Filters | End to End Encryption |\n| ------------------ | ----------------- | -------------- | ------------------ | ------------------ | -------------- | --------------------- |\n| Android            |         🟢         |        🟢      |          🟢         |          🟢         |       🟡        |           🟢          | \n| iOS                |         🟢         |        🟢      |          🟢         |          🟢         |       🟢       |           🟢          |  \n| MacOS              |         🟢         |        🟢      |          🔴         |          🟢         |       🟢       |           🟢          |      \n| Web                |         🟢         |        🟢      |          🟡         |          🟡         |       🟡       |           🟢          |    \n\n\n🟢 = Available\n\n🟡 = Coming soon (Work in progress)\n\n🔴 = Not currently available (Possibly in the future)\n\n\u003e [!NOTE]  \n\u003e - `AV1` supported on iOS 14 and above, Android 14 and above.\n\u003e - `E2EE` only supported `H264`, `VP8` and `VP9`\n\u003e - `Video codec Android supported`: Check at [Google Site](https://developer.android.com/guide/topics/media/platform/supported-formats#video-codecs)\n\n\u003cdetails\u003e\n\u003csummary\u003e 🖼️ Online Meeting Diagram\u003c/summary\u003e\n\n[![Diagram](./screenshots/waterbus-diagram-dark.png)](https://docs.waterbus.tech#gh-dark-mode-only)\n[![Diagram](./screenshots/waterbus-diagram.png)](https://docs.waterbus.tech#gh-light-mode-only)\n\n\u003c/details\u003e\n\n## 🚀 Getting Started\n\nTo compile `Waterbus` from the source code, follow these steps:\n\n1. Install [Flutter](https://flutter.dev).\n2. Clone the Waterbus repository.\n4. Run `flutter pub get` to download dependencies.\n5. Run `flutter run` to start the app.\n\n## 🛠️ Building\n\nThese commands are intended for maintainers only.\n\n### Android\n\nSet keystore password if you use jks in this repo, or create your own\n\n```bash\nexport KEY_WATERBUS_PASSWORD=banhcuon\nexport ALIAS_WATERBUS_PASSWORD=banhcuon\n```\n\nTraditional APK\n\n```bash\nflutter build apk\n```\n\nAppBundle for Google Play\n\n```bash\nflutter build appbundle\n```\n\n### iOS\n\nPod install\n\n```bash\ncd ios\nbash clean-pods.sh\n```\n\n```bash\nflutter build ipa\n```\n\n### macOS\n\nPod install\n\n```bash\ncd macos\nbash clean-pods.sh\n```\n\n```bash\nflutter build macos\n```\n\n### Web\n\n```bash\nflutter build web\n```\n\n## 🔥 Usage\n\n1. Sign up for an account\n2. Create a new meeting\n3. Share the meeting link with other participants\n4. Start the meeting and utilize the available features\n\n\n## ⏲️ Benchmarking\n\n- This part is benchmarking video codecs within a 60-second duration of an online meeting on an iPhone 13 running iOS 17.0.2. The codecs included in the benchmark are VP8, VP9, H.264, H.265, and AV1.\n- The benchmark aims to quickly compare the performance differences between these codecs during a short online meeting session.\n\n#### 📱 Device Specifications\n\n- **Model:** iPhone 13\n- **Operating System:** iOS 17.0.2\n\n\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a pull request or open an issue if you encounter any problems or have suggestions for improvements.\n\n## 📧 Contact Information\n\nIf you have any questions or suggestions related to this application, please contact me via email: `ilovescience584@gmail.com`.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findiedev2003%2Fvideoconfrence","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Findiedev2003%2Fvideoconfrence","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findiedev2003%2Fvideoconfrence/lists"}