Replies: 6 comments 22 replies
-
I am not a JS developer, but as an outsider, it seems like a bad plan to re-write with the intention of React or any currently popular JS framework as a "first class" supported entity; a good abstraction layer that could be used to write a high quality interface to any framework seems like a better plan - but that is an uninformed comment from someone that doesn't know anything about the problem space... |
Beta Was this translation helpful? Give feedback.
-
I'd consider determining browser support early in the rewrite, as it will essentially decide who can use VideoJS for what purpose. Chrome 38 and Chrome 53 are the two big cut-off versions for a lot of the set-top / smart TV market and feature set. Making heavy use of polyfills kills the performance of the applications, so polyfilling up to the base level of support makes supporting the best video features difficult on the platforms. I understand that it's a small percentage of users who likely care, but for example: video-dev/hls.js#4939 This made it where hls.js could be running alongside a WebGL rendered application at full framerate, to the rAF loop lagging and killing the overall application UX. Essentially, is VideoJS going to target evergreen desktop / mobile users only? |
Beta Was this translation helpful? Give feedback.
-
Can we add missing DASH features https://github.com/videojs/http-streaming/blob/main/docs/supported-features.md ? |
Beta Was this translation helpful? Give feedback.
-
MoQ I'd love to see, if not immediate MoQ support, at least some consideration given to having a path for adding MoQ support in the future as that ecosystem begins maturing. There are a lot of unknowns still at the "streaming format" layer, and we'll likely want to support multiple packaging formats, but thinking through the types of affordances developers may want could help us co-evolve implementations. Both moq-js and/or moq-encoder-player could be part of how this comes together. |
Beta Was this translation helpful? Give feedback.
-
Having first class support for swappable playback engines could go a long way to help address many of the issues being discussed. Media Chrome's custom media elements and Vidstack's media providers are good examples of this. I know VideoJS has the concept of "techs", but I'm only familiar with them at a high level. Would they be a good candidate for this, or would we need something new? |
Beta Was this translation helpful? Give feedback.
-
One issue that keeps coming back when dealing with video-players is the bundle size and download time. |
Beta Was this translation helpful? Give feedback.
-
Hello VideoJS community! 👋
I’m here with an update on VideoJS v10, which will be a major revamp of the project. As we plan and build, the steering committee would love to hear any input on how you’d like to see the project improve or just change moving forward.
May 17, 2025 will be 15 years since I pushed the first version to Github, and wow have we achieved a lot:
It’s been the greatest privilege to be associated with this project and community, both of which have grown much bigger than I ever expected.
Fifteen years is a long time in Javascript land. In 2010 jQuery was just becoming the most popular library, ES5 had limited support, and Internet Explorer 8 was the most used browser. I started VideoJS to help bridge from Flash video to HTML5 video. It was actually first a tutorial on my personal blog, explaining how to build video player controls with HTML/CSS/JS, which I then rolled into a library after some people showed interest.
We’ve of course evolved VideoJS over time (remember that Closure Compiler phase?), but the tools web developers use today are much different from when the project was started. React, Typescript, and Tailwind are the most common defaults compared to the semantic HTML/CSS and vanilla JS of 2010. We think that warrants taking a big step back and considering how the project is and is not still serving the needs of modern JS, and making changes in v10 that will help VideoJS live on another 15 years. Some topics already on our minds include:
Drop a note in the comments if you have thoughts on those or other topics for us to consider. 🙏
Media Chrome, too
With VideoJS I wanted people to customize their players in interesting ways, so myself and other contributors spent a lot of time making the CSS and APIs of VideoJS as accessible as we could within the limits of the platform. While I’m proud of that effort I think it had minimal success, with most VideoJS users opting for the default theme. I assume that’s because not many people had the time or interest to learn VideoJS-specific components.
With that in mind, in 2019 I went on a side quest to build Media Chrome using Web Components. I saw the opportunity to make player components that felt like simple HTML and also could be used across many JS frameworks without framework-specific wrappers. While I’ve been a web component evangelist for many years now and still consider myself one, if you’ve kept up with JS news you know they’re not clearly the silver bullet for cross-framework compatibility that I hoped. While Media Chrome continues to grow in popularity itself, this is a good moment to consider the direction ahead for both projects. I’ve always hoped they’d come together, and that’s the current plan, without specific details yet.
Corporate Shepherding
What makes this a good moment is the recent changes in the VideoJS world. Since 2012, Brightcove has been the Corporate Shepherd of VideoJS after acquiring my previous company, Zencoder. They've provided resources and support that helped the project flourish over the years. With recent organizational shifts, the Technical Steering Committee (TSC) has approved Mux (my current company) stepping in as the new Corporate Shepherd going forward.
I’m of course biased, but this feels like a natural fit as we look toward VideoJS's next chapter. I’ll be happy to spend more of my own time on VideoJS, and so will other player devs on the Mux team. Mux is all about video tech for developers, and we're passionate about supporting open source tools that make video development more accessible. The TSC is excited about this new partnership and the momentum it'll bring as we modernize VideoJS for today's dev landscape.
What’s Next
VideoJS is currently at v8 and we're going to reserve v9 for iterative API-breaking changes while we plan and build v10. Here's the roadmap we’re aiming for:
This timeline gives us enough runway to reimagine VideoJS for modern development while ensuring we don't rush the process. We want to get this right.
Drop comments in this discussion if you have any feedback on where you'd like to see the project go next. 🙏
Cheers!
-heff
Beta Was this translation helpful? Give feedback.
All reactions