Wikimedia media playback, now brought to you with Video.js

After many years of work, I’m delighted that all Wikimedia wikis now have their media player provided by Video.js.

The work to replace the older Kaltura media player started during the Wikimedia Hackathon 2015, and has finally reached this milestone after seven years. The Kaltura player has served us well for many years, and it was a great innovation they donated to the movement back in 2010, but unfortunately had been largely unmaintained since. It was time for us to move on. There are more things I still want to do, so we can make watching video files and listening to audio files even better for our readers around the world. Today is a great opportunity to take stock.

The user interface of the new video player. Press the play button to see it in action. Big Buck Bunny 4K CC BY-SA 3.0

There are many benefits Wikimedia readers and editors get from us moving to an industry-standard player. Most directly and significantly, a fifth of our readers’ page views – hundreds of millions of users – who are on the iOS platform can now watch videos on our websites for the very first time.

By simply being an industry standard, Video.js gives us other benefits too. It is based on the HTML5 video standard, which was decided on years after the old Kaltura player had shipped. It is modern code which is maintained, with bugs getting found and fixed by the wider Internet community. It’s using the W3C standard for subtitles, which enables other integrations in the future. And it’s lighter-weight in terms of bytes shipped to users, which is important in helping us save costs for the many readers who pay for network by the transfer.

The benefits are not limited to Wikimedia saving work by using existing open-source code created by other people. Now that we’ve got a more modern codebase, we can also much more easily and more rapidly make future changes. As well as making life better for Wikimedia wikis and our readers, we hope that this will let us propose improvements upstream where Wikimedia’s special interest in language support can be a benefit for the whole of the Web.

In terms of modernising our code, dropping the Kaltura player means we’re dropping tens of thousands of lines of old code and configuration, shrinking the page payload for every page with a video on it by 6.47 KiB, and for all pages (even those without videos on) by 635 bytes, collectively around a TiB of bandwidth saved by our readers every two days.

Although we’ve now switched, I’m sure there will be things you spot about the new video player. Perhaps there’s an edge case we’ve not seen yet, a bug when used a certain way, a missing tool we’ve previously said was too hard, or a feature for videos or audio files that you think would be brilliant. We have some thoughts of our own, but we’re building this for our readers and editors, so what you think matters hugely to us. Whether you think we’ve heard it before or not, we’d really love for your feedback now on what we can do better. You can file tasks in Phabricator or add comments on the talk page of the project on mediawiki.org.

Finally, I’d like to thank those who helped get this change out to our readers. To the tens of thousands of community members who tried it as a beta, the hundreds who commented and filed bugs, my partner in development Brion Vibber right back from the Hackathon, many people who’ve tested, reviewed, improved, and merged patches, James Forrester and Amir Sarabadani, for getting it over the line — my thanks. Let’s hope the next big idea we have at a Hackathon ships slightly quicker!

Happy editing, TheDJ