Mux Video's support for receiving live streams over Secure Reliable Transport (SRT) is now generally available, and recommended for production usage. Using SRT can increase the reliability of live streams being sent over imperfect networks. Streams sent to Mux over SRT can optionally be sent with the HEVC codec to reduce network bandwidth requirements.
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.
The tabs in the Asset and Live Stream Details pages in the dashboard have been renamed to give a more clear indication of what information is shown in each tab.
For Assets:
Monitor -> Events, Logs, and Engagement
Build -> Playback and Thumbnails
Details -> Asset Details
For Live Streams:
Monitor -> Events, Logs, and Engagement
Build -> Playback and Thumbnails
Details -> Live Stream Details
Mux Node SDK 8.0 supports: Deno, Cloudflare workers, Bun and other non-node JS runtimes. This SDK also has improved TypeScript types, including types for webhook payloads. Version 8 solves the big pain points that we had been hearing from the community. This upgrade comes with significant syntax changes and we have provided a codemod script for upgrading.
See the Github release for more details and a link to the upgrade guide:
https://github.com/muxinc/mux-node-sdk/releases/tag/v8.0.0
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 Video's low-latency mode is now in general availability.
The API Activity page in the Dashboard can now be filtered by Environment. This new feature facilitates easier searching and troubleshooting of API events.
This will preserve your selected Environment as you navigate throughout the Dashboard.
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.
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.
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.
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.
We’re launching a new Mux Docs site. Our new look includes a redesigned sidebar, which sorts guides into more natural categories and makes room for the new webhook reference. The improved search adds more filters and integrates blog post search. Our technical re-architecture improves performance by shipping less JavaScript to the client. And yes, we added a dark mode, too.
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.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/
.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
.
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 has released version 7.0.0 of its NodeJS SDK. This release fixes some type issues for customers using TypeScript, and adds some missing module exports. In addition, it adds support for signing JavaScript Web Tokens (JWTs) for Mux Real-Time Spaces. In order to support signing of Spaces, the JWT.sign
method has been deprecated in favor of separate JWT.signPlaybackId
and JWT.signSpaceId
methods.
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.
A single playback restriction contains a list of domains allowed to play your videos. You may allow up to 10 unique domains or sub-domains where your videos will be embedded. We’ve raised the limit for the number of playback restrictions per environment from 5 to 100. You can read more in our Docs.
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.
New sign-up and log-in visuals that help users quickly understand and complete account creation.
You can now find Settings, Docs and Support, and account management separated into distinct menus in the Mux dashboard navigation.
This update includes support for adding and removing captions and subtitles within the app, getting the Mux Player code, and displaying the data saved for developers. For adding content, we have added drag and drop uploading support via the Mux Uploader which can be added with the URL and Mux Asset ID. Additional goodies include a global option for audio normalization, a toggle for signed or public playback IDs per field, buttons to manually resync with Mux, separate 'remove' and 'delete' buttons, and UI improvements. Under the hood, other updates include React, UI, and testing libraries plus more graceful error handling. You can read more in the Contentful Marketplace.
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.
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.
We’ve released Reconnect Window support to general availability for all modes of live streams, including reduced & low latency, in Beta. Reconnect Window is the time in seconds you want Mux to wait for the live stream to reconnect before considering it completed and generating a recorded asset. Slate image is also in general availability. Add a slate image as a video frame during live stream interruptions to let your viewers know the video isn’t over and you’re trying to reconnect. During beta, we stabilized the feature by fixing problems that were causing occasional crashes.
We’ve released Custom Domain for Mux Video to General Availability. You can stream videos or serve images from your branded domain instead of from stream.mux.com
and image.mux.com
.
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.
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:
This update includes the debut of Mux Player for dashboard playback, the addition of several metadata tags for developers to use, and custom domain support for Mux Video. An update to UpChunk should show faster uploading times and bug fixes. Last, additional bug fixes sprinkled all-around.
Mux on the Contentful Marketplace
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.
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 added version 0.1.0 of our mux-java
SDK. This is the initial release of the Mux Java SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more in the 0.1.0 Release Notes and also on the package manager Maven. This is a release that we're confident is stable and usable in production, but we would love any customer feedback! To submit feedback, please email sdks@mux.com.
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.
We've added version 3.4.0 of our mux-php
SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more on the 3.4.0 Release Notes.
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've added version 3.4.0 of our mux-ruby
SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more on the 3.4.0 Release Notes.
We've added version 4.1.0 of our mux-go
SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more on the 4.1.0 Release Notes.
We've added version 3.4.0 of our mux-python
SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more on the 3.4.0 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’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.
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.
We updated hls.js
to v1.1.5 for videojs-mux-kit
. See the Release Notes for more info.
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.
We've added version 3.3.0 of our mux-ruby
SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more on the 3.3.0 Release Notes.
We've added version 3.3.0 of our mux-php
SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more on the 3.3.0 Release Notes.
We've added version 3.3.0 of our mux-python
SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more on the 3.3.0 Release Notes.
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.
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'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 version 3.2.0 of our mux-ruby
SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more on the 3.2.0 Release Notes.
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 version 3.2.0 of our mux-go
SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more on the 3.2.0 Release Notes.
We've added version 3.2.0 of our mux-php
SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more on the 3.2.0 Release Notes.
We've added version 3.2.0 of our mux-python
SDK. New SDK versions typically introduce new features, bug fixes, and updates. You can read more on the 3.2.0 Release Notes.
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 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.