Skip to content

Onurcan-Keskin/exovideo

Repository files navigation

ExoVideo - Reference App

Table of Contents

Seemless video application platform that you can record share anywhere you want, anytime you want!

Introduction

About Huawei Video Kit

Today's users interact with videos to an unprecedented degree. Smoother HD video playback, bolstered by wide-ranging control options, raises the ceiling for your app and makes it more appealing.

About Huawei Account Kit

The faster your user signs in to your app, the faster they adopt it. There's no quicker and safer way to do this than with their HUAWEI IDs based on two-factor authentication. Access the Huawei ecosystem of users with seamless sign-ins from different devices and grow your user base.

About Huawei Auth Service

Integrate a client SDK and access our cloud service to build a secure and reliable user authentication system aggregating multiple authentication modes for your app.

About Google Firebase Authentication

Firebase Authentication aims to make building secure authentication systems easy, while improving the sign-in and onboarding experience for end users. It provides an end-to-end identity solution, supporting email and password accounts, phone auth, and Google, Twitter, Facebook, and GitHub login, and more.

About Google Firebase Database

The Firebase Realtime Database is a cloud-hosted NoSQL database that lets you store and sync data between your users in realtime.

About Google Firebase Storage

Cloud Storage for Firebase is a powerful, simple, and cost-effective object storage service built for Google scale. The Firebase SDKs for Cloud Storage add Google security to file uploads and downloads for your Firebase apps, regardless of network quality. You can use our SDKs to store images, audio, video, or other user-generated content. On the server, you can use Google Cloud Storage, to access the same files.

About Exo Player

ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently supported by Android’s MediaPlayer API, including DASH and SmoothStreaming adaptive playbacks. Unlike the MediaPlayer API, ExoPlayer is easy to customize and extend, and can be updated through Play Store application updates.

Providers

This ExoVideo Android Application has been built with flavors.

Database-wise operations are being handled with Firebase Realtime Database and Firebase Cloud Storage.

DRM

Digital Rights Management.

For more information, see the page

HMS

For watching videos it uses Video Kit

For login processes it uses Huawei Auth Service, Huawei Account Kit.

GMS

For watching videos it uses Exo Player 2.0 for watching videos.

Also for login procesess app uses Firebase Authentication

What You Will Need

Hardware Requirements

  • A computer that can run Android Studio.
  • An Android phone for debugging.

Software Requirements

  • Android SDK package
  • Android Studio 3.X
  • API level of at least 23
  • HMS Core (APK) 4.X or later (Not needed for Exo Player 2.0)

Getting Started

HMS Build

This Video and Auth Service service app uses HUAWEI services. In order to use them, you have to create an app first. Before getting started, please sign-up for a HUAWEI developer account.

After creating the application, you need to generate a signing certificate fingerprint. Then you have to set this fingerprint to the application you created in AppGallery Connect.

  • Go to "My Projects" in AppGallery Connect.
  • Find your project from the project list and click the app on the project card.
  • On the Project Setting page, set SHA-256 certificate fingerprint to the SHA-256 fingerprint you've generated. AGC-Fingerprint

Notice that under app level build.gradle signingConfigs sections are marked as "xxx". Generate sign-in configs for this project to use the app properly.

GMS Build

Using the Application

HMS Build

On initial launch login page welcomes you either by entering your email or using your Huawei ID you may proceed to the Main page.

By sliding up or down you may traverse between videos, give lovely to them, share them or drop a comment to them. If you're curious you may observe about the additional information about videos.

By pressing Home you will refresh the videos or from the Record you can either enter Url's you want to watch or record your own videos to share them appwise globally.

From your Profile page you may change the language to English or Turkish.

GMS Build

On initial launch login page welcomes you either by entering your email or using your Google Account you may proceed to the Main page.

By sliding up or down you may traverse between videos, give lovely to them, share them or drop a comment to them. If you're curious you may observe about the additional information about videos.

By pressing Home you will refresh the videos or from the Record you can either enter Url's you want to watch or record your own videos to share them appwise globally.

From your Profile page you may change the language to English or Turkish.

Goals

The goal of this application is to show the difference and implementation styles of both both Video Kit and Exo Player 2.0

Features

  • Turkish-English Language support
  • Record videos.
  • Give lovely to videos, share the m on your favorite platforms or drop a comment to them.
  • On your own profile page either open them to share or hide them, or watch on fullscreen.

Screenshots

Project Structure

This app is designed with MVP design pattern.

Libraries

Global

HMS

GMS

Contributors

  • Onurcan Keskin

License

HMS

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.

GMS

Copyright 2017 Google Inc.

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages