Novidades
Esta versão introduz três novas métricas de taxa de bits que fornecem uma análise de qualidade abrangente para streaming MPEG-DASH, além de melhorias importantes nos cálculos de taxa de bits existentes e na compatibilidade com dash.js v4/v5.
Novo recurso
Novas métricas de taxa de bits
contentManifestBitrate: taxa de bits máxima combinada (vídeo + áudio) do manifesto MPD. Representa a variante de stream mais alta possível disponível.contentMeasuredBitrate: rede estimada pelo algoritmo Adaptive BitRate (ABR) do player, com base nas taxas de transferência de download medidas. Use esta métrica para analisar a tomada de decisão do ABR.contentDownloadBitrate: Taxas de transferência de download efetivas calculadas a partir dos dados de solicitação de segmento de vídeo (bytesDownloaded × 8 / downloadTime). Isso fornece monitoramento de desempenho de rede em tempo real.
Alterações
Cálculos de taxa de bits atualizados
contentBitrate: Retorna a taxa de bits apenas de vídeo da faixa ativa e exclui o áudio. Versões anteriores incluíam a taxa de bits combinada.contentRenditionBitrate: Retorna a largura de banda de vídeo e áudio combinada da representação ativa para fornecer uma visão completa da qualidade.
Melhorias de compatibilidade
getDashBitrate(): Corrigido problema de compatibilidade com a v4. A verificação de versão agora ocorre antes de chamar APIs exclusivas da v5, evitando erros em instalações do dash.js v4.x.getManifestBitrate(): Introduzida uma detecção inteligente de versão que usagetRepresentationsByType()no dash.js v5+ e faz fallback paragetBitrateInfoListFor()no v4.x.
Correções de bugs
- Removida definição duplicada do método
getPlayhead() - Instrução
console.logremovida do manipulador de errosgetTrack()
Visão geral das métricas de bitrate
Atributo | Tipo | Descrição |
|---|---|---|
| Apenas vídeo | Taxa de bits da faixa de vídeo atualmente ativa |
| Combinado | Largura de banda de vídeo + áudio da renderização ativa |
| Máximo | Variante de maior qualidade do manifesto MPD |
| Estimado | Estimativa de largura de banda do algoritmo ABR |
| Tempo real | Taxa de transferência de download efetiva |
Correções de bugs
Cálculo aprimorado do contentBitrate
Problema: o atributo contentBitrate relatou a taxa de bits de destino do manifesto em vez das taxas de transferência reais medidas durante a reprodução.
Correção: atualizado o método de cálculo de taxa de bits para usar getAverageThroughput() do dash.js. Isso captura a taxa de transferência média medida, fornecendo uma representação mais precisa e em tempo real da taxa de consumo de conteúdo durante a reprodução.
Detalhes da implementação
Lógica principal: usa
player.getAverageThroughput('video')para recuperar as taxas de transferência medidasLógica de fallback:
- Usa a taxa de bits do manifesto se a medição de taxas de transferência estiver indisponível.
- Melhora a precisão do monitoramento e análise da qualidade de vídeo
Impacto:
- Relatórios de taxa de bits mais precisos no monitoramento de vídeo do New Relic
- Melhor visibilidade das condições reais da rede e da qualidade de vídeo
- Recursos de depuração aprimorados para problemas de reprodução
Correções de bugs
Corrigido contentBitrate para relatar com precisão a taxa de bits do stream
Problema: o atributo contentBitrate usava estimatedBandwidth (a estimativa de capacidade da rede) como sua fonte principal, o que não representava com precisão a taxa de bits real do stream de vídeo em reprodução.
Solução: atualizado o cálculo da taxa de bits para priorizar streamBandwidth das estatísticas do Shaka Player, que fornece a taxa de bits real do conteúdo da variante de vídeo atual conforme definido no manifesto.
Impacto: o atributo contentBitrate reporta corretamente o bitrate (em bits por segundo) do stream de vídeo em reprodução, em vez da largura de banda de rede estimada. Isso fornece dados de telemetria mais precisos para monitoramento da qualidade de vídeo e análises.
Detalhes técnicos
- Alterada a ordem de prioridade no método
getContentBitratePlayback() - Usa o
stats.streamBandwidthcomo fonte principal para a taxa de bits do conteúdo - Atualizada a documentação do
DATAMODEL.mdpara refletir a definição exata
Bug fixes
- Removed github token (f5f9ade)
Correções de bugs
- Token do GitHub removido (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.
Melhorias
Logging de erros aprimorado
Log de erros aprimorado mapeando erros do Shaka para os seguintes atributos: errorCode, errorPlatformCode, errorMessage, errorStackTrace, errorSeverity.
Esta melhoria garante dados de erro mais limpos e estruturados no New Relic, extraindo apenas os atributos de erro essenciais dos erros do Shaka Player, removendo propriedades indesejadas como o array data.
Atualizações
Evento CONTENT_ERROR corrigido
Anexado o erro EventListener ao player em vez de à sua tag, seguindo as especificações do Shaka, para corrigir o evento 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
Correções de bugs
Melhoria na detecção da taxa de bits do conteúdo
Melhoramos significativamente o método getBitrate() com suporte abrangente à tecnologia Video.js:
Principais melhorias
Suporte à API VHS (Video HTTP Streaming): Adicionado suporte nativo para detecção de taxa de bits de conteúdo HLS e DASH
Cálculo de largura de banda aprimorado: Implementada a combinação de taxa de bits de áudio + vídeo para relatórios precisos da largura de banda total
Suporte tecnológico estendido: Adicionado suporte a fallback para bibliotecas de streaming populares:
- Shaka Player
- HLS.js
- DASH.js
Confiabilidade aprimorada: Precisão aprimorada na detecção de taxa de bits em diferentes tecnologias de streaming
Atualizações dinâmicas de taxa de bits: Corrigido o problema em que os valores da taxa de bits permaneciam estáticos durante a reprodução do vídeo
Feature
Added IMA Ad tracking capability
- Improved Ad tracking capability for the agent with IMA ad tracking.