video.js VS hls.js

Compare video.js vs hls.js and see what are their differences.

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
video.js hls.js
33 26
37,169 14,175
0.7% 1.6%
8.7 9.9
4 days ago 4 days ago
JavaScript TypeScript
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

video.js

Posts with mentions or reviews of video.js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-07.
  • Stream to Chromecast with resolved, vlc and bash
    5 projects | news.ycombinator.com | 7 Jan 2024
    For people who like to watch with subtitles, VLC currently doesn't support streaming to chromecast with SRT subtitles.. there are several issues for it and I believe support is slated for the next major version of Chromecast, but not sure when that will be.

    The typical "workaround" is to reencode the video file to include the subtitles directly, but that sounded like too much work, so I hacked together a static page using https://videojs.com/ to embed a player and load the video and subtitles in a browser window.

    Here it is in gist form if anyone has a similar issue: https://gist.github.com/HartS/9bb2721fa73b6798efcdbf5c463e87...

    This was hacked together as quickly as possible for my own needs, so definitely not intended to be an example of clean code. You need to run the python server separately to serve the SRT because video-js can't load it from a file URL IIRC

  • Wanted - IPTV Front-end
    2 projects | /r/selfhosted | 20 Jun 2023
    Thank you! This is the kind of creative solution I was looking for. Your comment helped me find video.js which has first-party support for opening M3U8 streams.
  • Floatplane is a disappointment
    1 project | /r/LinusTechTips | 30 Mar 2023
    videojs is superior to basically everything. It's also open source...
  • Best practice for multiple autoplay videos
    1 project | /r/web_design | 23 Mar 2023
    Another option is looking at https://videojs.com/ with the Vimeo video file links.
  • trying do download a blob video
    1 project | /r/javahelp | 4 Jan 2023
    I am woring with HTML - I managed to download a (m3u8) video. by inspecting the webpage (videojs.com).
  • Bibliotecas NodeJS incríveis que você não tem ideia que existem
    16 projects | dev.to | 10 Nov 2022
    🔀 Repositório no GitHub
  • Building a React live streaming app with 100ms
    3 projects | dev.to | 19 Oct 2022
    Now, to display the HLS stream to viewers, we’ll use HLS.js, which we installed earlier. For more UI customizations, you can check out Video.js, which uses HLS.js internally.
  • Videos in HTML
    1 project | /r/django | 28 Sep 2022
    Maybe videojs?
  • Creating and customizing an HTML5 video player with CSS
    1 project | dev.to | 4 Sep 2022
    You can find real-life examples of customized HTML5 video players on YouTube, the Cloudinary Video Player, JWPlayer, and Video JS. Each of these websites or frameworks utilizes the power of CSS to customize their videos or allow their users to do the same.
  • Did the IJF Live player switch from YouTube to their own?
    1 project | /r/judo | 6 Jun 2022
    It looks like the IJF has switched to using the Video.js player on their portal. I'm not sure what to think of that. This could be the IJF taking more control over their IP which is ultimately a good thing. If you want to watch specific matches and see when certain actions happen then you must use their portal.

hls.js

Posts with mentions or reviews of hls.js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-16.
  • Show HN: Caltrans CCTV
    1 project | news.ycombinator.com | 14 Mar 2024
    Good point; there's only a single server handling all the requests so things can be a bit slow depending on the time of day. And there are browser limits to the number of concurrent connections.

    Apple browsers with native HLS support are better than those without as well. Other browsers need to load everything via https://github.com/video-dev/hls.js/ which slows things down.

  • Hls.js – JavaScript Library for HTTP Live Streaming
    1 project | news.ycombinator.com | 20 Aug 2023
  • Video Player just doesn't work
    1 project | /r/fixthevideoplayer | 2 May 2023
    Another user using Ubuntu + Firefox just reported this issue recently. You're likely running into this issue - the streaming library we use requires a codec that some browsers have bundled, but Firefox is not one of them. It expects the OS to provide it, and it sounds like yours is not.
  • Can't get HLS.js to work with Jellyfin for certain media.
    1 project | /r/jellyfin | 26 Apr 2023
    I'm trying to build a simple web player for Jellyfin, for another project I'm working on that will embed a clipper. I am using HLS.js to load HLS streams, which seems to work really well for movies, but not at all for shows.
  • Ajutor realizarea unui live streaming website
    2 projects | /r/programare | 16 Mar 2023
  • Shaka Player for media playback - implementation, use cases, pros and cons
    1 project | /r/javascript | 12 Feb 2023
    If you mean hls.js https://github.com/video-dev/hls.js/, I prefer Shaka because it can play both HLS and DASH, adding tons of stuff on top of it
  • Adding WebRTC support to OBS using Rust
    9 projects | news.ycombinator.com | 15 Dec 2022
    I don't know the answer to the WebRTC part, but as long as you have a server with not-outrageously-priced outbound bandwidth, you can install an open source RTMP server like SRS[1], and stream to that RTMP server from OBS. It's really easy, configure the RTMP server & stream key, then "Start Streaming" which is right next to "Start Recording". You can then hand your friends a link, and they can play it in any media player with RTMP/HLS/FLV stream support, or you can add a simple web UI with e.g. hls.js[2] (very easy to write, there might even be prepackaged solutions) so that they truly don't need to download anything.

    [1] https://github.com/ossrs/srs

    [2] https://github.com/video-dev/hls.js/

  • How could I create live stream with AV1
    2 projects | /r/AV1 | 1 Dec 2022
    I think HLS.js solved the same issue for H264.
  • How do you play m3u8 files?
    1 project | /r/webdev | 11 Nov 2022
    hls.js
  • Guide: Simple video host.
    1 project | /r/selfhosted | 30 Oct 2022
    https://github.com/video-dev/hls.js/ <--download the release.zip, unpack it, extract dist/hls.js and dist/hls.js.map you can discard the rest. Near as I can tell these do not contain any external HTTP calls, IE: it's fully self-contained.

What are some alternatives?

When comparing video.js and hls.js you can also consider the following projects:

Plyr - A simple HTML5, YouTube and Vimeo player

react-player - A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia and DailyMotion

awesome-blazor - Resources for Blazor, a .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.

flv.js - HTML5 FLV Player

clappr - :clapper: An extensible media player for the web.

rtsp-stream - Out of box solution for RTSP - HLS live stream transcoding. Makes RTSP easy to play in browsers.

mediaelement - HTML5 <audio> or <video> player with support for MP4, WebM, and MP3 as well as HLS, Dash, YouTube, Facebook, SoundCloud and others with a common HTML5 MediaElement API, enabling a consistent UI in all browsers.

ffmpeg.js - Port of FFmpeg with Emscripten

flowplayer - The HTML5 video player for the web