Introducing Mux Video: Upload, Transcode, and Stream Across Your Platform
Introducing Mux Video: Upload, Transcode, and Stream Across Your Platform
Release v1.0.75
Video has always been central to quality coaching — showing athletes exactly how a movement should look, giving members a way to submit their form for review, and building a Skills School that teaches progressions visually. Until now, wiring all of that together required juggling separate upload services, manual transcoding, and brittle CDN configuration. With v1.0.75, that complexity disappears.
We've integrated Mux as the video infrastructure layer for the entire platform. Here's what that means in practice.
Movement Library Videos
Every movement entry in the library can now carry a demonstration video. Coaches upload directly from the movement editor — no external tools, no separate hosting. Mux handles transcoding automatically and the video appears inline for members once it's ready.
Skills School Lessons
Lesson creators can embed video without leaving the lesson editor. Whether it's a technique breakdown, a progressions walkthrough, or a coach talking through standards, the same upload-and-play workflow applies.
Member Video Submissions
This is the flow that closes the loop between coaches and athletes. Members can now record or select a video on their device and submit it for coach review — a form check on their squat, a benchmark workout, a skills test. The video goes straight to Mux, transcodes, and lands in the coach's review queue ready for annotation and feedback.
How It's Built
A few design decisions are worth calling out for anyone integrating or building on top of this.
Server-side upload URL generation. Mux API credentials never touch the client. The server issues a short-lived upload URL, the browser puts the file directly to Mux, and the server links the resulting asset to the right record before any bytes have been transferred.
Webhook-driven readiness. Transcoding is asynchronous. The platform subscribes to Mux's video.asset.ready event, and only when that fires does the video become visible to members. There's no polling, no guessing — just a reliable state machine: uploading → processing → ready.
A single reusable player. Rather than wiring up the Mux SDK in three different places, a shared MuxPlayer component handles playback everywhere — movement library, lessons, and submission reviews all use the same component with consistent controls and styling.
Adaptive streaming out of the box. Every video is delivered as an HLS stream. Members on a phone over LTE get a lower-quality stream that doesn't buffer; members on desktop WiFi get full quality. No configuration needed.
Getting Started
If you're self-hosting or configuring a new environment, you'll need three environment variables from your Mux dashboard:
MUX_TOKEN_ID
MUX_TOKEN_SECRET
MUX_WEBHOOK_SECRET
See the Mux Video Upload & Asset Management feature guide for full setup details, API reference for the upload URL endpoint, and documentation on the MuxPlayer component.
Video coaching at scale is one of the things that separates a great fitness platform from a generic scheduling app. This release makes it a first-class part of the platform — for coaches building their library, instructors teaching progressions, and members getting real feedback on their movement.