Best / HTML video players
Best open-source HTML video players
The best self-hosted video-player split in the c17.io catalog is Video.js for an Apache-2.0 embed (the published JW Player path — LICENSE; GitHub license field is unset), PeerTube when the job is an AGPL-3.0 federated library rather than a player tag — /compare/videojs-vs-peertube, MediaCMS when you want that AGPL-3.0 library without federation — /compare/peertube-vs-mediacms, and Owncast when the job is MIT livestreaming rather than a VOD embed — /compare/owncast-vs-peertube. This is not JW Player's every advertising or DRM SKU, or Vidyard's every viewer-analytics pack. Async recordings stay on /best/screen-recording. A hosted library with more logos stays on /best/video-hosting.
Open the stackStart on Railway
Ranked picks
1
Video.jsApache-2.0 embed player (40,022 stars in the catalog) — the c17 JW Player path. /compare/videojs-vs-peertube.
When to pick it: A <video> tag you host, not a library OS.
40,022 stars in the catalog
2
PeerTubeAGPL-3.0 federated VOD already on /best/video-hosting. /compare/videojs-vs-peertube.
When to pick it: A library if JW Player was the host, not the embed.
15,363 stars in the catalog
3
MediaCMSAGPL-3.0 video library without federation — /compare/peertube-vs-mediacms.
When to pick it: Private uploads if PeerTube federation is not the job.
5,167 stars in the catalog
4
OwncastMIT livestream already on /best/live-streaming. /compare/owncast-vs-peertube.
When to pick it: A live room, not a JW Player VOD embed.
11,621 stars in the catalog
How they compare
| Tool | License | Self-host | Best for |
|---|---|---|---|
| Video.js | Apache License 2.0 | Easy | A <video> tag you host, not a library OS. |
| PeerTube | GNU Affero General Public License v3.0 | Medium | A library if JW Player was the host, not the embed. |
| MediaCMS | GNU Affero General Public License v3.0 | Medium | Private uploads if PeerTube federation is not the job. |
| Owncast | MIT License | Easy | A live room, not a JW Player VOD embed. |
Related pages
FAQ
- Video.js or PeerTube?
- Video.js if you want the published JW Player embed. PeerTube if the job is a library you host — /compare/videojs-vs-peertube.
- JW Player or Vidyard?
- JW Player is the embed — /replace/jw-player. Vidyard is the hosted library — /replace/vidyard.
- Is this Loom?
- Async capture stays on /replace/loom. This page is a player or a library.
- Are these free?
- Video.js is Apache-2.0. PeerTube and MediaCMS are AGPL-3.0. Owncast is MIT. You pay hosting. Template users never pay c17.
- How do I deploy it?
- Open /stacks/peertube-video. Persist object storage. Confirm one embed or one upload.
Stack of the Week
Get one stack a week that replaces a SaaS bill.