What's included
Superstreamer is a monorepo, with multiple smaller projects inside. We'll provide a quick overview of the service, apps and libraries below to give you a sense of what each one does.
Building blocks
Getting the bigger picture from a high-level perspective can be challenging, but we'll do our best to guide you through how the different building blocks come together.
Ideally, Superstreamer provides tools that cover everything from input source files, like an MP4, all the way to playback, such as a player embedded in a page. However, you're free to choose the tools that best fit your use case and extend them with Superstreamer's features as needed.
Backend
API 
The API serves as the primary interface for interacting with Superstreamer, such as start tasks like transcoding or packaging jobs. An OpenAPI structure is exposed on the /openapi endpoint.
Artisan

The actual job runners, these run in the background and consume whatever job API has scheduled next. Artisan instructs ffmpeg to run, or packages a previously transcoded asset to an HLS playlist and syncs it all to S3.
Stitcher 
Also referred to as a "playlist manipulator", Stitcher can create a session for each user and generate a custom HLS playlist tailored to their needs, including resolution filtering and the addition of bumpers or linear ads. The stitcher has its own API. An OpenAPI structure is exposed on the /openapi endpoint.
Frontend
App 
A Single Page Application (SPA) used to interact with the API or start a session on the Stitcher service.
Player 
The player facade simplifies HLS.js with an intuitive API for building the player. It offers player-friendly methods, supports plugins, and provides React hooks for efficient state management.