Giter Site home page Giter Site logo

getstream / android-video-chat Goto Github PK

View Code? Open in Web Editor NEW
69.0 2.0 6.0 3.89 MB

⚡️ Android Video Chat demonstrates a real-time video chat application by utilizing Stream Chat & Video SDKs.

License: Apache License 2.0

Kotlin 100.00%
android chat compose jetpack-compose kotlin video

android-video-chat's Introduction

Android Video Chat

README

License API Build Status Stream Feeds

⚡️ Android Video Chat demonstrates a real-time video chat application, such as Zoom and Google Meet by utilizing Stream Video SDK and Stream Chat SDK.

The purpose of this repository is to demonstrate the following functionalities:

  • Real-time video meeting room development using Kotlin and Jetpack Compose:
    • Features include joining, creating calls, scanning QR codes, and sharing the room.
  • A lobby room to verify camera and microphone status before joining.
  • Capability to join a video call with multiple participants.
  • Implementation of real-time chat communication within the meeting room.
  • Support for sending real-time reactions during a call.
  • Functionality to record video calls in real-time.
  • Video filters such as virtual backgrounds or blurring effects.
  • Screen sharing capabilities with multiple participants.
  • Notifications management for call-related events.
  • Picture-in-picture mode for ongoing live calls.

📲 Download APK

Go to the Releases to download the latest APK. The application is also available on Google Play.

📷 Previews

drawing drawing drawing
drawing drawing drawing

🔗 Quick Links

Stream offers seamless Video/Chat SDK solutions that allow you to implement video calling, audio/video room, live streaming, and real-time chat using Jetpack Compose. If you're interested in learning the Stream Video & Chat SDKs, check out the GitHub repositories below:

📕 Video Tutorials

You can learn how to implement video features following the video tutorials: Video Calling Tutorial, Audio Room Tutorial, and Livestreaming Tutorial.

If you want to learn the details, you can also refer to the docs below:

📗 Chat Tutorials

You can learn how to implement chat features following the chat tutorials: Android Chat Tutorial, and Compose Chat Tutorial.

If you want to learn the details, you can also refer to the docs below:

🤝 Contribution

Submissions are always welcomed! You can create your own open-source project or sample app by creating a new module for this project following our Video(Video Calling Tutorial, Audio Room Tutorial, Livestreaming Tutorial), and Chat(Android Chat Tutorial, Compose Chat Tutorial) tutorials.

We also welcome code changes that improve the apps or fix a problem. Please follow all best practices and add tests if applicable before submitting a Pull Request on GitHub.

💡 Additional Repositories

If you're interested in additional repositories that were built with Jetpack Compose and Stream Video & Chat SDK, check out the repositories below:

  • ChatGPT Android: 📱 ChatGPT Android demonstrates OpenAI's ChatGPT on Android with Stream Chat SDK for Compose.
  • Twitch Clone Compose: 🎮 Twitch clone project demonstrates modern Android development built with Jetpack Compose and Stream Chat/Video SDK for Compose.
  • Slack Clone Android: 📱 A chat demo app built with Jetpack Compose and Stream Chat SDK following clean architecture principles.
  • Stream Draw Android: 🛥 Stream Draw is a real-time multiplayer drawing & chat game app built entirely with Jetpack Compose.
  • Meeting Room Compose: 🎙️ A real-time meeting room app built with Jetpack Compose to demonstrate video communications.
  • Zoom Clone Compose: 🎥 Real-time Zoom clone application for Android, built with Jetpack Compose and Stream Video SDK for Compose.
  • Google Meet Compose: Google Meet clone using Stream Video Call SDK & Jetpack Compose.

🛠 Tech Stack & Open Source Libraries

  • Minimum SDK level 26.
  • 100% Jetpack Compose based + Coroutines + Flow for asynchronous.
  • Compose Video SDK for Video Meeting Room & Calling: Stream's versatile Core + Compose UI component libraries that allow you to build video calling, audio room, and, live streaming apps based on Webrtc running on Stream's global edge network.
  • Compose Chat SDK for Messaging: The Jetpack Compose Chat Messaging SDK is built on a low-level chat client and provides modular, customizable Compose UI components that you can easily drop into your app.
  • Stream Firebase Push Notification: Push notifications can be configured to receive updates when the application is closed or on the background, or even app is in a different contextual screen.
  • Android Jetpack
    • Compose: Android’s modern toolkit for building native UI.
    • ViewModel: UI related data holder and lifecycle aware.
    • Navigation: For navigating screens and Hilt Navigation Compose for injecting dependencies.
    • Room: Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
    • Hilt: Dependency Injection.
  • Google's ML Kit for Android: ML Kit is a mobile SDK that brings Google's on-device machine learning expertise to Android and iOS apps. It has been used to implement real-time video filtering and QR code scanning.
  • Landscapist Coil, animation, placeholder: Jetpack Compose image loading library that fetches and displays network images with Glide, Coil, and Fresco.
  • accompanist: A collection of extension libraries for Jetpack Compose
  • Retrofit2 & OkHttp3: Construct the REST APIs and paging network data.
  • StreamLog: A lightweight and extensible logger library for Kotlin and Android.
  • Baseline Profiles: To improve app performance by including a list of classes and methods specifications in your APK that can be used by Android Runtime.

Find this repository useful? 💙

Support it by joining stargazers for this repository. ⭐
Also, follow maintainers on GitHub for our next creations! 🤩

License

Copyright 2024 Stream.IO, Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

android-video-chat's People

Contributors

dependabot[bot] avatar skydoves avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.