Débogage
Amélioration du calcul de contentBitrate
Problème: l'attribut contentBitrate a signalé le débit binaire cible du manifeste au lieu du débit réel mesuré pendant la lecture.
Correction: mise à jour de la méthode de calcul du débit binaire pour utiliser getAverageThroughput() de dash.js. Cela capture le débit moyen mesuré, fournissant une représentation plus précise et en temps réel du taux de consommation du contenu pendant la lecture.
Détails de l'implémentation
Logique principale: utilise
player.getAverageThroughput('video')pour récupérer le débit mesuréLogique de repli:
- Utilise le débit binaire du manifeste si la mesure du débit est indisponible
- Améliore la précision du monitoring et des analyses de la qualité vidéo
Impact:
- Rapports de débit binaire plus précis dans le monitoring vidéo de New Relic
- Meilleure visibilité sur les conditions réelles du réseau et la qualité vidéo
- Capacités de débogage améliorées pour les problèmes de lecture
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 utilisegetRepresentationsByType()sur dash.js v5+ et se rabat surgetBitrateInfoListFor()sur la v4.x.
Débogage
- Définition de la méthode
getPlayhead()en double supprimée - Instruction
console.logsupprimée du gestionnaire d'erreursgetTrack()
Vue d'ensemble des métriques de débit binaire
Attribut | Type | Description |
|---|---|---|
| Vidéo uniquement | Débit binaire de la piste vidéo actuellement active |
| Combiné | Bande passante vidéo + audio du rendu actif |
| Maximum | Variante de la plus haute qualité du manifeste MPD |
| Estimé | Estimation de la bande passante de l'algorithme ABR |
| Temps réel | Débit de téléchargement effectif |
Débogage
Correction de contentBitrate pour indiquer avec précision le débit binaire du flux
Problème : l’attribut contentBitrate utilisait estimatedBandwidth (l’estimation de la capacité du réseau) comme source principale, ce qui ne représentait pas avec précision le débit binaire réel du flux vidéo en cours de lecture.
Solution : mise à jour du calcul du débit binaire pour prioriser streamBandwidth provenant des statistiques de Shaka Player, qui fournit le débit binaire réel du contenu de la variante vidéo actuelle tel que défini dans le manifeste.
Impact : l'attribut contentBitrate indique correctement le débit binaire (en bits par seconde) du flux vidéo en cours de lecture plutôt que la bande passante réseau estimée. Cela fournit des données télémétriques plus précises pour le monitoring et l'analyse de la qualité vidéo.
Détails techniques
- Modification de l'ordre de priorité dans la méthode
getContentBitratePlayback() - Utilise le
stats.streamBandwidthcomme source principale pour le débit binaire du contenu - Mise à jour de la documentation
DATAMODEL.mdpour refléter la définition exacte
Bug fixes
- Removed github token (f5f9ade)
Débogage
- Suppression du jeton GitHub (f5f9ade)
Enhancements
Improved error logging
Improved error logging by mapping Shaka errors to the following attributes: errorCode, errorPlatformCode, errorMessage, errorStackTrace, errorSeverity.
This enhancement ensures cleaner, more structured error data in New Relic by extracting only the essential error attributes from Shaka Player errors, removing unwanted properties like the data array.
Updates
Fixed CONTENT_ERROR Event
Attached the error EventListener to the player instead of its tag, following Shaka's specifications, to fix the CONTENT_ERROR event.
Améliorations
Logging des erreurs améliorée
Amélioration du logging des erreurs en mappant les erreurs Shaka aux attributs suivants : errorCode, errorPlatformCode, errorMessage, errorStackTrace, errorSeverity.
Cette amélioration garantit des données d'erreur plus propres et plus structurées dans New Relic en extrayant uniquement les attributs d'erreur essentiels des erreurs Shaka Player, tout en supprimant les propriétés indésirables telles que le tableau data.
Mises à jour
Correction de l'événement CONTENT_ERROR
L'erreur EventListener a été rattachée au lecteur au lieu de sa balise, conformément aux spécifications de Shaka, pour corriger l'événement CONTENT_ERROR.
Bug fixes
Content Bitrate detection enhancement
We've significantly improved the getBitrate() method with comprehensive Video.js technology support:
Key improvements
- VHS (Video HTTP Streaming) API support: Added native support for HLS and DASH content bitrate detection
- Enhanced bandwidth calculation: Implemented audio + video bitrate combination for accurate total bandwidth reporting
- Extended tech support: Added fallback support for popular streaming libraries:
- Shaka Player
- HLS.js
- DASH.js
- Improved reliability: Enhanced bitrate detection accuracy across different streaming technologies
- Dynamic bitrate updates: Fixed issue where bitrate values remained static throughout video playback
Débogage
Amélioration de la détection du débit binaire du contenu
Nous avons considérablement amélioré la méthode getBitrate() avec une prise en charge complète de la technologie Video.js :
Principales améliorations
Prise en charge de l'API VHS (Video HTTP Streaming): ajout de la prise en charge native de la détection du débit binaire pour les contenus HLS et DASH
Calcul amélioré de la bande passante: implémentation de la combinaison des débits binaires audio + vidéo pour un reporting précis de la bande passante totale
Support technique étendu: ajout d'une prise en charge de repli pour les bibliothèques de streaming populaires :
- Shaka Player
- HLS.js
- DASH.js
Fiabilité améliorée: Précision accrue de la détection du débit binaire sur différentes technologies de streaming
Mises à jour dynamiques du débit binaire: correction d'un problème où les valeurs de débit binaire restaient statiques tout au long de la lecture vidéo
Feature
Added IMA Ad tracking capability
- Improved Ad tracking capability for the agent with IMA ad tracking.