Meet Mixwave: Effortless Video Transcoding with On-the-Fly HLS Ad and Bumper Insertion

Matthias - Sep 2 - - Dev Community

Hi dev.to πŸ‘‹,

I'm Matthias and I'm excited to introduce the alpha release of Mixwave β€” a self-hosted platform designed to streamline video delivery. With Mixwave, you can easily transcode and package your media for online streaming using straightforward API calls and sane defaults. Plus, you can create dynamic HLS playlists on the fly.

I've been in video for most of my engineering career and came to realize that creating a video delivery pipeline, especially when dealing with dynamic content like ad insertion or bumper insertion, has its own challenges. It’s not just about getting video from point A to point B; it’s about ensuring every frame is perfectly in place, every ad is inserted seamlessly, and every viewer gets a flawless experience, regardless of their device or bandwidth.

Features

  • Transcode your video file into separate quality tracks (eg; 1080p, 720p, 480p).
  • Add multiple audio languages, from different sources to your packaged HLS manifest.
  • Write HLS CMAF playlists directly to S3, ready to be played by HLS.js. And if you want to use the stitcher API, HLS Interstitials support is coming to HLS.js.
  • Scale ffmpeg jobs horizontally, uses bullmq, which scales like a beast across multiple machines.
  • Dynamically stitch HLS playlists together (kinda experimental though), think of a Netflix bumper.
  • Parses a vmap, transcodes and packages the ad media files and inserts interstitials, on the fly.

Mixwave has long been my toy project but I decided to clean things up and release it for others to enjoy!

Don't hesitate to reach out on GitHub if you have questions or you feel like starting a discussion!

.
Terabox Video Player