Um player de vídeo HTML5, em relação à stack de tecnologia geral (no lado do serviço de streaming), fica no final do fluxo de trabalho, fornecendo a reprodução ao público. Geralmente é a última coisa em que você pensa, pois é a peça final do quebra-cabeça.
No entanto, se você transmite ao vivo ou sob demanda, o player de vídeo HTML5 desempenha um papel essencial no que você faz e como seu público se envolve com seu conteúdo.
Como este é um elemento tão importante no processo de reprodução de vídeo, vamos analisar as seis camadas diferentes de um player HTML5, como ele se encaixa na cadeia de tecnologia e como o suporte a dispositivos, APIs disponíveis e testes de reprodução podem ajudá-lo a ampliar seu alcance com uma experiência de melhor qualidade.
O conteúdo que você verá a seguir é embasado por um artigo publicado no blog da Bitmovin.
Boa leitura! 🔎
#1. O que define um player de vídeo HTML5?
Ao falar com pessoas da indústria de streaming, a forma como definem o que é um player de vídeo pode variar significativamente devido à sua experiência e às iniciativas da empresa da qual fazem parte.
Os serviços de streaming normalmente têm uma visão holística e veem o player como tudo o que interage com seus usuários, o que pode incluir controles de interface, recomendações e muito mais.
No entanto, fornecedores de soluções ou equipes de desenvolvimento tendem a adotar a abordagem oposta e acreditam que o player tem muitas camadas, com controles de interface do usuário e outros aspectos fazendo parte de diferentes partes da stack do player.
Na base dessas camadas está a estrutura central do player. É uma peça essencial e que pode ser empacotada em um Software Development Kit (SDK) para facilitar a integração dos desenvolvedores no aplicativo em que estão trabalhando.
Juntamente com a estrutura, as APIs são outra camada que ajuda a integrar muitos componentes diferentes e habilita uma grande quantidade de integrações. As APIs permitem que os aplicativos controlem a experiência de reprodução instruindo o player ou ouvindo eventos do player, os quais exigem que decisões sejam tomadas.
Alguns exemplos são:
- Play/Pause
- Buscar
- Configurações de legendas
- Eventos de tempo para determinar quando inserir um anúncio
- Configurações de DRM (Digital Right Management – gerenciamento de direitos digitais) para garantir que usuários autorizados possam ver o conteúdo
Além dessas camadas, há outra que contém os aspectos da interface do usuário do player, como botões, menus e opções para os espectadores controlarem a reprodução.
Por último, mas não menos importante, uma camada adicional afeta a lógica de negócios por trás de tudo, a qual toma decisões como:
- Permitir que os usuários ignorem anúncios
- Selecionar o melhor idioma de legenda para a localização do espectador
- Carregar automaticamente o próximo vídeo quando o espectador terminar sua transmissão atual
#2. Como um player de vídeo HTML5 interage com seu fluxo de trabalho
O player também desempenha um papel importante no fluxo de trabalho (workflow) de ponta a ponta e, mesmo sendo a última parte, todas as solicitações de conteúdo derivam dele.
O player é afetado por todas as outras peças antes e depois, o que significa que precisa ter as configurações corretas para funcionar junto com o que você montou. O vídeo visualizado pelos usuários para fluxos de trabalho VOD (Video On Demand – sob demanda) será uma versão compactada do arquivo original que normalmente é armazenado de forma local ou em nuvem, enquanto o vídeo ao vivo será ingerido a partir do ponto de origem do stream.
Para reduzir o tamanho do arquivo original para VOD, o encoder (codificador) intervém para comprimi-lo e, para garantir que ele possa atender às necessidades das condições de rede no final do visualizador, ele pode aplicar uma escada de taxa de bits (bitrate) a ele, tornando-o disponível em qualidades diferentes para cobrir uma variedade de ambientes de visualização.
O packager então “empacota” o vídeo codificado em protocolos padrão que são suportados por dispositivos como HLS e DASH. Medidas de segurança de conteúdo como DRM podem ser aplicadas na camada do packager para os protocolos específicos.
Uma vez que o conteúdo é processado, ele é armazenado na origem de onde o CDN (Content Delivery Network) o solicitará e o entregará ao player no dispositivo do usuário final.
Por fim, o Analytics desempenhará um papel crucial no monitoramento da experiência de reprodução de seus espectadores, pois coleta dados e ajuda a identificar se algum problema está acontecendo com seu stream.
#3. Como diferentes fatores de API afetam o stream
Ao longo do fluxo de trabalho descrito no parágrafo anterior, as APIs podem e serão uma grande parte de cada etapa do fluxo de streaming, especialmente quando se trata do player e do dispositivo. Elas podem ser configurados para manipular os parâmetros de comportamento e permitir que os aplicativos instruam o player a realizar determinadas ações, como selecionar uma faixa de áudio específica ou qualidade de vídeo.
As APIs normalmente permitem que os aplicativos controlem a funcionalidade do player em:
- Core Playback (Ex: legendas, reprodução, pausa e níveis de buffer)
- Publicidade (Ex: anúncios para reproduzir, inclusão de URLs de CT, tempo de anúncio e restrições)
- DRM (Ex: tipo, provedor, URL e persistência)
- Rede (Ex: manipulações de solicitações e respostas)
Durante a reprodução, as APIs também podem ser configuradas para enviar eventos aos aplicativos, o que ajuda a acionar a lógica de negócios que foi implementada e pode basear as decisões nas métricas fornecidas pelo player.
Os eventos podem ser:
- O início ou o fim de um intervalo de anúncio
- O início ou o fim de uma sessão de transmissão ao vivo
- Download de atualizações de progresso
- Alterações na qualidade do vídeo
- Erros de reprodução
Esses eventos são críticos para os aplicativos, pois permitem que eles apliquem experiências dinâmicas de visualização às interações feitas pelo espectador e adaptem a qualidade da reprodução para atender aos requisitos da rede.
A capacidade de alterar as qualidades tem a ver com o stream com taxas de bits adaptáveis (ABR) disponíveis. Quando o conteúdo é solicitado, o player começa identificando as condições atuais da rede e o tipo de dispositivo/sistema operacional para saber a melhor qualidade e taxa de bits para solicitar o conteúdo.
Ele também entenderá o buffer disponível, portanto, se houver alguma interrupção na rede, ele não afetará imediatamente o espectador e dará tempo para o stream se reconectar.
#4. Todos os recursos e capacidades são necessários?
Para todas as APIs e os recursos que elas permitem, nem tudo é importante para cada fluxo de trabalho. Quanto mais recursos você adicionar ao seu player, mais pesado ele será, e é por isso que o tempo de carregamento realmente depende do número de itens que o dispositivo/navegador do seu usuário precisa carregar ao tentar acessar seu conteúdo.
Para oferecer aos espectadores a melhor experiência sem ter que ativar todos os recursos, são necessárias estruturas modulares de player.
Os módulos do player ajudam a priorizar os recursos que você deseja habilitar para seus espectadores durante a experiência de visualização e terão um impacto direto na diminuição do tempo de carregamento.
Um bom exemplo disso é a proteção DRM. Se um stream for protegido por DRM, ele poderá incluir um módulo no player, mas se o stream não estiver protegido, não será necessário que esse módulo faça parte do player.
Um item adicional a isso é que os players também podem oferecer módulos para dispositivos específicos, como Smart TVs. Esses módulos específicos do dispositivo ajudam a alterar o comportamento do player.
#5. Métricas para medir seu stream
Um dos recursos mais importantes são as análises que ajudarão você a monitorar a reprodução de seus streams, conforme mencionado acima. As análises são essenciais e oferecem a capacidade de otimizar e aumentar seus recursos de streaming com os dados do seu público que visualiza seu conteúdo, permitindo que você ofereça uma experiência de maior qualidade.
Os dados fornecidos pela reprodução que você está monitorando podem ser medidos por várias métricas e usados para criar uma pontuação que reflete o que é importante para seus objetivos e modelo de negócios. Por exemplo, se você estiver transmitindo conteúdo ao vivo, as métricas com as quais você se importa serão diferentes de uma empresa que transmite apenas conteúdo sob demanda.
Para mostrar como podem ser as métricas, aqui vão algumas das mais comuns:
- Qualidade da experiência na sessão de streaming (por dispositivo)
- Tempo de inicialização do vídeo
- Tempo de carregamento do DRM
- Porcentagem de buffer
- Erros de reprodução
- Falhas de reprodução
- Taxa de bits média
- Resolução
- Número de impressões (importante para empresas orientadas por anúncios)
- Número de espectadores (importante para modelos de negócios de assinantes)
#6. SDKs e testes
A mídia nem sempre está disponível ou visível em todos os dispositivos e, para garantir uma boa qualidade de experiência para os espectadores, o player precisa oferecer suporte ao dispositivo em que está sendo transmitido.
Para facilitar a utilização de um player de vídeo HTML5 pelos desenvolvedores, eles se concentram em aumentar o número de dispositivos que podem transmitir conteúdo e aumentar a qualidade da reprodução por meio de SDKs.
O SDK é essencialmente o player escrito na linguagem de programação que o desenvolvedor usa, permitindo integrá-lo rapidamente em seu aplicativo e geralmente é fornecido para iOS, Android, Roku ou outros ambientes de programação.
Os SDKs são essenciais, pois permitem que os desenvolvedores ofereçam suporte a dispositivos mais rapidamente e tenham mais tempo para se concentrar na criação de aplicativos ricos em recursos. Como esses SDKs são criados para funcionar perfeitamente com a plataforma, eles também tornam a experiência melhor e mais estável para os espectadores, de ponta a ponta.
O suporte a mais dispositivos é uma necessidade, mas nem sempre viável, pois depende do tempo que você e sua equipe podem dedicar à implementação dos SDKs.
É aqui que os testes se tornam essenciais para a economia de tempo de uma equipe, pois eles podem ver como a reprodução de seu stream está funcionando nos dispositivos.
Resumindo…
A partir desta leitura, esperamos que você tenha uma visão clara do que entra em um player de vídeo HTML5 e por que ele é uma das partes mais importantes do seu fluxo de trabalho.
As APIs serão essencialmente suas melhores amigas na implementação da experiência de visualização que você deseja oferecer, as métricas que deseja acompanhar e os dispositivos aos quais gostaria de oferecer suporte.
Mesmo que cada parte do seu fluxo de trabalho de streaming seja importante, o player é o que conecta você ao seu usuário e pode, em última análise, desempenhar um papel importante para a performance do seu conteúdo.
Ficou com dúvidas sobre o player de vídeo HTML5? Escreva um comentário abaixo ou entre em contato conosco. Pode contar com a nossa ajuda para qualquer esclarecimento. 🤝