superstreamer is a free, open source digital asset management (dam) project written in TypeScript and released under MPL-2.0. It has 1,410 GitHub stars, 57 forks and 30 open issues, and was last pushed 7 months ago. On this registry it ranks #18 of 25 tracked projects in Digital Asset Management (DAM), with 5 head-to-head comparisons available.

What is superstreamer?

What it is

Superstreamer is an open-source, self-hostable video streaming platform written in TypeScript under the MPL-2.0 license. It lives in the ecosystem of server-side media servers, HLS delivery, video processing, and digital asset management, and it presents itself as an all-in-one toolkit from ingest to adaptive video playback for developers who need practical video tooling rather than a managed streaming service.

The concrete problem it addresses is the operational complexity of preparing video files for online delivery. Instead of requiring a team to assemble separate transcoding, packaging, storage, advertising, and player-integration steps, Superstreamer provides simple API calls and defaults for transcoding media into quality tracks, writing HLS CMAF playlists to S3, and creating dynamic HLS playlists with bumpers, ads, and filters. This gives a developer a single server-side path for turning raw media into adaptive streams.

Key capabilities

  • The platform can transcode video files into separate quality tracks, such as 1080p, 720p, and 480p, for adaptive streaming delivery.
  • It can write HLS CMAF playlists directly to S3 so packaged media is ready for playback from storage.
  • It can create dynamic HLS playlists on the fly by adding bumpers, linear ads, and filters through API-driven packaging.
  • It can insert linear ads as interstitials by providing a simple VMAP, or schedule VAST manually for ad delivery.
  • It provides a player facade that gives a simplified API alongside HLS.js for developers building a custom player UI.

Who uses it and how

  • Developers building a custom player UI use the player facade with HLS.js to expose playback behavior through a simplified API.
  • Self-hosted media teams use API calls to transcode source files into multiple quality tracks and package them for online streaming.
  • Advertising-enabled services use VMAP or manual VAST scheduling to place linear ads into HLS streams as interstitials.
  • Streaming platforms that need bumper insertion use HLS interstitials to stitch bumpers into dynamic playlists on the fly.

Getting started

Typical deployment uses Docker Compose from the docker directory: copy docker/.env.example to docker/.env, configure the environment, and run docker compose up -d with the prebuilt containers.

When to use it — and when not to

Use Superstreamer when you want a self-hosted TypeScript toolkit for transcode, HLS CMAF packaging, S3 delivery, ad insertion, and custom player integration. Do not choose it if you need a fully managed hosted streaming service, because the README describes Docker-based self-hosting and says self-hosting can be challenging. The facts show 1,410 stars, 57 forks, 30 open issues, and no contributor count, so teams should evaluate maintenance and operational readiness before production use.

project readme (upstream, from github) — read inline

Superstreamer

From video processing to playback in a matter of minutes.

stars pr discord

Documentation · Getting Started · Contributing

Superstreamer is a self hostable platform that aims to simplify the complexities of video delivery. Transcode and package your media for online streaming with simple API calls and sane defaults, or craft dynamic HLS playlists on the fly with bumpers, ads and filters.

  • Transcode your video file into separate quality tracks (eg; 1080p, 720p, 480p).
  • Write HLS CMAF playlists directly to S3, ready for playback!
  • Want to insert a bumper like Netflix? Stitch it as an HLS interstitial on the fly.
  • Insert linear ads as interstitials by providing a simple VMAP, or schedule VAST manually.
  • Use our player facade, a simplified API alongside HLS.js, tailored for developers building a player UI.

Give us a ⭐ if you like our work. Much appreciated!

Getting Started

# We have prebuilt containers, see docker/docker-compose.yml
cd docker
# Copy the example .env
cp .env.example .env
# Configure the .env
docker compose up -d

Self-hosting can be challenging, but we aim to make hosting Superstreamer as easy as possible. Check out the Getting Started section for more information. It should get you started in minutes.

Screenshots

Dashboard stitcher Dashboard stitcher Dashboard assets Dashboard job

Contributing

We love our contributors! Here's how you can contribute:

Support

I've lost count of the weekends I’ve sacrificed to this project. If you think Superstreamer adding value to your company — or just want to help me remember what sunlight looks like — consider sponsoring! You can also pitch in by writing code, docs, or just spreading the word. Any help is hugely appreciated! 🥰

Frequently asked questions

Is superstreamer free to use?

superstreamer is open source under the MPL-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does superstreamer do?

An open, scalable, online streaming setup. All-in-one toolkit from ingest to adaptive video playback. Built for developers in need of video tooling.

What is superstreamer written in?

superstreamer is primarily written in TypeScript. Its source is publicly available at https://github.com/superstreamerapp/superstreamer, and it has 1,410 GitHub stars.