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. 1

    Video.js

    Apache-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. 2

    PeerTube

    AGPL-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. 3

    MediaCMS

    AGPL-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. 4

    Owncast

    MIT 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

ToolLicenseSelf-hostBest for
Video.jsApache License 2.0EasyA <video> tag you host, not a library OS.
PeerTubeGNU Affero General Public License v3.0MediumA library if JW Player was the host, not the embed.
MediaCMSGNU Affero General Public License v3.0MediumPrivate uploads if PeerTube federation is not the job.
OwncastMIT LicenseEasyA 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.

Sponsor this page