Awesome
<h1 align="center">Android Video Samples</h1> <p align="center"> <a href="https://github.com/GetStream/Android-Video-Samples/actions/workflows/android.yml"><img alt="Build Status" src="https://github.com/GetStream/Android-Video-Samples/actions/workflows/android.yml/badge.svg"/></a> <a href="https://android-arsenal.com/api?level=21"><img alt="API" src="https://img.shields.io/badge/API-21%2B-brightgreen.svg?style=flat"/></a> <a href="https://getstream.io"><img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/HayesGordon/e7f3c4587859c17f3e593fd3ff5b13f4/raw/11d9d9385c9f34374ede25f6471dc743b977a914/badge.json" alt="Stream Feeds"></a> </p> <p align="center"> <a href="https://getstream.io/video/sdk/android/?utm_source=Github&utm_medium=Jaewoong_OSS&utm_content=Developer&utm_campaign=Github_April2024_Jaewoong_Android_Video_Samples&utm_term=DevRelOss"> <img src="https://github.com/GetStream/Android-Video-Samples/assets/24237865/1a004cdd-5daa-4a0e-96ca-be35cb25871f"/> </a> </p>π Repo Overview
This repository contains sample projects, guides, tutorials, and links to helpful resources to help you get started with Android Stream Video SDK.
<a href="https://getstream.io/video/sdk/android/?utm_source=Github&utm_medium=Jaewoong_OSS&utm_content=Developer&utm_campaign=Github_April2024_Jaewoong_Android_Video_Samples&utm_term=DevRelOss"> <img src="https://user-images.githubusercontent.com/24237865/138428440-b92e5fb7-89f8-41aa-96b1-71a5486c5849.png" align="right" width="12%"/> </a>π Quick Links
Stream offers seamless Video SDK solutions that allow you to implement video calling, audio/video room, and live streaming using Jetpack Compose. If you're interested in learning the Stream Video SDKs, check out the tutorials below:
Tutorials:
Documentation:
π€ 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 Calling Tutorial, Audio Room Tutorial, or Livestreaming Tutorial. After building your project, create an issue or pull request. Your project will be categorized π under our featuring list after reviewing the project in our team.
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.
π Main Samples
Project | |
---|---|
<br><h3>Video Calling Sample</h3> <br>Demonstrates the video calling following the official Video Calling Tutorial.<br><br> > Source Code<br><br> | <img src="previews/preview0.png" width="320" alt="UI Components Sample App Preview"> |
<br><h3>Audio Room Sample</h3> <br>Demonstrates the audio room following the official Audio Room Tutorial.<br><br> > Source Code<br><br> | <img src="previews/preview1.png" width="320" alt="UI Components Sample App Preview"> |
<br><h3>Livestreaming Sample</h3> <br>Demonstrates the livestreaming following the official Livestreaming Tutorial.<br><br> > Source Code<br><br> | <img src="previews/preview2.png" width="320" alt="UI Components Sample App Preview"> |
βοΈ Additional samples
Project | |
---|---|
<br><h3>WhatsApp Clone Compose</h3> <br>WhatsApp clone project demonstrates modern Android development built with Jetpack Compose and Stream Chat/Video SDK for Compose.<br><br>β’ Implementing entire UI elements with Jetpack Compose<br>β’ Implementation of Android architecture components with Jetpack libraries such as Hilt and AppStartup<br>β’ Performing background tasks with Kotlin Coroutines<br>β’ Integrating chat systems with Stream Chat SDK for real-time event handling<br>β’ Integrating video call systems with Stream Video SDK using WebRTC under the hood<br><br>> Source Code<br>> Blog Post: Build a Real-Time Android WhatsApp Clone With Jetpack Compose<br>> Blog Post: Build Video Calling for Your Android WhatsApp Clone With Jetpack Compose<br><br> | <img src="https://raw.githubusercontent.com/GetStream/whatsApp-clone-compose/7efb5f5f04ada5afdcdefb85a2763c1eb6c82bee/previews/preview0.gif" width="320" alt="Video Chat Sample Preview"> |
<br><h3>TwitchClone Clone Compose</h3> <br>Twitch clone project demonstrates modern Android development built with Jetpack Compose and Stream Chat/Video SDK for Compose.<br><br>β’ Implementing entire UI elements with Jetpack Compose<br>β’ Implementation of Android architecture components with Jetpack libraries such as Hilt and AppStartup<br>β’ Performing background tasks with Kotlin Coroutines<br>β’ Integrating chat systems with Stream Chat SDK for real-time event handling<br>β’ Integrating video call systems with Stream Video SDK using WebRTC under the hood<br><br>> Source Code<br><br> | <img src="https://raw.githubusercontent.com/skydoves/twitch-clone-compose/b3f7679c2fe99d496e0c59075ddaf5a83a967934/previews/preview1.png" width="320" alt="Video Chat Sample Preview"> |
<br><h3>Meeting Room Compose</h3> <br>A real-time meeting room app built with Jetpack Compose to demonstrate video communications.<br><br>β’ Complete implementation of UI components using Jetpack Compose<br>β’ Development of a real-time meeting room application with a seamless user experience, designed in a Google Meet style by customizing CallContent and ParticipantVideo<br>β’ Performing background tasks with Kotlin Coroutines<br>β’ Creation of a lobby screen that provides control over physical devices before joining a meeting room, including toggling the camera/microphone and flipping the camera view<br>β’ Illustration of multiple participants connecting from various platforms, such as web and Android<br><br>> Source Code<br>> Blog Post: Build a Real-Time Meeting App for Android with Jetpack Compose<br><br> | <img src="https://raw.githubusercontent.com/GetStream/meeting-room-compose/7f3a1f6f1a7063e1c44354f05c4bee088cf03a17/previews/preview2.png" width="320" alt="Video Chat Sample Preview"> |
<br><h3>Zoom Clone Compose</h3> <br>Real-time Zoom clone application for Android, built with Jetpack Compose and Stream Video SDK for Compose.<br><br>β’ The development of comprehensive UI elements utilizing Jetpack Compose<br>β’ The use of Android architecture components alongside Jetpack libraries, including androidx ViewModel and Hilt<br>β’ Execution of background operations using Kotlin Coroutines<br>β’ Integration of real-time video meeting room functionalities through the Stream Video SDK, powered by WebRTC technology<br><br>> Source Code<br>> Blog Post: Build a Real-Time Zoom Clone with Jetpack Compose<br><br> | <img src="https://github.com/wisemuji/zoom-clone-compose/assets/24237865/09f91473-ae11-4ff5-a817-bacdffb3ebd0" width="320" alt="Video Chat Sample Preview"> |
<br><h3>Google Meet Clone Compose</h3> <br>Google Meet clone using Stream Video Call SDK & Jetpack Compose.<br><br>β’ Meeting room list screen<br>β’ Joining a meeting with a room id<br>β’ Creating a new meeting room<br>β’ Lobby screenβ’ Real-time meeting room<br><br>> Source Code<br>> Blog Post: Building a Google Meet Clone In Jetpack Compose<br><br> | <img src="https://github.com/workspace/google-meet-clone-compose/assets/24237865/fbe1658b-97ef-4806-84b9-1ef4a07adee0" width="320" alt="Video Chat Sample Preview"> |
Video Guides
See here for all our video guides.
These guides explore our UI components in greater detail and demonstrate how to easily perform a variety of common actions using the Stream Video Android SDK, such as:
- Client & Authentication
- Joining & Creating Calls
- Adding Push Notifications
- Picture-in-Picture
- Screen Sharing
- Video & Audio Filters
- Chat Integration
- Recording & Broadcasting
Compose UI Components:
- VideoRenderer
- CallContent
- AudioCallContent
- ParticipantVideo
- CallLobby
- UI Cookbook
- UI Previews
- UI Testing
What is Stream?
Stream allows developers to rapidly deploy scalable chat messaging and real-time video communication with an industry leading 99.999% uptime SLA guarantee.
With Stream's chat components, developers quickly add chat to their app for a variety of use-cases:
- Video calling & room like Zoom or Google Meet
- Audio room like Clubhouse
- Livestreams like Twitch or Youtube
- In-Game chat like Overwatch or Fortnite
- Team style chat like Slack
- Messaging style chat like Whatsapp or Facebook's messenger
- Commerce chat like Drift or Intercom
πΌ We are hiring
We've recently closed a $38 million Series B funding round and we keep actively growing. Our APIs are used by more than a billion end-users, and you'll have a chance to make a huge impact on the product within a team of the strongest engineers all over the world.
Check out our current openings and apply via Stream's website.
License
The MIT License (MIT)
Copyright (c) 2014-2024 Stream.io Inc. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.