VHS Next
We are currently working on a new version of the VHS (Video.js HTTP Streaming). You can find the related RFC here: https://github.com/videojs/rfcs/pull/3.
Please note that the VHS library will soon enter maintenance mode, and active development will shift towards the new version.
Any ideas what is going on with this project. There is alot of unfixed bugs. We've run into an audio sync issue not visible with hls.js and the ticket #1534 has been around for a while unfixed. Is there a new project to test with video.js ? It doesn't work currently with Safari either.
Hi @danrossi Here is more info in Slack: https://videojs.slack.com/archives/C43LGP955/p1759705723546719?thread_ts=1759305559.335549&cid=C43LGP955
I don't have access to that sadly.
@danrossi Sure, here is the message from Steve Heffernan:
After Bending Spoons acquired Brightcove and let go of most of the vjs contributors the project was in an awkward place and keeping up with communication has been tough. Mux has stepped in as the new corporate shepherd and has been actively working towards the v10 that I announced earlier in the year. I recently gave a talk at the IBC conference outlining some of the goals. I'll be giving a deeper dive talk on it at Demuxed at the end of October. After that myself and others will be able to do more to support the community. We'll get the project back on track here soon.
In a nutshell: There will be minimal to zero updates to the existing code base, and a new major version of the player is under development. Also, I would assume, there won't be any further development associated with the RFC outlined in this issue.
Yes I got that message before. Is there a new codebase to test ? There is a few critical issues with VHS. One I now discovered overrideNative: false turned on native HLS for chrome which they just rolled out. Which has bugs hence the audio sync issue. And doesn't even work for Safari.
v10 repo: https://github.com/videojs/v10
Slack is being discontinued in favour of video-dev Discord - #videojs channel: http://discord.gg/JBqHh485uF
Thanks. Which area do I add suggestions. I build custom features for the player already for years which requires overriding and hacking the player and its components which that one seems hard to do. And I see alot of stuff missing no json config option, plugin system or tech/source handler to add your own streaming backends ie a webrtc publisher / subscriber I built and shaka player for offline playback features and was required for a webkit hls bug work around with the audio api.
So you are going back to hls.js. I just had to build a hlsjs source handler to debug problems with chrome caused by the current vhs.
I had to build a custom component for next and would rather work with typescript internally and use the component in pages as a markup with args. The react option looks limited. There was also alot of tricks needed to handle disposing and property changes and you don't have control of that as a react component. react native a different story.
Discord, or a discussion on that repo would be good places to feed into the development.
I will get around to discussing my needs for easy modification and customisations on discord where industry seems to be. Ive been a customiser and modder of videojs since around 2010 I think or around then and Flowplayer since 2006.
The markup is impossible to use or work with. And rather keep react player components as TS videojs like we already built which is included on the page as a component markup. It allows for event handling and custom configs, property change and disposing to be handled properly and have control over it. I found react component disposing to be nasty and required effort to make it all work. I hope the component we just spent time building doesnt require too much internal refactoring as it will be hard to justify having to do that within a year. I am sure all my plugins I build into it need refactoring.
Requires what is already in place
- json configuration and javascript setup.
- event handling.
- plugin support. all my work is with plugin features.
- stream resolver middleware support. I use this to resolve multiple sources. One is for a live stream fallover / load balancer feature and another to provide safari sideloaded VTT HLS.
- tech / source handler support. I have a tech for chromecast, youtube, video, dailymotion and an offline playback shaka player feature. which I also have to use as a Safari HLS hack for my audio meter plugin as VHS doesnt provide buffer appending events. But after having to build a hlsjs source handler to fix bugs with VHS I can move shaka to a source handler.
- ability to patch the player with custom methods to interact with plugin features.
- button and UI components being moddable. I am able to mod and override the components to replace icons and add custom features.