Skip to content

A media streaming app built with electron , angular and expressJs

License

Notifications You must be signed in to change notification settings

IhebBelhadj/Playpex

Repository files navigation

Playpex logo Playpex

Playpex is a media streaming platform with a 10-foot user interface with spacial navigation

Playpex screenshot

Watch this Youtube video for Playpex App Promo

How it works under the hood

Playpex uses a local server initiated by the electron runtime on application bootstrap to take care of streaming torrents

Disclaimer : This app is done for educational purposes and not intended for commercial use as it is illegal to stream pirated movies and shows

How streaming works ?

The Streaming part works using media source extentions (MSE) and :

  1. Appending a request listeners on the server for byte range requests
  2. Sending an event to the torrent streamer to prioritize that byte range
  3. Set the response headers and wait for data
  4. Pump the stream of downloaded data to the client that way you download the content from the Torrent Streamer and pump the downloaded content back to the client at the same time

The server part

You can check the playpex server repo if you are intrested in the server implementation of playpex which provides a Ready to use API for streaming torrents

The client side

The client side is built with angular v14

The inerface works with spacial navigation(Navigation with keyboad) to simulate the TV app experience and in the next update i'm working on adding a remote app to download on your phone

State management solution

Playpex uses services and behavior subjects to manage state including

  • focused element
  • fetched movies for each categorie
  • last selected movie from each category and more

This ensures a smooth navigation between routes

How to use Playpex

You can build the app from scratch after cloning the app or download the compressed version ready to use here

Future updates

  • Adding remote controller app for mobile devices (cross platform using ionic )
  • Using RXJS for managing state
  • Recreating module structure and implementing lazy loading to get a better app performance
  • Adding account logging and saving movies to watch later and track watched movies
  • Add Tv shows section and account management section

About

A media streaming app built with electron , angular and expressJs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published