Home Blogs Dados do cliente de média comum (CMCD) para transmissão contínua
Applications

Dados do cliente de média comum (CMCD) para transmissão contínua

About The Author

Outline

Um grande foco da equipa de Ciência de Dados do Edgio está a continuar a inovar o nosso motor de recolha de dados do EdgeQuery que faz parte da nossa Rede de Entregasde Conteúdo (CDN). O EdgeQuery coleta dados quase em tempo real a partir de servidores de borda para fornecer insights de dados acionáveis para nossos clientes. A mais recente inovação é adicionar suporte a Common Media Client Data (CMCD) à plataforma CDN do Edgio. Um requisito de uma CDN bem-sucedida é ser construída sobre uma arquitetura de rede inteligente, com escala global, de alto desempenho, tal como a de Edgio. Se você possui a arquitetura da sua plataforma de streaming de ponta a ponta, então já é possível ter visibilidade do tipo CMCD no registro de dados entre o seu próprio reprodutor e o seu próprio CDN. Para todos os outros, o CMCD preenche esta lacuna de informação dando aos fornecedores de streaming total visibilidade dos dados que são trocados entre o leitor e a CDN. Também há benefícios para as CDNs. As redes têm mais visibilidade dos dados CMCD, permitindo-nos ser mais proativos do que nunca. Em suma, o uso de CMCD está preparado para revolucionar a entrega para plataformas de streaming e está apenas na sua primeira versão.
Multi-CDN High Level Architecture with CMCD

Arquitectura de Alto Nível Multi-CDN com CMCD

O que é CMCD?

A CMCD refere-se à especificação aberta CTA-5004 que foi lançada em 2020. O que é uma especificação aberta? A especificação aberta refere-se a um conjunto de requisitos e padrões documentados publicamente disponíveis para qualquer pessoa. O grande destaque aqui é que a especificação aberta do CMCD define como os media players (conhecidos como clientes) geram dados de transmissão de vídeo e os partilham com CDNs para cada pedido de mídia. Antes de definir esta especificação, era o oeste selvagem quanto à forma como os dados dos clientes foram enviados, recebidos e processados com CDNs. O CMCD no seu núcleo é apenas um conjunto de chaves com dados valiosos. Usando o CTA-5004, eu resumi essas chaves e adicionei insights para você criar uma folha de dicas útil.
Descrição Chave Definição *Use
Bitrate codificado br Taxa de bits codificada do objeto de áudio ou vídeo a ser pedido. Mostra a taxa de bits real entregue e pode ser usada pela CDN para inferir o tamanho do objeto.
Comprimento do tampão bl Duração do buffer do jogador no momento do pedido. Pode ser usado pela CDN para inferir a integridade da reprodução.
Buffer de fome bs Evento de inanição de tampão. Indica o rebuffer/paragem na reprodução. A percentagem de rebuffer é calculada como o número total de sessões vs sessões com pelo menos um evento de rebuffer durante um determinado período de tempo.
ID do conteúdo cid Cadeia única que identifica o conteúdo atual. Útil para rastrear conteúdo problemático, mas raramente é usado pelos jogadores.
Duração do objeto d Duração da reprodução em milissegundos do objeto a ser pedido. Quando agregado pode ser usado como uma estimativa de horas assistidas.
Pode ser usado para determinar se o conteúdo está em uma quebra de anúncio e tipo de vídeo que está sendo assistido.
Pode ser usado para determinar o tamanho do pedaço.
Prazo dl O prazo do tempo de solicitação até a primeira amostra deste segmento/objeto precisa estar disponível para não criar um buffer de subexecução ou qualquer outro problema de reprodução
Meça a taxa de transferência mtp Taxa de transferência entre o cliente e o servidor, medida pelo cliente. Largura de banda estimada entre a CDN e o leitor. Útil para comparar CDN e métricas externas.
Pedido do próximo objeto nem Caminho relativo do próximo objeto a ser pedido. Usado para pré-busca.
Pedido de gama seguinte nrr Se a próxima solicitação for uma solicitação de objeto parcial, essa cadeia denota o intervalo de bytes a ser solicitada. Se o campo 'Nor' não estiver definido, presume-se que o objeto corresponde ao objeto que está a ser requisitado. Usado para pré-busca.
Tipo de objeto ot Tipo de material do objeto atual a ser pedido:
m: ficheiro de texto, como um manifesto ou uma lista de reprodução
apenas áudio
v: apenas vídeo
áudio e vídeo muxados
i: segmento init
c: legenda ou legenda
TT: Faixa de texto temporizada ISOBMFF
k: chave criptográfica, licença ou certificado.
outros
Se o tipo de objeto a ser pedido for desconhecido, então esta chave NÃO deve ser usada.
Usado para resolução de problemas. Pode ser usado para determinar problemas de codificação e de DRM. Os provedores de DRM têm visibilidade limitada sobre quais versões/navegadores são atualmente usados/suportados e, portanto, "k" é extra útil.
"c" pode ser usado para alertar possíveis problemas de conformidade.
Taxa de reprodução pr 1 se em tempo real, 2 se velocidade dupla, 0 se não jogar. SÓ deve ser enviado se não for igual a 1. Pode ser usado para inferir se o jogador está ajustando a taxa de reprodução para compensar outros problemas (como a origem ou o CDN está falhando em entregar segmentos rápido o suficiente).
Taxa de transferência máxima solicitada a rtp Taxa de transferência máxima solicitada pelo cliente que considera suficiente para a entrega do ativo.

*** A taxa de transferência refere-se à quantidade de dados que são transmitidos.
Vai dizer-lhe o desempenho do jogador e da CDN. Isto pode ser usado para uma gestão de dados mais eficiente e, com efeito, poupar recursos.
Isso pode beneficiar os clientes, impedindo a saturação do buffer através da entrega excessiva e também pode proporcionar um benefício comunitário através da entrega de ações justas. O conceito é que cada cliente recebe o rendimento necessário para um excelente desempenho, mas não mais.
Formato de transmissão sf D: MPEG DASH
HLS (HTTP Live Streaming)
S – Streaming suave
o: outro
Ajuda a determinar problemas relacionados ao fluxo para jogadores que suportam DASH/HLS. Pode comparar o desempenho baseado no formato de streaming para jogadores que têm suporte a vários formatos.
ID da sessão sid GUID identificando a sessão de reprodução atual. Uma sessão de reprodução normalmente une segmentos que pertencem a um único ativo de mídia. O comprimento máximo é de 64 carateres. RECOMENDA-SE que esteja em conformidade com a especificação UUID. Esta chave é sempre recomendada para ser incluída no registo CMCD. É indiscutivelmente a chave mais útil, pois é usada para alinhar logs juntos.
Pode ser útil solucionar problemas de armazenamento em cache. A mesma ID de conteúdo com duas ID de sessão indica fortemente um problema de armazenamento em cache.
Tipo de fluxo st V: Todos os segmentos estão disponíveis - por exemplo, VOD
Os segmentos ficam disponíveis ao longo do tempo, por exemplo, AO VIVO
Chave inestimáveis para resolução de problemas.
Arranque su Indica a inicialização do conteúdo. Elimina a necessidade de beaconing.
Saber a inicialização do conteúdo pode ser útil para otimizar a reprodução subsequente.
Esta bandeira também é enviada após a bandeira do buffer (bs).
Bitrate de topo tb A maior reprodução da taxa de bits no manifesto ou lista de reprodução que o cliente tem permissão para reproduzir. Usado para determinar problemas de taxa de bits ou de laddering da taxa de bits.
Mostra a taxa de bits superior que o jogador podia jogar nessa altura. Pode ser usado para comparar com as taxas de bits disponíveis.
Versão CMCD v Versão da especificação CMCD usada. Esta tecla permite o controlo da versão e indica que serão lançadas futuras versões do CMCD.
Tecla personalizada As chaves personalizadas requerem o prefixo "cmcd-".
Exemplo fictício: Cmcd-edgio
Permite que sejam enviadas chaves CMCD únicas, o que estende o CMCD para ser totalmente personalizável.

Actualmente, Edgio é a única CDN que afirma publicamente o suporte para todas as chaves CMCD. As teclas definidas podem ser transmitidas em três modos de entrega, desde jogadores a CDNs.

  1. Cabeçalho HTTP personalizado em cada solicitação. As teclas podem ser usadas com quatro nomes de cabeçalho.
    • CMCD-Request: Chaves cujos valores variam de acordo com cada solicitação.
    • CMCD-Object: Chaves cujos valores variam com o objeto a ser pedido.
    • CMCD-Estado: Chaves cujos valores não variam de acordo com cada pedido ou objeto.
    • CMCD-Session: Chaves cujos valores se espera que sejam invariantes ao longo da vida da sessão.
  2. Argumentos de consulta de HTTP.
  3. Objeto json independente de cada solicitação HTTP.
Buffer starvation and startup in CMCD format via three delivery modes.

Inanição de buffer e arranque em formato CMCD através de três modos de entrega.

Quem deve usar o CMCD?

Os serviços de streaming de qualquer tamanho devem usar o CMCD o mais rápido possível. No entanto, desde o seu lançamento, o conhecimento e implementação do CMCD tem sido limitado. As tendências que estamos a ver indicam que há uma crescente adoção e apoio. Dito isto, gostaríamos de falar com vocês sobre o seu caso de uso e como a CMCD pode elevar o seu negócio.

Porque é que o CMCD é necessário?

O CMCD tem tudo a ver com garantir que os utilizadores tenham a melhor experiência de transmissão possível sempre que tocam. Como engenheiro de soluções na Edgio, o meu trabalho é rever a arquitetura técnica de um fornecedor de conteúdo para garantir que a nossa CDN funcione de forma suave e eficiente para a melhor experiência do utilizador. Um componente chave de qualquer arquitetura técnica são os dados recolhidos a partir de logs, métricas e traçados (também conhecidos como os três pilares da observabilidade) para conseguir isso. Abaixo estão mais algumas razões pelas quais o CMCD vale a pena incorporar se você ainda não está vendido nele.

Padronização

Os dados são recolhidos e analisados por uma mistura de ferramentas proprietárias internas e de terceiros para cada peça de arquitetura. A dificuldade é que os dados recolhidos seguem o seu próprio formato. Dados não padronizados podem criar efeitos colaterais como inconsistências, qualidade reduzida, escalabilidade limitada e esforços de manutenção aumentados. Desafio-vos a encontrar um engenheiro que não tenha enfrentado algumas ou todas estas questões antes. Para resolver isso, o CMCD padroniza os dados do lado do cliente (player) para os dados do lado do servidor (CDN) garantindo a interoperabilidade. Isso é significativo porque torna a coisa mais próxima que a CDN pode chegar aos dados de medição real do usuário (rum) do lado do cliente.

Personalização melhorada

As teclas CMCD personalizadas expandem infinitamente o seu utilitário.

Caso de uso: Personalização do código de status

Aqui está um código de status personalizado do mundo real que Edgio usa. “000 – Um código de status específico do Edgio devolvido quando a origem não envia resposta, portanto não há código de status para log (por exemplo, quando o cliente se desconeta antes que a origem forneça a resposta).” Esta definição é da secção Campos do ficheiro de registo da nossa documentação do serviço de configuração do serviço de entrega de registos .

Edgio poderia criar uma chave personalizada cmcd-000.

Fluxos de trabalho simplificados

Nos últimos anos, as empresas de tecnologia têm reduzido custos, consolidando ferramentas e reduzindo a complexidade geral. Os dados gratuitos que a CMCD produz podem substituir serviços de análise de registos internos e externos. O resultado é um fluxo de trabalho simplificado e otimizado.

Caso de uso: Fluxo de trabalho do jogador

Processo antigo

As análises de terceiros são amplamente utilizadas pelas empresas de streaming hoje. No entanto, essas ferramentas requerem um processo extenso e contínuo de integração mostrado abaixo.

    • Compras
    • Cada fornecedor de análise de terceiros tem o seu próprio kit de desenvolvimento de software (SDK) para integração com cada jogador. O ExoPlayer do Android, o leitor da Apple (HLS), o PlayReady da Microsoft (Xbox/Windows), baseado na Web (websites, televisores) e muito mais são exemplos de jogadores que requerem SDKs separados.
    • Testes e validação. Os metadados são necessários para estarem em conformidade com as diretrizes do fornecedor.

Vale a pena notar que este processo completo pode levar facilmente um ano ou mais.


Novo processo

Habilitar é simples. O Edgio pode captar os seus dados CMCD quase em tempo real através do nosso Serviço de Entrega de Registos. Isso significa que o beaconing do jogador ou a integração de terceiros não são necessários para desbloquear a análise de dados da próxima geração. Para os nossos clientes com uma grande base de utilizadores isto traduz-se em milhões de dólares poupados anualmente.

Segurança

A segurança da informação pode não ser a primeira coisa em que se pensa quando se trata de streaming, mas ainda é um componente importante.
  • O CMCD não tem acesso a dados de início de sessão ou contém PII (Informações de Identificação Pessoal) porque compartimentaliza a experiência do utilizador a partir das informações. Contém apenas informação genérica de desempenho.
  • Os dados CMCD não dependem de serviços intermediários. Isso limita o compartilhamento de dados com terceiros mantendo os dados internos.

Observabilidade

Os CDNs agora podem ver dados precisos de sessão sobre como o cliente está a experienciar o seu serviço. Esta visibilidade partilhada pode ser usada por CDNs e fornecedores de streaming para:
  • Configure monitorização e alertas mais precisos.
  • Dê mais tempo de espera em incidentes importantes.
  • Diagnosticar e resolver problemas de forma mais eficaz.

Caso de Uso: Tratamento de Parada

Processo antigo

Este é o fluxo de processo típico de como a interrupção de uma empresa de streaming é resolvida com logs separados de player e CDN.

    1. Ocorre uma interrupção. Infelizmente, a comunicação humana ou a intervenção de análises de terceiros não são normalmente oferecidas.
    2. O alerta interno é acionado a partir da queda dos indicadores de desempenho, códigos de erros, painéis, etc.
    3. O alerta é triagido internamente e escalado com base em fatores como quem está de plantão, especialistas no assunto e delegação de departamentos.
    4. Os runbooks são usados se este é um problema que foi encontrado e documentado anteriormente.
    5. A decisão é tomada se o problema deve ser encaminhado externamente para parceiros como a CDN.
    6. A resolução é alcançada.
    7. A Análise de Causa Raiz Interna (RCA) é realizada e comunicada aos clientes.

Devido ao longo caminho de encaminhamento, esta interrupção demora muito tempo a chegar a uma resolução.


Novo processo

Este é o fluxo do processo de como uma interrupção é resolvida com o CMCD.

    1. Ocorre uma interrupção. O acesso a dados CMCD nativos permite que todos tenham visibilidade total. A nossa equipa de Serviços Geridos entra em contato consigo de forma proativa para a mitigação.
    2. A resolução é alcançada pela colaboração de Edgio em tempo real para resolver interrupções enquanto olha para os mesmos dados que os seus engenheiros.
    3. Edgio pode ajudar com a RCA e criar estratégias para você como parceiro para evitar futuras interrupções.

A resolução da interrupção é alcançada mais rapidamente e requer menos recursos internos de engenharia.

Ganhos de desempenho

O principal objetivo de uma CDN é aumentar o desempenho do conteúdo servido pela internet.

Pré-obtenção

Vemos o CMCD pedido mais frequentemente aos nossos clientes para desbloquear o suporte universal de pré-busca. A pré-busca é carregar dados de conteúdo para o cache antes de serem necessários para acelerar a entrega do conteúdo.

Equilíbrio de carga inteligente da próxima geração

A nossa CDN fornece automaticamente conteúdo do Ponto de Prescência mais otimizado (POP) dentro da nossa rede global privada. Nós lidamos com o equilíbrio interno de carga da rede para você, mas quando vários CDNs são usados, o equilíbrio de carga externo é mais complicado e ofuscado para os provedores de conteúdo gerirem. O problema torna-se como as empresas de streaming podem alavancar CDNs em sua pilha de formainteligente. Cada empresa tenta resolver este problema de uma forma única, mas para a maioria ainda é dividida manualmente por percentagem ou disponibilidade delegada pelo jogador. O equilíbrio de carga com consciência CMCD é a resposta. Ter dados de CDN e de jogadores em logs unificados permite uma maior perceção do desempenho de cada CDN, o que é necessário para o equilíbrio de carga inteligente. Isto está nas suas fases nascentes, mas é também a caraterística mais promissora. Os provedores de streaming ainda não estão usando esse método em seus ambientes de produção. Menciono isto porque isso significa que a sua aplicação é teórica. Mais por vir neste caso de uso à medida que vemos o CMCD evoluir e crescer com outras tecnologias emergentes de streaming, como a IA/ML.

Caso de uso: Equilíbrio de carga geográfica inteligente

Um provedor de streaming tem direitos exclusivos de streaming para o maior evento desportivo ao vivo do ano na América Latina. Para se preparar para o evento, o equilíbrio de carga com consciência CMCD pode ser empregado. Durante o jogo, os dados são usados em tempo real para distribuir automaticamente o tráfego para a CDN com o melhor desempenho por região, local e/ou pop fora da pilha CDN. Isso evita a necessidade de reprovação manual se uma CDN na pilha estiver com baixo desempenho, com capacidade, ou se tiver problemas técnicos. Neste cenário, a nossa CDN lidaria com a maior quota de tráfego porque a Edgio normalmente supera outros CDNs na América Latina devido à nossa prioridade de investir fortemente em mercados emergentes.

Otimização de trânsito adaptável

O uso em tempo real do CMCD pode ser usado para otimizações de tráfego adaptativas, como a estabilização das taxas de bits de reprodução entre os visualizadores de streaming.

Como ativar o CMCD?

Antes de prosseguir, você deve saber que existem dois requisitos técnicos que são que o leitor e a CDN precisam para suportar o uso de CMCD. A maioria dos leitores e CDNs hoje tem suporte a CMCD.
Jogador Cabeçalhos Consulta JSON
Theoplayer
Bitmovin
Jogador de Shaka
Android ExoPlayer
hls.js
o dash.js

* Deve notar-se que o suporte do jogador foi determinado pela disponibilidade de documentação pública e esta lista não é exaustiva. Sinta-se à vontade para entrar em contato com o suporte do leitor CMCD e podemos atualizar para incluir essa informação.

CDN CMCD Cabeçalhos Consulta JSON Todas as chaves Doc
Edgio Fonte
Por último Fonte
Akamai Fonte
Cloudfront Fonte
Google Beta Beta Beta Beta Beta Fonte

? Não é informação pública no momento da escrita. Sinta-se à vontade para entrar em contato com o suporte CMCD CDN e podemos atualizar para incluir essa informação.

Há outras considerações também:

  • Por questões de segurança, recomenda-se vivamente o uso de HTTPS por HTTP para todas as transmissões de dados CMCD através da web.
  • O CORS e a proteção de conteúdo introduzem complexidade extra nas configurações de CDN. O CORS precisa de ser configurado para permitir que os cabeçalhos CMCD-Request, CMCD-Object, CMCD-Status, CMCD-Session sejam enviados do leitor para a CDN.

Ativar para Edgio CDN

Veja a secção da documentação do relatório CMCD intitulada Habilitar o registo CMCD para obter instruções. Se você ainda não é um cliente, entre em contato conosco para uma avaliação de desempenho para trabalhar com a nossa equipe de engenheiros de soluções e ver a nossa CDN em ação.

Ativar para Uplynk

O Uplynk de Edgio é uma plataforma de streaming aperfeiçoada com CDN integrada para emissoras e provedores de OTT. Acoplar o CMCD com o Uplynk aumenta a sua visibilidade de ponta a ponta que nenhuma outra plataforma de streaming tem. Se ainda não é cliente, contacte-nos para uma demonstração do Uplynk e para falar diretamente com os nossos Serviços Geridos para permitir. Você pode ler mais sobre o futuro do Uplynk em Edgio e Bitmovin unem forças para otimizar a experiência do usuário .

Como visualizar o CMCD?

Os dados do CMCD estão localizados nos seus logs da CDN que podem ser inspecionados. Os dados podem ser puxados para repositórios de log, painéis e relatórios. Edgio tornou-se um dos primeiros a adotar quando anunciámos o nosso relatório CMCD que é alimentado pelo EdgeQuery.

Edgio’s CMCD Report that is available in the CDN Control Portal

Exemplo do relatório CMCD de Edgio que está disponível no Portal de Controle da CDN

O relatório CMCD dá uma visão geral visual, juntamente com a capacidade de ver informações detalhadas na ponta dos dedos. Os dados CMCD em si são enviados para a sua solução de armazenamento de registos, quer estejam localizados no local, partilhados com terceiros, ou mantidos na nossa rede no armazenamento Origin do Edgio .

Olhando para a frente

Se ainda não o fizeram, agora devem sentir-se bem familiarizados com o CMCD e como ele pode transformar o streaming hoje em dia. Como líder da indústria na CMCD, Edgio continuará a levá-la ao máximo do que é possível. Fiquem atentos!

Agradecimentos
Um agradecimento especial ao nosso Gestor do Programa Anthony Karr pelo seu valioso feedback e sugestões. Obrigado ao nosso arquiteto de software Yuri Nepyyvoda pelo seu excelente trabalho na liderança do desenvolvimento da nossa implementação de CMCD de ponta.

Terminologia

  • CORS: Partilha de recursos de origem cruzada
  • Interoperabilidade: A capacidade dos sistemas trabalharem em conjunto.
  • Open Specification: Um conjunto de requisitos e padrões documentados publicamente disponíveis para qualquer pessoa.
  • OTT: Over-the-top que se refere a fornecer conteúdo sobre serviços de internet.
  • Pré-busca: Pré-busca é carregar dados para o cache antes de serem necessários para acelerar a entrega do conteúdo. A pré-busca também é conhecida como cachê de aquecimento ou pré-aquecimento.
  • Rum: Dados reais de medição do utilizador
  • SDK: Kit de Desenvolvimento de Software
  • Uplynk: Uma plataforma de streaming aperfeiçoada com CDN integrada para emissoras e provedores de OTT.