Mux Player for Swift v1.2.0 Released
This version of Mux Player for Swift adds support for requesting instant clips of any video on-demand asset using relative time. We’ve also done a small revamp of our example application.
This version of Mux Player for Swift adds support for requesting instant clips of any video on-demand asset using relative time. We’ve also done a small revamp of our example application.
This version of Mux Player for Android adds support for requesting instant clips of any video on-demand asset using relative time.
Mux Data now supports View Dropped Percentage in the Metrics Dashboard & API. This metric identifies the number of views that end for an unknown reason including loss of internet connection, browser behavior, or technical issue. Sudden changes in this metric may indicate a technical issue with the player or application.
View Dropped is also available as a dimension to filter other metrics and views.
Version 1.6.0 of the Mux Data SDK for media3 is now available. This version adds support for Media3 v1.4. We’ve also fixed an issue with verbose logging and another issue with tracking rebuffering time in some cases.
IMA users: If you are using a `VideoPlayerAdCallback` for your app, you’ll need to supply it to `ImaAdsLoader.Builder.monitorWith(...)`. Most IMA users shouldn’t have to worry about this.
This version of Mux Player for Swift adds support for FairPlay Streaming DRM using Mux Video. DRM is an extra level of security against unauthorized viewing or downloading of your content. Once your FairPlay certificate is set up, you can enable DRM playback in Mux Player with just a couple of lines.
Mux Video DRM is in public beta. If you’re interested in participating, please reach out via our beta page to get set up.
This version of Mux Player for Android adds support for Widevine DRM using Mux Video. DRM is an extra level of security against unauthorized viewing or downloading of your content. Once server-side setup has been completed, you can enable DRM playback in Mux Player with just a couple of lines.
Mux Video DRM is currently in public beta. If you’re interested in participating, please reach out via our beta page to get set up.
This version of Mux Player adds support for DRM using Mux Video. DRM is an extra level of security against unauthorized viewing or downloading of your content. Mux Player supports three industry-standard DRM protocols: Widevine, Fairplay Streaming, and PlayReady. Once server-side setup has been completed, Mux Player can play protected assets.
Mux Video DRM is in public beta. If you’re interested in participating, please reach out via our beta page to get set up.
Mux Data now supports error categorization in the Mux Dashboard or individual player SDKs. Errors classified as business exceptions or warnings will be excluded from Playback Failure Metrics. Errors that are categorized as business exceptions will be included in the Playback Business Exception Percentage and Video Startup Business Exception Percentage metrics.
We have changed the way we process most customer defined dimensions to allow for updates after a value has already been set. Prior to this change, many dimensions once defined were unchangeable.
A few dimensions, primarily IDs and other values that should not change, retain the initially set value.
We’ve updated our SDK for monitoring THEOplayer performance analytics to support tvOS in addition to iOS. We’ve also upgraded THEOplayer and Mux Core dependencies to more recent versions that satisfy Apple’s new requirements for third-party SDKs to outline privacy practices associated with their use.
Mux Player for Android has now left beta, and version 1.0.0 is available! Mux Player for Android is a player based on Android Media3, with added Muxyness. Our release version has simple APIs for playing Mux assets, transparent integration with Mux Data, and an improved on-disk cache for accelerating your playback experience, and more.
For more information, check out our dev guide, github, and release announcement
We're excited to announce that Mux Player Swift is now generally available! The 1.0.0 release supports caching on-demand streaming videos when playback is constrained to a single resolution tier. We’ve also added simplified syntax for constraining `AVPlayerViewController` to a single resolution tier and the Mux Data AVPlayer integration has been upgraded to meet App Store requirements for privacy manifest files. Additional API improvements are listed in the release notes.
We’ve fixed a crash occurring when monitoring playback on an iOS or tvOS device with AirPlay enabled. We’ve simplified the error information the SDK emits to no longer include AVPlayer-specific data that wasn’t used or persisted after receipt by Mux.
We’ve included a privacy manifest file in our SDK for monitoring Kaltura player performance analytics on iOS and tvOS. This satisfies Apple’s new requirements for third-party SDKs to outline privacy practices associated with their use. We’ve also updated Kaltura player and Mux Core dependencies to more recent versions.
GET Request Beacons are now deprecated in the Mux Data API. GET requests are now being explicitly ignored for all customers, as Mux Data SDKs now only send POST requests. Mux Data SDKs released after January 2022 are unaffected, and any version released prior to January 2022 should be updated.
We’ve included a privacy manifest file in our SDK for monitoring AVPlayer performance analytics. This satisfies Apple’s new requirements for third-party SDKs to outline privacy practices associated with their use. Customers who export data from Mux for additional processing may need to include additional privacy manifest entries with their application subject to their specific practices.
We’ve added support for monitoring AVPlayer when using AVPlayerViewController on visionOS. We also fixed a potential memory leak that can occur when monitoring AVPlayer with a fixed player size.
We’ve added support for error categorization in the Objective-C Core SDK. Error details are now sent alongside each error sent to Mux and are no longer deduplicated. Watch time will continue to be recorded after an error event is received based on the playhead progression.
Objective-C Core GitHub Release
Objective-C Core SDK docs: sending error events
This update for the Mux Data SDK for ExoPlayer adds support for reporting non-fatal and business-related errors to MuxErrorException. We also improved our reporting of ad-loading errors for users of the IMA SDK, and did some miscellaneous maintenance fixes.
This update for the Mux Data SDK for media3 adds support for reporting non-fatal and business-related errors to MuxErrorException. We also improved our reporting of ad-loading errors for users of the IMA SDK, and did some miscellaneous maintenance fixes.
We’ve added support for error categorization in the Java Core SDK. Error details are now sent alongside each error sent to Mux and are no longer deduplicated.The error event API now allows an error context to be set on the error event directly. Watch time will continue to be recorded after an error event is received based on the playhead progression.
We’ve added referential safety checks when the SDK processes SESSION-DATA tags intended for Mux Data. This fixes a crash that may be triggered in v3.5.0 of the SDK earlier.
The Mux Data Metrics EBVS calculation has been updated to consider views that end while in a paused state and have never played content as an exit before the video was started. This update restores the previous behavior that was changed on February 28th, 2024.
The Metrics, Views, and Errors APIs and reports now support the metric_filters[]
parameter that allows filtering the views included in the results based on one or more metric values. For example, a filter can be added to only report on views with a Rebuffering Percentage greater than 5% using the Dashboard UI or using the metric_filters[]
parameter (metric_filters[]=rebuffer_percentage>0.05
). This feature is available to customers on a Media plan.
Mux Player for iOS and Android now in public beta.
Learn more:
We have added two new metrics, viewer_experience_score
and watch_time
, to the List Video Views API response.
https://docs.mux.com/api-reference#data/operation/list-video-views
This update of the Mux Data SDK for Media3 adds support for Media3 version 1.2.0
. We didn’t have to make any SDK changes for this version of media3, so that’s all there is to report. As always, you can choose to stay on your current media3 version using our version-specific variants.
Mux Data's Live Stream Latency metric is now in general availability.
Mux Player 2.0 release comes with no functional changes but with a new UI based on feedback we’ve received from users. The pre-play state is less cluttered, the icons are more minimalistic and have subtle animations. Your brand color can be added with the new accent-color
attribute.
We’re excited to announce that the Mux Data SDK for Media3 is now out of public beta! Version 1.0.0 of our SDK for Media3 has full feature parity with our ExoPlayer SDK, plus lots of internal improvements and the ability to automatically detect metadata of the media you play. If you’re ready to migrate over from the old ExoPlayer, check out our dev guide to update your Mux Data integration.
Read more:
Mux Player now has with a quality selector in the control bar which allows users to change the quality of the video.
See more in the guide.
We fixed an important bug that impacted a very small number of assets with Mux Player. The bug is that the player would send hundreds of unnecessary requests for the `0.ts`segment.
This impacted certain assets on production Next.js deployments and Chrome browsers. Other build environments might be impacted too.
The Mux Data Overview, Metrics, Errors, and Views pages - and the Mux Data Metrics APIs - now support one-minute granularity for chart aggregations and custom time range selection. The chart data will be aggregated at one-minute intervals for any time range that is less than 90 minutes. The custom range time picker has been updated to support one-minute time intervals along with other improvements.
One-minute granularity is available to all Mux Data users.
We have updated the definition (and calculation) of the Exits Before Video Start metric in the Data Monitoring API and Dashboard.
Previously, the EBVS metric in Monitoring used a population of the total number of concurrent viewers (CCV) at that time. This resulted in a metric that was often suppressed to very low percentages, making it difficult to track trends easily.
The updated EBVS metric in Monitoring is based on the population of viewers attempting to start playback during this time. Now, EBVS in Monitoring equates to the percentage of viewers trying to start playback that end up exiting before playback begins. We believe this metric is much more useful for surfacing issues in real time.
Mux Data now supports Video Startup Failure Percentage in the Historical Dashboard & API. This metric indicates failures that occur prior to the user seeing the first frame of video, be it ads or content, helping identify issues that are specific to the video loading time.
Video Startup Failure Percentage was recently released for the Monitoring Dashboard & API, and is now supported in Historical, allowing customers to track this metric across significantly larger periods of time.
Mux Data can now track Video Startup Failure Percentage in the Monitoring Dashboard & API.
Video Startup Failure is defined as playback failures that prevent the user from seeing the first frame of video, be it video content or ads. This metric is a subset of Playback Failures.
At the event level, Video Startup Failures occur when a viewstart
, play
, or adbreakstart
event is triggered but an error
event occurs before playback begins, aka playing
or adplaying
event is not received, suggesting that playback never began.
Mux Data now has a new Monitoring Breakdown Timeseries API that lets you get metric breakdowns in a timeseries format, with 5-seconds interval data points. You can pass a `timeframe` parameter to specify the time range of the data you want, with its default being the 5 minutes period up to 15 seconds prior to the current unix timestamp. You may also use the `limit` parameter to control the number of breakdowns you would like to include in the individual 5-seconds data. For more information, please check out the API spec here.
Mux Player v1.11.0 is released. This update includes an upgrade to hls.js v1.4.1 and a no-volume-pref attribute to turn off saving the user selected volume in local storage. Additional links:
You can now find the exact timestamp of the View End Time in Mux Data Views page. This helps customers locate specific views more quickly. Please notice that since a view is recorded only when it is ended, the order of the view list is static.
Mux Data has rolled out fixes and improvements for counting views that paused for an hour without sending any heartbeat. This fixed a double-counting issue on the pre-paused section of the view which later paused more than an hour and then resumed. The improvement also allows you to gain access to the pre-paused section of the view, which previously was not possible.
As a result of this roll-out, you may notice that the total view count has a 0.5% - 1% decline, and the Playback Failure Percentage will have a small decline, typically in the range of 0.03 to 0.3 points, thanks to eliminating the double counting issue. Other metrics will be slightly impacted too for the same reason. The changes to the metrics are available in the Mux Dashboard and View Streaming Export.
Most views that resume after an hour should now be considered new views and have different view_ids associated with them if you are on the latest SDKs.
This update adds the `viewDrmType` property to `CustomerViewData`, allowing you to provide your own values if that fits your use case. There’s also been a few under-the-hood improvements around event handling.
Mux Data now supports exporting data for View Streaming Exports in JSON format. This makes it much easier to connect the data stream with data stores such as BigQuery and Snowflake. Customers can easily set it up by going to Mux Dashboard -> Settings -> Streaming Export -> New streaming export -> make sure to select “JSON” as the export format.
The fields that are included in the streaming export’s JSON format are identical to what we support in the protobuf format, which can be found in this repo. When new fields are made available, the export needs to be upgraded to receive new fields: Mux Dashboard -> Settings -> Streaming Export -> Click Upgrade to receive the new fields. For more schema management information, check out this guide.
Mux Player v1.9.0 is released. This update includes an upgrade to hls.js v1.4.0-beta.2, Themes support, updated configs for low latency, and other bug fixes and improvements.
The Mux Dashboard will now format date timestamps in the localized format of the Dashboard user. Previously, date timestamps would be translated to the localized timezone but displayed in the US-en format. Dates will continue to be translated to the localized timezone and will now be shown in the local format as well. There is no change to API responses.
You can now differentiate views that have ads from the ones that don’t in Mux Data. This is done by introducing a new boolean dimension called `view_has_ad`, which is available in both the API and the Mux Dashboard. The boolean value is determined by the existence of the `adplay` event: if the event is given, the `view_has_ad` value will be set to true, and vice versa.
When in the Monitoring page in the Mux Dashboard, open the filters and look for the dimension “View Has Ad”. When in the Metrics page in the Mux Dashboard, the same dimension can also be found in the breakdown table. When in an individual View page, the same field can be found under the “Ads” section.
The field is also available in the Streaming Export and requires the schema to be upgraded to V5.
You can now find additional metadata about ad ids and URLs in the adplay, adplaying, adpause, adfirstquartile, admidpoint, adthirdquartile, adended events. The metadata are:
These metadata are surfaced through the Mux Dashboard, Mux Data API, and Mux Data Streaming Export via supported player SDKs, such as Core JavaScript SDK, AVPlayer SDK, Core Java SDK, and Chromecast SDK.
More request information is included in Mux Data View Streaming Export, such as information about request canceled, request failed, and request completed. You can find the schema definition in the mux-protobuf repository. To know more about these events, please visit Network Request Data documentation.
Mux Player v1.8.0 is released. This update includes support for specifying a maximum resolution. For more information, see the Release Notes: HTML Element, the Release Notes: React, the Max Resolution documentation, and our Resolution-Based Pricing blog post.
This version of the Mux Data SDK for AVPlayer adds additional tracking for ad-related metadata, such as ad ID, creative ID, ad tag URL, and more. This update also fixes a bug on tvOS related to seeking.
Version 3.3.0 of the Mux Data SDK for ExoPlayer adds metadata for ad events, including ad ID, creative ID, ad tag url, and more.
Mux Player v1.7.0 is released. This update includes support for CuePoints, which allows you to associate generic metadata with your stream's timeline and playback. Multiple captions/subtitle track selection has also been added – users can now choose from a menu which track they want to use. For more information, see the Release Notes: HTML Element, the Release Notes: React, and the CuePoints Documentation.
Version 3.2.0 of the Mux Data SDK for ExoPlayer ends the year with a heap of enhancements. We’ve greatly improved our error collection, adding extra context where available and reporting a much larger variety of error codes. We also added 5 more custom dimensions for your views, and started counting dropped video frames during playback.
The Mux Data Real-time feature has been renamed to Mux Data Monitoring. There are no additional functional changes with this release. The following changes have been made:
/data/v1/real-time/
to /data/v1/monitoring/
. The /data/v1/real-time/
will continue to function for the foreseeable future as an alias of /data/v1/monitoring/
.You can now collect and see additional information for each view in Mux Data. This information can be found via Mux Dashboard, Mux Data API, or View Streaming Exports. The full list of changes include the following:
view_dropped_frame_count
.view_drm_type
metadata. The value is found in the Mux Dashboard by going to a View page and looking for “DRM Type” in the “Video Metadata” section. It is available from the API in the Video View properties as view_drm_type
.player_error_context
to provide additional error instance-specific information that will not impact the default error aggregation. The data can be found in the API, exports, and the Mux Dashboard by going to a View page and it will be shown in the error box on the top of the page.These properties are available for collection in the newest SDKs for Mux-Embed Player, Shaka Player, AVPlayer, HLS.js Player, Dash.js Player, and Roku. The updates for ExoPlayer will be available soon!
Additional Links:
This update of the Mux Data SDK for Roku devices adds detection for the type of DRM license being used (if any), and provides additional fatal error information if available from the player. The key minifier has also been expanded to support a greater number of customer metadata keys, particularly view_dropped_frames_count
, custom6
through custom10
, player_error_context
, and view_drm_type
.
Details of each rendition change event are now reported, when they occur during a view. The information provided in each rendition change includes: rendition width, height, fps, codec, and rendition name. You can also find the playhead time and wall clock time when these changes happen. The rendition change is surfaced through the Mux Dashboard, Data API, and the streaming exports for raw view data. Note that not all data is available from every player, the specific metadata reported will depend on player API support.
Full renditionchange
metadata is collected on the latest version of the following SDKs:
An updated ExoPlayer SDK will be available soon.
This release of the Mux Data SDK for AVPlayer adds the ability to track the number of dropped video frames in a session, as well as adding 5 more custom dimensions to track whatever data is relevant to you and your audience.
Mux Player v1.4.0 is released. This update includes a prefer CMCD prop and UI updates to improve: overlay behavior, icon size, control spacing and behavior, and positioning of the Live indicator.
Version 3.1.0 of the Mux Data SDK is now available. This update adds APIs to override the detected category of a user’s device (phone
, tablet
, kiosk
, drone
, or anything
), as well as things like OS version or device manufacturer. This version also includes a fix for renditionchange
events on ExoPlayer r2.11.x, as well as a fix related to verbose beacon logging.
See our release notes for more information! Full changes can be found here as well.
Version 3.0.0 of the Mux Data SDK for AVPlayer is now available on SwiftPM and Cocoapods. This version adds support for overriding device-related metadata, such as OS name and version, device type, and so on. This update also adds official support for iOS 16, although apple updates have forced us to remove support for iOS versions 9 and 10.
For more information, see our release notes and our development guide
Version 0.9.0 of the Mux Data SDK for IMA Ads is now available. This update also adds official support for iOS 16, although recent updates to Google’s IMA SDKs have removed support for all iOS versions before 12.0
For more information, see our release notes and our development guide, and full changes.
The Mux Data View Details page has been enhanced to show the detailed metadata in the view timeline for renditionchange
events. See here for information on the metadata that may appear: https://docs.mux.com/guides/data/mux-playback-events#renditionchange-optional
The Mux Data View Details page has been enhanced to provide detailed information on failed or canceled requests. This is provided in the user interface for clients that track network level requests. See our documentation for more detail.
We have enhanced the Mux Data UI with a new date time picker. The new component allows choosing the date and time. You may precisely select a time range via click and drag in the metrics view.
Mux Player v1.0.0 (General Availability) is released. This update includes focus, default width, keyboard shortcut, and additional improvements and bug fixes. Please refer to the Release Notes for details.
We are announcing the exciting and extensive release of the Mux Data SDK v3.0.0 for ExoPlayer. This update converts most of the SDK to Kotlin, removes long-deprecated methods, and adds API changes. A more simple SDK setup process no longer requires you to specify the screen size of your device. You may now pass your `ENV_KEY` through a constructor instead of supplying it to `CustomerPlayerData`. Finally, we removed exposed internal callback methods that likely will not impact you.
For the full list of API changes, check out the release notes on GitHub.
Since we released Mux Player (HTML Element and React) to public beta, we’ve made a variety of improvements including additional control customizations, keyboard shortcuts, video titling, and fixes. Refer to the release notes below for more information.
Additional Links
You can now use npm
to integrate most Mux Data web player SDKs. SDKs are now available in the npm
repository for Shaka Player, JW Player, React Native Video, Kaltura, Bitmovin, Akamai Media Player, THEOplayer, Flowplayer, and Chromecast, in addition to the existing SDKs for HTML5 Video Element, HLS.js, Dash.js, and Video.js. Please visit the Mux docs page for the specific player SDK to learn more about how to integrate and deploy Mux Data with your player.
This update fixes player size and full-screen detection for users who are using MuxStatsExoPlayer.setPlayerSize()
to manually override the detected size of their player. The method now takes physical pixels, as documented. If you are using MuxStatsExoPlayer.setPlayerSize()
, you may need to update your code to supply physical pixels instead of density-independent pixels.
We’re excited to announce that Mux Player is now released to Public Beta! Mux Player is already integrated with Mux Video and Mux Data, and supports a variety of features such as adaptive controls based on stream type, timeline hover previews, Chromecast & Airplay, Signed URLs, Custom Domains, and more.
For more details, check out our Blog Post and Player documentation.
This release of the Mux Data SDK for ExoPlayer adds support for ExoPlayer v2.18.1 and a couple of bug fixes related to uncommon use cases. The SDK should be more stable when used with custom builds of ExoPlayer. We also fixed a data integrity issue related to views with very long periods of user inactivity.
Mux Data is changing the way it tracks video views that are stopped for an extended period of time. Going forward, if a video player stops sending events (for example by explicitly stopping playback or backgrounding an app) and then playback is started again after one hour or more, the playback session will be considered a new view. A new view_id
will be generated on the SDK client and the metrics will be aggregated as a different view. If playback continues within one hour of being stopped, it will be considered part of the same view and will be appended to the existing view.
This behavior has changed in the following releases:
mux-embed
v4.12.0+Mux Data is changing the way ids are generated for Video Views in the Mux Data API. The view id
returned from the List Videos Views API will now be the same as the id
and view_id
returned from the Get Video View API for any views ending on or after July 28, 2022 UTC. Previously, these ids were different. The format will still be a string and users that are treating the view id from the Video Views API as an opaque string can continue using the id in the same way with no changes. This change allows you to reference the views with a consistent id from the List and Get Video View APIs.
This update for the Mux Data SDK for Exoplayer allows you to override metadata about the device that is playing your video. This feature is has not been implemented on Mux Data backend yet, but you can start using it in the Mux Data SDK with this latest release.
Additional Links:
We have released the Streaming Exports for Mux Data Video Views to General Availability. This feature allows you to export Video Views, as they are completed by viewers, to your data infrastructure using a streaming data service, either Amazon Kinesis or Google Pub/Sub. Currently, Streaming Exports are available to customers on Media or custom plans. The docs have more detailed information on integrating and using the Streaming Exports data.
We’ve updated the theoplayer-mux Web SDK to support the npm-based installation for THEOplayer. The theoplayer-mux Web SDK can now be initialized with an existing THEOplayer instance instead of relying on the `window.THEOplayer` instance that is not present when using the npm-based THEOplayer. Read the Release Notes for more information.
We’ve updated the bitmovin-mux Web SDK to support the module-based Bitmovin player. The Bitmovin web player can be instantiated as a single player package or as individual player modules. Previously, the bitmovin-mux Web SDK would throw an error if it was used with the module-based player but it now works as expected. Read the Release Notes for more information.
We have updated our beta version of the Mux Data SDK for THEOplayer to support THEOplayer v2.92.0
. Support for THEOplayer 3.x
is planned soon. For more information, see Github Release for v0.1.3 and the Github repo: Mux Data SDK for THEOplayer.
This update of the Mux Data SDK for Exoplayer fixes some build issues experienced by customers that are using custom ExoPlayer builds, or are only using exoplayer-core
. If you’re using the full ExoPlayer library and getting it via Maven Dependency, then your build should be unaffected. For more information, see the Github Issue regarding this issue, the Github Release for v2.7.2, the Github repo: mux-stats-sdk-exoplayer, and the Guide: Monitor Exoplayer.
We have updated the Mux Data API timeframe rounding behavior of the Data APIs to support higher granularity and greater consistency in the Data API endpoints, including: List Breakdown Values, List Insights, List All Metric values, List Filters, List Breakdown values. If the timeframe
parameter of the query is 6 hours or less, the interval will round to a ten_minute
boundary; if the timeframe
of the query is 15 days or less, the interval will round to an hour
boundary; if the timeframe
is greater than 15 days, the interval will round to an day
boundary.
We’ve updated the mux-embed web SDK to support the collection of the Live Stream Latency metrics on native Safari web. We have also added a maximum beacon payload size to limit the number of request
events that will be sent to Mux Data in the event the player makes many unnecessary requests. Read the Release Notes for more information.
This release of the Mux Data SDK for ExoPlayer fixes a packaging error that caused build issues for some customers. We’re sorry about that. You can read more about this update in the Release Notes.
We’ve released v2.7.0
of our Mux Data SDK for ExoPlayer, and it’s a big one. We added support for setting dimension values from HLS session data, and fixed some bugs related to CDN detection. We also added support for ExoPlayer 2.17.1, and the Official Port of ExoPlayer for Amazon Devices. You can update to either version by following Step 1 of our Dev Guide. You can read more about this update in the Release Notes.
We have added new fields to the daily CSV and Streaming View exports for Mux Data: asset_id
, environment_id
, live_stream_id
, live_stream_latency
, playback_id
, and viewer_device_model
. If you are using Streaming View Exports you may now access these fields; an updated protobuf definition is available that contains the new fields. Please contact Support to enable the new version for your daily CSV exports.
We’re pleased to announce the initial release of the Mux Data SDK for Bitmovin Player for Android. The first public version is v0.5.1, and it reports all playback events. Support for Bandwidth, Experiments, and Live Latency is being planned or investigated for the v1.0.0 release. Read more in our Integration guide for the Bitmovin Player Data SDK or the GitHub repository.
We’ve updated the mux-embed web SDK to allow developers to disable the automatic tracking of rebuffering metrics. Developers who are building custom SDKs on top of mux-embed
can use this option to manually track rebuffering using APIs or events from the player. mux-embed
is no longer emitting an empty error when an error with code 1
is thrown. “No Versions” is no longer being set for the default Player Software Version. Read the Release Notes for more information.
You can now measure the amount of time from content ingestion to playback on the client using the Mux Data SDK. The Live Stream Latency metric reports on the average stream latency experienced by each viewer. The metric is also available for historical reporting. Latency can be aggregated by country, type of stream, video title, as well as the other dimensions available in the Mux Data Metrics reporting. To collect this data, you'll need to use Mux Data with your HLS live streams, insert EXT-X-PROGAM-DATE-TIME
tags in your manifests, and have an up-to-date SDK release. You can learn more in the Blog Post.
You will now see a Get Started page when viewing the Overview page for an environment that has not previously collected video view data. The Get Started page makes it easy to find the Mux SDK for your player, provides links to documentation, and makes the environment key that is needed for SDK integration easier to find.
We’ve added support for tracking experiment values via metadata such as X-SESSION-DATA
HLS tags. The tags override values of the dimensions we track. Once the session data tags on the main playlist are loaded by your player, you may pass them to MuxStats::setSessionData(List<SessionTag>)
in order to track the experiment values. Currently experiments are only supported for HLS streams.
We've added the ability to extract Session Data from the HLS manifest that is submitted as dimension metadata. This will be available for use in a future release of Mux Data. Read the Release Notes for more information.
We've changed the handling of errors in HLS.js and now immediately send an error
event to Mux Data when a fatal error occurs. If you do not want to treat some fatal errors as fatal, you should provide an errorTranslator
function to filter which errors are tracked or disable automaticErrorTracking
and handle errors manually. Read the Release Notes for more information. You can also read more about specifying an error translator function or disabling automatic error tracking in our docs.
We've updated the AVPlayer SDK to make it possible to build the SDK into an application extension without generating an XCode warning. We have also reduced the number of rendition change events that are reported before a video starts playing. Read the Release Notes for more information.
You can now use the Overview page, the new landing page for Mux Data. This page contains an overall snapshot of the engagement, real-time viewership, and quality of experience for your video view activity. This change is rolling out to all users over the next few weeks.
We updated hls.js
to v1.1.5 for videojs-mux-kit
. See the Release Notes for more info.
As part of 0.7.0, tighter error handling integration with hls.js
made all errors be triggered on the player. This meant that errors that don't inhibit playback and that hls.js
handled automatically were treated the same as fatal errors that hls.js
doesn't handle automatically. Now, only errors that hls.js
considers fatal will trigger an error event. See the Release Notes for more info.
You can have a quality level picker that uses videojs-contrib-quality-levels
behind the scenes. Read the Release Notes for more information.
Videojs-Mux-Kit v0.8.0 now supports Video.js HTTP Streaming (VHS). You can import the new build file to use VHS, the playback engine that Video.js ships with. See our README section on Importing for documentation on how to use the new build file and read the Release Notes for more information.
We've updated mux-embed
with an enumeration of the events that can be submitted by the SDK in order to make it easier for you to build on top of the web SDK framework. In addition, we've updated the viewend
detection to use page visibility change rather than the unload handler, which is no longer supported in most browsers. Read the Release Notes for more information.
You are now able to register a specific instance of Video.js to monitor with Mux Data instead of relying on the global instance. This makes it easier to use videojs-mux
when there is more than one instance of a Video.js player on a page. Read the Release Notes for more information.
You can now export Mux Data views to Amazon Kinesis or Google Pub/Sub. As views are completed they are immediately streamed to the service of your choice to ingest into your data warehouse for further processing. This feature is currently available for Media customers as a beta release. See the documentation for information on how to configure a stream and the data that is available.
We've updated mux-embed
to version v4.4.0, which includes the ability to collect the live stream latency metric. This will be available for use in a future release of Mux Data. Read the Release Notes for more information.
We have fixed an issue that could cause missing seek events in Mux Data when seeking in a video using the player API in iOS 15. Read the Release Notes for more information and a list of additional fixes.
We've added support for Android ExoPlayer 2.16.1. Read the Release Notes for more information and a list of additional fixes.
We've fixed an issue that could cause incorrect playback reporting when seeking occurs during a view and updated the SDK testing infrastructure. Read the Release Notes for more information and a list of additional fixes.
We've added support for including the AVPlayer SDK XCFramework into your application using Carthage. Read the Release Notes for more information and a list of additional fixes.
We've added the ability to collect the live stream latency metric. This will be available for use in a future release of Mux Data. Read the Release Notes for more information.
We have fixed an issue that could cause missing seek events in Mux Data when seeking in a video using the player API. Read the Release Notes for more information.
We've fixed an issue where playerID
is null
when the react-native-video
component is wrapped with react-native-video-controls
, which caused an error during video playback. Read the Release Notes for more information.
We have introduced playback-core
, which contains utilities and logic shared by the following playback elements: mux-video
, mux-video-react
, mux-audio
, and mux-audio-react
. See the Release Notes and playback-core README for more details.
You can now pass in the start-time
attribute to make playback start at a certain timestamp. For example <mux-video start-time="4" ...>
will start playback at the 4 second mark. See the Release Notes for additional information.
You can now pass in the startTime
prop to make playback start at a certain timestamp. For example <MuxVideo startTime={4} ...>
will start playback at the 4 second mark. See the Release Notes for additional improvements.
You can now pass in the start-time
attribute to make playback start at a certain timestamp. For example, <mux-audio start-time="4" ...>
will start playback at the 4 second mark. See the Release Notes for additional improvements.
We've added the ability to collect the live stream latency metric. This will be available for use in a future release of Mux Data. Read the Release Notes for more information.
We’ve added a new Mux Element: <MuxAudio />
React component is the counterpart to <MuxVideo />
. See the Release Notes for more info.
We have added a new API that allows you to override the automatic fullscreen detection and specify that a video is playing fullscreen even if it is not taking up the complete bounds of the screen. Read the Release Notes for more information and a list of additional fixes.
We've updated mux-embed
to version v4.3.0, which no longer assigns a default video_id
if it is not specified by the developer. The default video_id
will now be assigned on the server if one is not specified. Read the Release Notes for more information.
You can now use Mux Data with Kaltura video players to collect engagement and quality of experience metrics. We’ve added new Mux Data SDKs for Kaltura web, iOS, and Android players. To configure and use the SDKs refer to the documentation: Kaltura web SDK, Kaltura iOS SDK, Kaltura Android SDK.