Bug fixes
Fixed contentBitrate to accurately report stream bitrate
Issue: The contentBitrate attribute used estimatedBandwidth (the network capacity estimate) as its primary source, which didn't accurately represent the actual bitrate of the playing video stream.
Solution: Updated the bitrate calculation to prioritize streamBandwidth from Shaka Player statistics, which provides the actual content bitrate of the current video variant as defined in the manifest.
Impact: The contentBitrate attribute correctly reports the bitrate (in bits per second) of playing video stream rather than the estimated network bandwidth. This provides more accurate telemetry data for video quality monitoring and analytics.
Technical details
- Changed the priority order in
getContentBitratePlayback()method - Uses the
stats.streamBandwidthas the primary source for content bitrate - Updated the
DATAMODEL.mddocumentation to reflect the accurate definition
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
Improved contentBitrate calculation
Issue: The contentBitrate attribute reported the target bitrate from the manifest instead of the actual measured throughput during playback.
Fix: Updated the bitrate calculation method to use getAverageThroughput() from dash.js. This captures the measured average throughput, providing a more accurate, real-time representation of the content consumption rate during playback.
Implementation details
- Primary logic: Uses
player.getAverageThroughput('video')to retrieve measured throughput - Fallback logic:
- Uses manifest bitrate if throughput measurement is unavailable
- Improves accuracy of video quality monitoring and analytics
- Impact:
- More accurate bitrate reporting in New Relic video monitoring
- Better visibility into actual network conditions and video quality
- Improved debugging capabilities for playback issues
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
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