Brightcove Player v7.0.0-0
Brightcove Player 7.0.0-0 is available as a pre-release for manual update.
No existing players have been auto-updated to this version. Customers eager for a feature or fix that is only available in this version may manually update via the Studio Players JSON Editor or the Player Management API.
NOTE: There is currently an issue in the Studio Players module where it detects a 7.x player as incompatible with Studio. The effect of this is that it is possible to set a player to 7.x in the Studio, but this renders it uneditable in Studio.
This issue is actively being investigated and will be addressed soon!
Brightcove Player 7 is coming!
This is the first alpha release of Brightcove Player 7.0! It's the next major version of our web player, and we are excited to share it with you.
Over the coming months, we will be releasing regular alpha releases of the Brightcove Player as we approach a 7.0 milestone. During this time, some development will continue on the 6.x line.
With each alpha release, we will update these release notes with all changes in the 7.x history. New changes will be prefixed with NEW. We will call out backward incompatible changes using the BREAKING prefix. Migration notes will be numbered and added for any BREAKING changes. These will be linked from the BREAKING text for the associated change.
Our hope is that doing this in the open will allow our customers' developers to migrate their implementations over time and be ready when the 7.0 final release goes out.
We will never automatically upgrade existing players to a new major version.
All of your published players will continue to run version 6 until you choose to upgrade your players individually. This will allow you to test any customizations and plugins, and update them in the event changes are needed. In many cases, changes won't be needed and the same code can be used in version 7 seamlessly. However, be sure to look out for the BREAKING changes in the release notes to see where you may need to make tweaks.
NOTE: Because this is an alpha release, we recommend that you do not use it in production!
Between any alpha release version, new backward incompatible changes may be introduced. Brightcove Technical Support will not be able to assist in any cases until 7.0.0 is finalized, but we want as many customers as possible to try out version 7 — feedback is always welcomed through the usual channels!
What does this mean for Brightcove Player 6?
Version 6.x of the Brightcove Player will remain fully supported until the full release of version 7.0, expected in the first half of 2022. We'll be sure to provide updates as that timeline evolves. No matter the timeline, expect your version 6 (and 5 and older) players to continue to function indefinitely. We will not be disabling existing players at any point.
Once version 7.0 has been released, 6.0 will be moved into maintenance mode, whereupon we will provide technical support and consider bug fixes on a case-by-case basis (dependent on severity and complexity for a fix) for a full 3 months. All new player enhancements and features will be delivered for version 7.x only.
Goals of 7.0
- Video.js 8 and VHS 3
- Remove support for IE11 including polyfills and transpilation targets. This version of the player will not function in IE11.
- Add a UI to be displayed on unsupported browsers.
- Enable the new and improved ABR algorithm.
- Add DRM support out of the box - no plugin required!
- Improve player timeout detection and user experience.
- Remove implicit support for
autoplay
andt
query parameters as player options from in-page players, but allow alliframe
-specific query parameters as an opt-in with user control. - Set emulated text tracks to auto-cleanup.
- Execute a wide variety of tasks related to technical debt repayment and code refactoring.
Outcomes of 7.0
- We expect 7.0 to show a noticeable decrease in player size, mainly thanks to removals of IE11-specific code. Further, we expect there to be some performance improvements, but it is too early in this process to be more specific.
- Based on experimental A/B tests performed in the wild over the last few months, we expect the new ABR algorithm to improve the viewer experience significantly in the aggregate.
- We expect it to be slightly easier to play DRM videos. Currently, it is not always clear that users must enable DRM on the player as well as the media. With 7.0, enabling DRM protection on media will just work with the default player.
- We hope to clarify the understanding and UX of player timeouts.
- Address some other minor problems that could not be addressed without a backward incompatible change.
All Changes in This Release
- NEW: Switched to new ABR algorithm.
- NEW: Updated build tooling output to target modern browsers.
- NEW: Added a specific error-like UI for unsupported browsers (e.g. IE11).
- NEW: Refactored inactive player code.
- NEW: Miscellaneous internal code changes and maintenance.
- NEW, BREAKING: Send
play_request
once per media source on the first playback request (MN1) - NEW, BREAKING: Removed the
"graphite"
skin (MN2) - NEW, BREAKING: Changed
not-hover
class name tovjs-hide-controls
(MN3)
Migration Notes
MN1
Sending the play_request
event to the Data Collection API will occur only once for each new media source. Previously, the play_request
was sent each time playback was requested; whether the initial user request or autoplay or resuming from pause.
This change makes the play_request
event more meaningful - particularly in understanding the impact of autoplay - in Brightcove Analytics and aligns the Brightcove Player with our SDKs.
Adjust your expectations on the frequency of this event. Any code that assumes it will occur with any playback request should probably use the play
event instead.
MN2
The "graphite"
skin was an older style skin that was a holdover from the earliest versions of the Brightcove Player. It is removed.
No migration needed: "skin": "graphite"
in a player configuration will simply be ignored.
This configuration may still be used to disable the default skin using "skin": false
. This advanced capability is for customers who want to write their own player skin from scratch. All other values will be treated as the default skin (which will be the equivalent of "skin": "sapphire"
in 6.x).
MN3
The not-hover
class name was added in the earliest versions of the Brightcove Player 6.x to indicate when the controls should hide.
This class is replaced by vjs-hide-controls
, which is more descriptive and better matches Video.js naming conventions.
Change any uses of .not-hover
to .vjs-hide-controls
in your stylesheets or scripts.