I've never used video.js, and the site/advertising seems to be fairly oriented towards people who have used it or are familiar with it.
I had one question I couldn't answer reading the site: what makes this different from the native html video element?
AFAICT just the transport controls?
Fair point, we could answer that more directly on the site. Besides the comparison were there other things that make it seem oriented to people already familiar with it?
Generally, the video tag is great and has come a very long way from when Video.js was first created. If the way you think about video is basically an image with a play button, then the video tag works well. If at some point you need Video.js, it'll become obvious pretty quick. Notable differences include:
* Consistent, stylable controls across browsers (browsers each change their native controls over time)
* Advanced features like analytics, ABR, ads, DRM, 360 video (not all of those are in the new version yet)
* Configurable features (with browsers UIs you mostly get what you get)
* A common API to many streaming formats (mp4/mp3, HLS, DASH) and services (Youtube, Vimeo, Wistia)
Of course many of those things are doable with the video tag itself, because (aside from the iframe players) video.js uses the video tag under the hood. But to add those features you're going to end up building something like video.js.
Part of what makes AI useful to me is getting though the layers of "what the hell is this, exactly" that slow you down when you jump more than one level beyond your domain knowledge. I think every knowledge container (document, website, what have you) should have a "what the hell is this" link /rich tooltip /accordion section /whatever by default.
Of course, AI explanations often also fail at this unless you give them "ELI5" or other relevant prompting (I'm looking at you Perplexity).
> Advanced features like [...] ads
I understand the use-case for this, but I find it working against the spirit of free software, which is bringing control back to the user.
I’m not sure which user we’re talking about, but it’s up to the video.js user to decide if and when they use ads. Just like it’s up to YouTube. Video can get expensive, so some video wouldn’t exist without some form of monetization.
The user who uses the software running in his browser.
The user can still ad-block. Or choose to let the ad to run to fund the video producer.
Aren't most advertisements served by Linux servers these days? Free software isn't a monastery, as utopian as that ideal sounds.
it just doesn’t work in every environment. every browser version has it’s own issues and edge cases. If you need stable video player or want streaming features you should use it.
P.S i built movie streaming and tv broadcasting player for country of Georgia and supported environments from 2009 LG Smart TVs to modern browsers.
Okay, what about non-streaming vid? I think the vanilla html5 <video> tag is solid, correct?
If all you want is a fix non-streaming, video, yes. Video tag just work. Video.js is catered for those required streaming.
you think it’s solid until you want customization and old browser support. it should work fine if you just want to autoplay a small size mp4 file on mute
Most browsers don't support HLS or DASH.
(And why does that matter? Dynamic bitrate adjustment. The chunks are slightly easier to cache as well.)
> Most browsers don't support HLS or DASH.
Most can via media source extensions.
But that's not native. That's how videojs+HLS.js works, it plugs in the MSE to handle HLS.
Using plain video element plus HLS.js is not complicated or difficult.
[dead]