We offer customization solutions and support ([email protected]) | Visit us on bitbyte3 for complete VOD solutions with apps.
NixStream

Overview

NixStream self-hosted video platform documentation

NixStream is a self-hosted video stack. Upload VOD, transcode to HLS/DASH, run live from OBS, share links, embed the player, hook your app up via the client API. You host it. You own the files and the database.

Not a YouTube clone. No discovery feed, no recommendation engine. Just hosting, encoding, and delivery on your hardware.

Who this is for

  • Own server, own files, own viewer data
  • Adaptive VOD without per-minute SaaS fees
  • Occasional live from OBS
  • Password shares or embeds on your site
  • Upload/list via your own app through the API

One modest box handles a solid VOD library. Don't expect a dozen simultaneous live channels on a $5 VPS.

What you can do

VOD: upload, folder collections, multi-bitrate HLS/DASH, thumbnails, Whisper subtitles.

Live: RTMP ingest, HLS playback while live, optional recording to VOD after the event ends.

Sharing: public or password links, email invites, embed codes, domain/geo rules.

Security: signed playback through nixstream-edge, AES-128 on VOD segments, API keys for automation.

Imports: pull from Vimeo, Google Drive, or Dropbox over OAuth.

Known rough edges

Real limitations as of the current release:

  • HEVC/H.265 live is unreliable on CPU and GPU. Stick to H.264 for live until this is fixed.
  • Local disk cleanup: live archive FLVs and transcript working dirs sometimes linger after jobs finish. Check storage/app/public/live_archive and storage/app/media/vod/outputs/transcripts if disk usage climbs.
  • Encoding profile edit: codec selection on edit can show the wrong value when switching profiles. Verify before saving.
  • Scale: built for personal/small-team self-hosting, not broadcast CDN replacement.

Architecture

Typical workflows

Upload and publish VOD

  1. Upload from the panel or POST /api/client/v1/uploads
  2. Queue worker runs media-vod
  3. Thumbnails and optional Whisper VTT
  4. Video shows up in the library

Live event

  1. Create stream in Live
  2. Paste RTMP URL + key into OBS
  3. Viewers use the player or a share link
  4. Enable Save recording as VOD if you want the FLV archived after stop

Wire up your app

Grab an API key from Settings > General, then upload, poll status, list videos, and create share links under /api/client/v1/*.

Fastest way in: Docker install. Bare metal: manual install. For automation see the Client API; for OBS see live streaming.

On this page