Skip to content

About

A scalable REST API for real-time video streaming, featuring concurrent data handling for social engagement metrics and live multimedia transmission.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Titans – Android Video Player with Firebase Login

An Android app (Kotlin) where users sign up / sign in with Firebase Authentication and then pick one of four videos to play: two streamed over RTSP from a public demo server and two bundled with the app. There is no backend or REST API in this repository.

Features

  • Sign up with email, password and password confirmation (Firebase createUserWithEmailAndPassword), with empty-field and password-match checks.
  • Sign in with email and password; users who are already signed in skip straight to the main screen.
  • Main screen with four video buttons and a LogOut button (Firebase signOut).
  • Video screens (VIDEO1–VIDEO4) using Android VideoView + MediaController, with a loading spinner until rendering starts and the playback position kept across pause/resume:
    • VIDEO1, VIDEO3: stream rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4 (a public Wowza demo stream; availability depends on that server).
    • VIDEO2, VIDEO4: play the bundled res/raw/video2.mp4.

Tech Stack

  • Kotlin, Android SDK (compileSdk/targetSdk 32, minSdk 26)
  • Firebase Authentication (firebase-auth-ktx)
  • AndroidX AppCompat, Material Components, ConstraintLayout, View Binding, Kotlin Android Extensions (synthetic views)
  • Android VideoView / MediaController (RTSP and local playback)

Repository Contents

app/
├── build.gradle
├── google-services.json                 # Firebase config
└── src/main/
    ├── AndroidManifest.xml
    ├── java/com/example/titans/
    │   ├── SignInActivity.kt, SignUpActivity.kt
    │   ├── MainActivity.kt              # video menu + logout
    │   └── VIDEO1.kt … VIDEO4.kt        # video player screens
    └── res/
        ├── layout/                      # one layout per activity
        └── raw/                         # goat.mp4, momken.mp4, video.mp4, video2.mp4

Only video2.mp4 is referenced in code; the other three files in res/raw/ (about 87 MB together) are not used.

How to Run

  1. Open the project in Android Studio.
  2. Create your own Firebase project, enable Email/Password sign-in, register the app id com.example.titans, and replace app/google-services.json with your own file.
  3. Build and run on a device or emulator with internet access (needed for sign-in and the RTSP videos).

Developed by Khaled Walid

About

A scalable REST API for real-time video streaming, featuring concurrent data handling for social engagement metrics and live multimedia transmission.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages