• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Streaming Video & Ads for Browser release notesRSS

June 19
Media agent for Video JS v4.2.0

Highlights

  • Explicit opt-in for AWS MediaTailor, with full support for custom CDN domains.
  • New config.ad.type API to choose between CSAI and SSAI (DAI, MT) ad tracking — no more URL-based guessing for SSAI.
  • End-to-end logging through nrvideo.Log, with active detection mode logged at startup.

Features

MediaTailor custom CDN support

Replaced URL-based auto-detection with explicit opt-in.

  • Enabled the tracker via mediatailor: true (or mediatailor: { trackingUrl, adSegmentPrefix }), supporting both default AWS hostnames and custom CDN domains.
  • Added MT_DEFAULT_AD_SEGMENT_PATH (/tm/) constant for AWS-recommended CDN ad-segment path; ad segments rewritten to a custom CDN domain under /tm/ are detected automatically.
  • Updated isMediaTailorSegment() to check the default AWS segments hostname, the /tm/ path, and an optional customer-supplied adSegmentPrefix.
  • Threaded adSegmentPrefix through HLS (VHS) and DASH manifest parsing.
  • Added explicit session initialization via mediatailor: { trackingUrl } for POST /v1/session/ flows.

Ad tracking configuration

Introduced config.ad.type to control ad tracker selection.

  • Exposed AD_TRACKING constant with CSAI (flat value covering IMA / Brightcove IMA / Freewheel / generic) and SSAI sub-types (DAI, MT).
  • Required an explicit sub-type for SSAI — each platform needs its own SDK and cannot be auto-detected.
  • Mapped SSAI.MT to imply mediatailor: true.
  • Added a fallback to CSAI auto-detection with a warning when config.ad.type is unset (backward compatible for v4.1.2 users).
  • Co-located segmentPrefix and trackingUrl under config.ad.
  • Added DaiAdsTracker to static exports.

Logging improvements

  • Exposed VideojsTracker.Log as a static so UMD callers can set log level.
  • Added logging of the active ad segment detection mode at tracker startup.
  • Added logging of the matched ad segment detection path on the first ad break (once per session).
  • Added logging of which CSAI framework was auto-detected (BrightcoveIma / IMA / Freewheel / generic).
  • Replaced console.log/warn/error with nrvideo.Log across MediaTailor files.

Bug fixes

  • Fixed buffer end handling in tracker.
  • Fixed register-plugin.js silently dropping the options object and not forwarding it to the TrackerJS constructor.

Documentation

  • Updated the README and SSAI docs for custom CDN support, clarified when trackingUrl and adSegmentPrefix overrides are needed, and cleaned up sessionId references.
  • Corrected adSegmentPrefix references to config.ad.segmentPrefix in the SSAI troubleshooting docs.

Upgrade from 4.1.x

  • No breaking changes for CSAI users. If config.ad.type is unset, the tracker still auto-detects CSAI frameworks (with a one-time warning).
  • MediaTailor users must opt in explicitly. Replace any URL-pattern reliance with one of:
    • mediatailor: true (default AWS hostnames + /tm/ path)
    • mediatailor: { trackingUrl, adSegmentPrefix } (custom CDN / explicit session init)
    • config.ad.type: AD_TRACKING.SSAI.MT
  • If you previously passed adSegmentPrefix at the top level, move it to config.ad.segmentPrefix.

June 19
Agent média pour Video JS v4.2.0

Points forts

  • Opt-in explicite pour AWS MediaTailor, avec prise en charge complète des domaines CDN personnalisés.
  • Nouvelle API config.ad.type pour choisir entre le suivi publicitaire CSAI et SSAI (DAI, MT) — plus de déduction basée sur l’URL pour le SSAI.
  • Enregistrement de bout en bout via nrvideo.Log, avec le mode de détection active enregistré dans le log au démarrage.

Caractéristiques

Prise en charge du CDN personnalisé MediaTailor

Remplacement de l'auto-détection basée sur l'URL par une activation explicite.

  • Activation du tracker via mediatailor: true (ou mediatailor: { trackingUrl, adSegmentPrefix }), prenant en charge à la fois les noms d’hôte AWS par défaut et les domaines CDN personnalisés.
  • Ajout de la constante MT_DEFAULT_AD_SEGMENT_PATH (/tm/) pour le chemin de segment publicitaire CDN recommandé par AWS ; les segments publicitaires réécrits vers un domaine CDN personnalisé sous /tm/ sont détectés automatiquement.
  • Mise à jour de isMediaTailorSegment() pour vérifier le nom d’hôte des segments AWS par défaut, le chemin /tm/ et un adSegmentPrefix facultatif fourni par les clients.
  • Transmission de adSegmentPrefix à travers l’analyse du manifeste HLS (VHS) et DASH.
  • Ajout de l’initialisation explicite de session via mediatailor: { trackingUrl } pour les flux POST /v1/session/.

Configuration du suivi publicitaire

Introduction de config.ad.type pour contrôler la sélection du tracker publicitaire.

  • Exposition de la constante AD_TRACKING avec CSAI (valeur fixe couvrant IMA/Brightcove IMA/Freewheel/générique) et les sous-types SSAI (DAI, MT).
  • Sous-type explicite requis pour SSAI — chaque plateforme a besoin de son propre SDK et ne peut pas être auto-détectée.
  • Mappage de SSAI.MT pour impliquer mediatailor: true.
  • Ajout d’une solution de repli vers l’auto-détection CSAI avec un avertissement lorsque config.ad.type n’est pas défini (rétrocompatible pour la v4.1.2 utilisateurs de la v4.1.2).
  • Colocalisation de segmentPrefix et trackingUrl sous config.ad.
  • Ajout de DaiAdsTracker aux exports statiques.

Améliorations de l'enregistrement

  • Exposition de VideojsTracker.Log en tant que statique afin que les appelants UMD puissent définir le niveau de log.
  • Ajout de l'enregistrement du mode de détection de segment publicitaire actif au démarrage du tracker.
  • Ajout de l’enregistrement du chemin de détection de segment publicitaire correspondant lors de la première coupure publicitaire (une fois par session).
  • Ajout de l’enregistrement du framework CSAI détecté automatiquement (BrightcoveIma/IMA/Freewheel/générique).
  • Remplacement de console.log/warn/error par nrvideo.Log dans les fichiers MediaTailor.

Débogage

  • Correction de la gestion de la fin du tampon dans le tracker.
  • Correction de register-plugin.js supprimant silencieusement l’objet d’options et ne le transmettant pas au constructeur TrackerJS.

Documentation

  • Mise à jour du README et de la documentation SSAI pour la prise en charge du CDN personnalisé, clarification des cas où les surcharges trackingUrl et adSegmentPrefix sont nécessaires, et nettoyage des références sessionId.
  • Correction des références adSegmentPrefix à config.ad.segmentPrefix dans la documentation de dépannage SSAI.

Mise à niveau depuis la 4.1.x

  • Aucune modification majeure pour les utilisateurs de CSAI. Si config.ad.type n'est pas défini, le tracker auto-détecte toujours les frameworks CSAI (avec un avertissement unique).

  • Les utilisateurs de MediaTailor doivent accepter explicitement. Remplacer toute dépendance à un modèle d'URL par l'un des éléments suivants :

    • mediatailor: true (noms d’hôte AWS par défaut + chemin /tm/)
    • mediatailor: { trackingUrl, adSegmentPrefix } (CDN personnalisé/initialisation explicite de session)
    • config.ad.type: AD_TRACKING.SSAI.MT
  • Si vous passiez précédemment adSegmentPrefix au niveau supérieur, déplacez-le vers config.ad.segmentPrefix.

May 13
Media agent for Video JS v4.1.2

Highlights

  • Added MediaTailor SSAI tracker initialization on loadstart after source load detection.
  • Added DAI stream manager support through the stream-manager event.
  • Improved bitrate reporting with:
    • Playback bitrate (AVERAGE-BANDWIDTH/BANDWIDTH)
    • Manifest max bitrate
    • Segment download bitrate
    • Network throughput bitrate

Improvements

  • Refined ad and content event handling to avoid duplicate or incorrect content events while ads are active for following events:
    • Pause/Resume
    • Seek Start/End
    • Buffer Start
  • Improved end-of-content handling for ad-enabled playback paths during IMA and Freewheel scenarios.
  • Added safer fallback logic for tech wrappers (Hls.js, Shaka, contrib-hls) when bitrate data is unavailable in VHS.

Technical notes

  • Tracker metadata and playback context methods remain aligned with Video.js/Brightcove integrations:
    • Retrieves the title, ID, and duration from mediainfo when available.
    • Retrieves source and rendition data from the active tech component when available.
  • Updated the Listener registration and unregistration to include ad and stream manager lifecycle events.

May 13
Agent média pour Video JS v4.1.2

Points forts

  • Ajout de l'initialisation du tracker SSAI MediaTailor lors du loadstart après la détection du chargement de la source.

  • Ajout de la prise en charge du gestionnaire de flux DAI via l’événement stream-manager.

  • Amélioration des rapports de débit binaire avec :

    • Débit binaire de lecture (AVERAGE-BANDWIDTH/BANDWIDTH)
    • Débit binaire max. du manifeste
    • Débit binaire de téléchargement du segment
    • Débit binaire du réseau

Améliorations

  • Amélioration de la gestion des événements de publicité et de contenu pour éviter les événements de contenu en double ou incorrects lorsque les publicités sont actives pour les événements suivants :

    • Pause/reprendre
    • Début/fin de recherche
    • Début du tampon
  • Amélioration de la gestion de la fin du contenu pour les chemins de lecture avec publicités lors des scénarios IMA et Freewheel.

  • Ajout d'une logique de repli plus sûre pour les wrappers techniques (Hls.js, Shaka, contrib-hls) lorsque les données de débit binaire sont indisponibles dans VHS.

Notes techniques

  • Les métadonnées du tracker et les méthodes de contexte de lecture restent alignées avec Video.js/Brightcove intégrations :

    • Récupère le titre, l'ID et la durée à partir de mediainfo lorsqu'ils sont disponibles.
    • Récupère les données sources et de rendu à partir du composant technique actif lorsqu'elles sont disponibles.
  • Mise à jour de l'enregistrement et de la désinscription du Listener pour inclure les événements de cycle de vie du gestionnaire d'annonces et de flux.

April 17
Media agent for HTML5 v4.1.1

What's changed

Documentation

  • README Overhaul: Restructured and expanded README with comprehensive installation guides, usage examples, best practices, configuration options, API reference, and support channels.

Improvements

  • Attributes Validation: Updated validation logic for custom attributes to enforce correctness at the tracker level.
  • Custom Attributes Limit: Added an enforced limit on the number of custom attributes that can be sent per event, preventing unexpected payload sizes.

Installation

bash
$
npm install @newrelic/video-html5@4.1.1

Full changelog

April 17
Agent média pour HTML5 v4.1.1

Ce qui a changé

Documentation

  • Refonte du README : README restructuré et développé avec des guides d’installation complets, des exemples d’utilisation, des bonnes pratiques, des options de configuration, une référence d’API et des canaux d’assistance.

Améliorations

  • Validation des attributs : mise à jour de la logique de validation des attributs personnalisés afin de garantir l’exactitude au niveau du tracker.
  • Limite des attributs personnalisés : ajout d’une limite stricte sur le nombre d’attributs personnalisés pouvant être envoyés par événement, évitant ainsi des tailles de charge inattendues.

installation

bash
$
npm install @newrelic/video-html5@4.1.1

Changelog complet

March 9
Media agent for Shaka v4.0.3

This release introduces three new bitrate metrics for granular playback observability, QoE (Quality of Experience) support, and Shaka Player 5.x compatibility while maintaining backward compatibility with Shaka 4.x.

New bitrate metrics

Three new attributes are now available to provide deeper insight into streaming performance:

Attribute

Source

Description

contentManifestBitrate

stats.streamBandwidth

Total variant bitrate (video + audio) as declared in the manifest (Indicated Bitrate).

contentMeasuredBitrate

stats.estimatedBandwidth

Estimated network bandwidth measured by Shaka's ABR algorithm (Observed Bitrate).

contentDownloadBitrate

(bytesDownloaded × 8) / playTime

Effective download throughput across all downloaded media.

Additionally, contentBitrate uses track.videoBandwidth (video-only bitrate) to differentiate it from other metrics that report combined video and audio bandwidth.

Quality of Experience (QoE) support

QoE aggregate events are now supported via video-core. Enable them by setting qoeAggregate: true in the config:

const options = {
info: {
beacon: 'xxxxxxxxxx',
applicationID: 'xxxxxxx',
licenseKey: 'xxxxxxxxxxx',
},
config: {
qoeAggregate: true,
qoeIntervalFactor: 2,
},
};
const tracker = new ShakaTracker(player, options);

The following KPIs are tracked automatically:

KPI

Description

startupTime

Time from content request to content start (ms).

peakBitrate

Maximum contentBitrate observed during playback.

averageBitrate

Weighted average bitrate across the session.

hadStartupFailure

true if a content error occurred before content started.

hadPlaybackFailure

true if a content error occurred during playback.

totalRebufferingTime

Total time spent rebuffering (ms).

rebufferingRatio

Rebuffering time as a percentage of total playtime.

totalPlaytime

Total content playtime (ms).

numberOfErrors

Total number of errors during the session.

Shaka Player 5.x compatibility

The tracker is now compatible with both Shaka Player 4.x and 5.x:

  • getPlayerVersion() resolves version across both major versions.
  • onError() handles both Shaka player errors (e.detail) and HTML video element errors (e.target.error).
  • Sample files updated for Shaka 5.x (removed deprecated shaka.polyfill.installAll(), updated player instantiation).

Upgrade guide

Run the following following to update:

bash
$
npm install @newrelic/video-shaka@4.0.3

To enable QoE, add qoeAggregate: true to your config options as shown above.

Dependencies

Requires @newrelic/video-core v4.1.1 or later for QoE support.

March 9
Agent média pour Shaka v4.0.3

Cette sortie introduit trois nouvelles métriques de débit binaire pour une observabilité granulaire de la lecture, la prise en charge de la QoE (Quality of Experience), et la compatibilité avec Shaka Player 5.x, tout en maintenant la rétrocompatibilité avec Shaka 4.x.

Nouvelles métriques de débit binaire

Trois nouveaux attributs sont désormais disponibles pour fournir des informations détaillées plus approfondies sur les performances de streaming :

Attribut

Source

Description

contentManifestBitrate

stats.streamBandwidth

Débit binaire total de la variante (vidéo + audio) tel que déclaré dans le manifeste (Débit binaire indiqué).

contentMeasuredBitrate

stats.estimatedBandwidth

Bande passante réseau estimée mesurée par l'algorithme ABR de Shaka (débit binaire observé).

contentDownloadBitrate

(bytesDownloaded × 8) / playTime

Débit de téléchargement effectif sur tous les médias téléchargés.

De plus, contentBitrate utilise track.videoBandwidth (débit binaire vidéo uniquement) pour le différencier des autres métriques qui indiquent la bande passante vidéo et audio combinée.

Prise en charge de la qualité d'expérience (QoE)

Les événements agrégés de QoE sont désormais pris en charge via video-core. Activez-les en définissant qoeAggregate: true dans la configuration :

const options = {
info: {
beacon: 'xxxxxxxxxx',
applicationID: 'xxxxxxx',
licenseKey: 'xxxxxxxxxxx',
},
config: {
qoeAggregate: true,
qoeIntervalFactor: 2,
},
};
const tracker = new ShakaTracker(player, options);

Les KPI suivants sont suivis automatiquement :

Indicateurs de performance clés

Description

startupTime

Temps entre la demande de contenu et le début du contenu (ms).

peakBitrate

contentBitrate maximum observé pendant la lecture.

averageBitrate

Débit binaire moyen pondéré sur l'ensemble de la session.

hadStartupFailure

true si une erreur de contenu s'est produite avant que le contenu ne commence.

hadPlaybackFailure

true si une erreur de contenu est survenue pendant la lecture.

totalRebufferingTime

Temps total passé en rebuffering (ms).

rebufferingRatio

Temps de re-mise en mémoire tampon en pourcentage du temps de lecture total.

totalPlaytime

Temps total de lecture du contenu (ms).

numberOfErrors

Nombre total d'erreurs pendant la session.

Compatibilité Shaka Player 5.x

Le tracker est désormais compatible avec Shaka Player 4.x et 5.x :

  • getPlayerVersion() résout la version sur les deux versions majeures.
  • onError() gère à la fois les erreurs du lecteur Shaka (e.detail) et les erreurs de l'élément vidéo HTML (e.target.error).
  • Fichiers d'exemple mis à jour pour Shaka 5.x (suppression de shaka.polyfill.installAll() obsolète, mise à jour de l'instanciation du lecteur).

Guide de mise à niveau

Exécutez ce qui suit pour mettre à jour :

bash
$
npm install @newrelic/video-shaka@4.0.3

Pour activer la QoE, ajoutez qoeAggregate: true à vos options de configuration comme indiqué ci-dessus.

Dépendances

Nécessite @newrelic/video-core v4.1.1 ou une version ultérieure pour la prise en charge de la QoE.

February 18
Media agent for Dash JS v4.1.0

What's new

This release introduces three new bitrate metrics providing comprehensive quality analysis for MPEG-DASH streaming, along with important improvements to existing bitrate calculations and dash.js v4/v5 compatibility.

New features

New bitrate metrics

  • contentManifestBitrate: Maximum combined (video + audio) bitrate from the MPD manifest. Represents the highest possible stream variant available.

  • contentMeasuredBitrate: Network estimated by the player's Adaptive BitRate (ABR) algorithm, based on measured download throughput. Use this metric to analyze ABR decision-making.

  • contentDownloadBitrate: Effective download throughput calculated from video segment request data (bytesDownloaded × 8 / downloadTime). This Provides real-time network performance monitoring.

Changes

Updated bitrate calculations

  • contentBitrate: Returns the video-only bitrate from the active track and excludes audio. Previous versions included combined bitrate.

  • contentRenditionBitrate: Returns the combined video and audio bandwidth of the active rendition to provide a complete quality picture.

Compatibility improvements

  • getDashBitrate(): Fixed v4 compatibility issue. Version check now occurs before calling v5-only APIs, preventing errors on dash.js v4.x installations.
  • getManifestBitrate(): Introduced a smart version detection that uses getRepresentationsByType() on dash.js v5+ and falls back to getBitrateInfoListFor() on v4.x.

Bug fixes

  • Removed duplicate getPlayhead() method definition
  • Removed console.log statement from getTrack() error handler

Bitrate metrics overview

Attribute

Type

Description

contentBitrate

Video-only

Bitrate of the currently active video track

contentRenditionBitrate

Combined

Video + audio bandwidth of active rendition

contentManifestBitrate

Maximum

Highest quality variant from MPD manifest

contentMeasuredBitrate

Estimated

ABR algorithm bandwidth estimate

contentDownloadBitrate

Real-time

Effective download throughput

February 18
Agent média pour Dash JS v4.1.0

Nouveautés

Cette sortie introduit trois nouvelles métriques de débit binaire fournissant une analyse complète de la qualité pour le streaming MPEG-DASH, ainsi que d’importantes améliorations aux calculs de débit binaire existants et à la compatibilité dash.js v4/v5.

Nouvelles fonctionnalités

Nouvelles métriques de débit binaire

  • contentManifestBitrate: débit binaire combiné maximal (vidéo + audio) du manifeste MPD. Représente la variante de flux la plus élevée disponible.

  • contentMeasuredBitrate: réseau estimé par l'algorithme Adaptive BitRate (ABR) du lecteur, basé sur le débit de téléchargement mesuré. Utilisez cette métrique pour analyser la prise de décision ABR.

  • contentDownloadBitrate: débit de téléchargement effectif calculé à partir des données de requête de segment vidéo (bytesDownloaded × 8 / downloadTime). Cela fournit un monitoring de la performance réseau en temps réel.

Changements

Calculs de débit binaire mis à jour

  • contentBitrate: renvoie le débit binaire vidéo uniquement de la piste active et exclut l'audio. Les versions précédentes incluaient le débit binaire combiné.

  • contentRenditionBitrate: renvoie la bande passante vidéo et audio combinée du rendu actif pour fournir une image complète de la qualité.

Améliorations de compatibilité

  • getDashBitrate(): correction du problème de compatibilité v4. La vérification de la version s’effectue désormais avant d’appeler les API spécifiques à la v5, empêchant les erreurs sur les installations dash.js v4.x.
  • getManifestBitrate(): Introduction d'une détection intelligente de version qui utilise getRepresentationsByType() sur dash.js v5+ et se rabat sur getBitrateInfoListFor() sur la v4.x.

Débogage

  • Définition de la méthode getPlayhead() en double supprimée
  • Instruction console.log supprimée du gestionnaire d'erreurs getTrack()

Vue d'ensemble des métriques de débit binaire

Attribut

Type

Description

contentBitrate

Vidéo uniquement

Débit binaire de la piste vidéo actuellement active

contentRenditionBitrate

Combiné

Bande passante vidéo + audio du rendu actif

contentManifestBitrate

Maximum

Variante de la plus haute qualité du manifeste MPD

contentMeasuredBitrate

Estimé

Estimation de la bande passante de l'algorithme ABR

contentDownloadBitrate

Temps réel

Débit de téléchargement effectif

Droits d'auteur © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.