Video
Video without the YouTube tax — no ads, no recommendation rabbit hole, no "your video is unavailable in your region." Eduskript hosts your videos via Mux, which means adaptive streaming on every device, plus auto-generated subtitles.
Upload and embed
Drop an .mp4 or .mov file into your skript's Videos drawer. Mux processes it for adaptive streaming (this takes a minute or two for the first viewing — the file becomes available in the videos list with a "processing" indicator until ready).
Once ready, embed it in markdown like an image:

The video player gets:
- Poster (preview frame)
- Play / pause / scrubber
- Volume
- Captions toggle (auto-generated subtitles)
- Fullscreen
- Adaptive quality selection
All automatically. No configuration needed for any of it.
Custom thumbnails (posters)
By default, the poster is the very first frame of the video — which is often a black frame or a logo. Pick a better one by adding a markdown image-title:

The poster value can be:
- A filename of an image you've uploaded to the same skript (resolved like any other image)
- An absolute URL (
https://...) — used as-is
The same thing in HTML:
<muxvideo src="lecture.mp4" poster="thumbnail.jpg" ></muxvideo>
Both syntaxes converge on the same player. If you don't specify a poster, the auto-generated Mux thumbnail (frame at time=0) is used as a fallback.
Auto-generated subtitles
Every uploaded video gets English subtitles auto-generated by Mux during processing. Students toggle them on with the captions button on the player. Multi-language subtitle support is on the roadmap.
If the auto-generated subtitles are wrong (technical jargon, accents), you can override by uploading a custom .vtt file via the Video panel's settings (per-video).
Inline playback flags
Two flags in the alt text change playback behavior:

autoplay— start playing on page load (muted, browser policy)loop— restart automatically when finished
Useful for short demo loops in the page background, intro animations, or visual hooks at the top of a lesson.
Adaptive streaming, every device
Mux automatically generates multiple quality renditions (240p, 480p, 720p, 1080p, 4K depending on source). The player picks the right quality based on the student's connection and device:
- Phone on cellular → 480p, ~1MB / minute
- Laptop on WiFi → 1080p, ~10MB / minute
- TV on fast WiFi → 4K, ~30MB / minute
Students can override via the player's quality menu if they want to force a specific resolution.
When to use video, when not to
Video shines for
- Step-by-step walkthroughs of complex procedures
- Lab demonstrations that can't be replicated digitally
- Instructor introductions for online/hybrid courses
- Anything that's genuinely a sequence of motions you need to see
Video doesn't shine for
- Static "talking head explains a concept" — text + diagrams + an interactive demo are usually more engaging and easier to update later
- Code walkthroughs — a live
python editor(where the student can pause, edit, run) beats watching someone type- Anything you might need to fix later — editing video takes 100x longer than editing markdown
Cost and storage
Videos count against your Mux usage (storage + minutes streamed). The free tier covers a fair amount of teaching content. For institutional usage with hundreds of videos, talk to your org admin about Mux billing tier.
Videos use the same content-addressed deduplication as files — if you upload the same video to two skripts, it's stored once.
Video cheat sheet
| Goal | Syntax |
|---|---|
| Embed a Mux video |  |
| Custom poster from skript files |  |
| Custom poster from URL |  |
| Autoplay + loop (silent background) |  |
| Direct HTML form | <muxvideo src="x.mp4" poster="thumb.jpg" ></muxvideo> |