Se você faz parte de uma organização que administra um serviço de transmissão ao vivo e enfrentou um aumento inesperado no tráfego ou uma interrupção, sua equipe provavelmente teve que se esforçar para solucionar problemas e corrigir atrasos. Essa interrupção pode se tornar um problema significativo para os espectadores e um grande desafio para a sua equipe.
A raiz do problema geralmente está na capacidade do provedor de nuvem de lidar com picos repentinos de tráfego de forma eficaz e redirecionar o tráfego no caso de uma interrupção. Se o provedor de nuvem não conseguir escalonar os recursos com rapidez suficiente para acomodar o aumento da demanda, a plataforma de streaming poderá sofrer pressão, o que resultará em tempo de inatividade, streams lentos ou até mesmo falhas completas.
Ao investir em infraestrutura dimensionável, como servidores distribuídos e soluções baseadas em nuvem, e ao aproveitar a computação de ponta e uma CDN (rede de distribuição de conteúdo) avançada, você pode garantir que os usuários desfrutem de experiências ao vivo ininterruptas, que o conteúdo chegue ao espectador de forma confiável e que os serviços de streaming mantenham sua reputação em um mundo cada vez mais competitivo.
Neste blog, apresentaremos as ferramentas que muitos de nossos clientes utilizam para obter um streaming confiável.
Aproveitando os pontos de presença da Akamai
Uma CDN como a Akamai fornece servidores de borda descentralizados e localizados, estrategicamente posicionados nas proximidades dos usuários finais. Os servidores de borda atuam como pontos de presença (PoPs) que servem como hubs intermediários entre o data center central e o dispositivo do usuário. Quando você solicita um vídeo, o conteúdo é entregue a partir do servidor de borda mais próximo, em vez de percorrer todo o caminho a partir do data center central. Assim, quando há muito tráfego, esses servidores podem dividir e distribuir conteúdo simultaneamente para usuários em diferentes regiões sem atrasos.
A imagem acima mostra a rede distribuída da Akamai. Essa arquitetura foi projetada para ser dimensionada dinamicamente para lidar com picos de tráfego e flutuações na demanda. Essa elasticidade garante que a infraestrutura permaneça responsiva e resiliente, mesmo sob as condições mais exigentes. Essa proximidade reduz significativamente o tempo que o conteúdo leva para chegar ao seu dispositivo, resultando em menor latência e em uma experiência de streaming mais suave para os usuários finais.
Como a Akamai ajuda os serviços de streaming ao vivo a obter baixa latência
Para oferecer uma experiência de qualidade aos seus espectadores on-line, você precisa garantir que suas VMs não estejam adicionando latência adicional às suas transmissões ao vivo. A Akamai oferece suporte à latência de 10 segundos de ponta a ponta e de onda manual para transmissões ao vivo lineares e ao vivo. Veja como a Akamai ajuda os serviços de streaming ao vivo a obter baixa latência:
- Transcodificação ao vivo em tempo real
Um sistema de transcodificação ao vivo precisa ser dimensionado para lidar com cargas de vídeo de pico em tempo real. Qualquer latência adicionada durante a transcodificação acaba sendo repassada para o usuário final, resultando em uma experiência de visualização abaixo do ideal. - Tamanhos de segmentos pequenos
A arquitetura da Akamai foi criada para lidar de forma confiável com tamanhos de segmentos pequenos (até 2 segundos) para streaming baseado em HTTP, permitindo que os jogadores diminuam rapidamente as quedas de largura de banda, evitem paralisações de jogadores e reduzam efetivamente os buffers do lado do cliente. - Transferências codificadas em pedaços HTTP
O suporte a transferências codificadas em pedaços desde a ingestão até o Edge para iniciar as transferências assim que os dados estiverem disponíveis ajuda a minimizar as latências. - Pré-busca da borda
Os servidores de borda buscarão previamente o próximo conjunto de segmentos para uma determinada taxa de bits e o armazenarão em cache localmente, pois o segmento anterior já foi recebido e está sendo reproduzido. Isso permite que os segmentos estejam prontamente disponíveis e reduz o risco de latência adicional.
Vamos nos aprofundar em como um de nossos clientes usou a Akamai para escalonar sua transmissão ao vivo com esse processo.
Como dimensionar seu serviço de transmissão ao vivo na borda
Nosso mecanismo de transmissão ao vivo é obtido por meio do Media Services Live (MSL) da Akamai. O MSL foi projetado para entregar com eficiência conteúdo de vídeo ao vivo para públicos globais, aproveitando a extensa rede de servidores de borda da Akamai distribuídos em diversas localizações geográficas.
Vamos dar uma olhada na arquitetura de referência acima, que detalha o fluxo de trabalho de ingestão e o fluxo de trabalho de entrega para um evento de streaming ao vivo com a Akamai. Se estiver procurando melhorar seus serviços de streaming ao vivo, é assim que eu sugeriria configurar o MSL para lidar com o streaming ao vivo de um evento.
Etapa 1: Codificação e ingestão
Primeiro, você precisa capturar o conteúdo de vídeo ao vivo no local da transmissão. Depois de ter o conteúdo, você precisa configurar um codificador para converter o feed de vídeo bruto em um formato digital, como HTTP Live Streaming (HLS) ou Real-Time Messaging Protocol (RTMP). Em seguida, você usará o IAS (Ingest Acceleration Source) da Akamai, que é baixado por meio do portal do cliente da Akamai. O IAS pega o fluxo do codificador e o encaminha pelo nosso protocolo de transporte UDP proprietário. Em seguida, você precisa configurar o IAS para receber o fluxo do codificador.
Em seguida, você precisa configurar o Ingest Acceleration Target (IAT) na rede da Akamai e garantir que o IAT esteja configurado para decodificar o fluxo de volta ao seu formato original. Em seguida, conectamos o IAT ao software de ponto de entrada da Akamai para processamento adicional. Nessa fase de codificação e ingestão, muitas pessoas enfrentam o problema da perda de pacotes. O streaming de vídeo ao vivo é altamente sensível à perda de pacotes, que pode degradar a qualidade do streaming, causar buffering e levar a uma experiência de visualização insatisfatória. No entanto, os clientes que usam a Akamai para streaming ao vivo não passam por isso porque a tecnologia de aceleração baseada em UDP que a Akamai usa ajuda a atenuar os efeitos da perda de pacotes, garantindo que os pacotes de dados sejam entregues de forma mais confiável e rápida, mesmo em condições de rede instáveis. Outro motivo pelo qual essa tecnologia é crucial no processo de streaming ao vivo é que a transmissão tradicional baseada em TCP pode sofrer alta latência devido aos seus mecanismos de controle de congestionamento e correção de erros. A transmissão ao vivo exige baixa latência para garantir que os espectadores recebam o conteúdo em tempo real. A aceleração baseada em UDP da Akamai oferece maior taxa de transferência e menor latência, minimizando essas despesas gerais, o que é crucial para o conteúdo ao vivo, em que a entrega em tempo hábil é essencial.
Etapa 2: Distribuição de nível intermediário e armazenamento opcional
Em seguida, você precisa direcionar o fluxo de vídeo processado para os servidores mid-tier da Akamai. Esses servidores atuam como intermediários entre o servidor de ingestão e a rede de entrega de borda. Os servidores de camada intermediária distribuem ainda mais o fluxo de vídeo, garantindo que ele seja replicado e armazenado em cache em vários pontos da rede para equilibrar a carga e melhorar a redundância. Quando um provedor de nuvem lida com streaming ao vivo, é importante que esse balanceamento de carga seja tratado corretamente, pois, caso contrário, você terá gargalos no processo. Ao usar a rede de entrega de borda da Akamai, você evita que um único servidor se torne um gargalo, garantindo que nenhum servidor individual seja sobrecarregado por muitas solicitações. Isso se torna especialmente importante durante eventos de alto tráfego.
Opcionalmente, você pode armazenar o conteúdo de vídeo no sistema NetStorage da Akamai. O NetStorage garante que o conteúdo esteja sempre disponível e possa ser recuperado rapidamente, se necessário. Isso fornece uma solução de armazenamento escalonável e segura que pode servir como backup ou para reprodução sob demanda.
Etapa 3: Escudo de origem
Em seguida, enviamos o vídeo para o Origin Shield, que ajuda a gerenciar os picos de tráfego, atuando como um buffer entre os servidores de ingestão e a CDN da Akamai. Durante os horários de pico ou picos inesperados de visualização, o Origin Shield pode lidar com o aumento da carga, evitando que os servidores de ingestão fiquem sobrecarregados. Isso garante que o sistema possa acomodar um grande número de espectadores sem degradação do desempenho. O Origin Shield também otimiza a eficiência do cache. Ao adicionar uma camada adicional de cache, o Origin Shield reduz a frequência com que as solicitações precisam retornar aos servidores de origem. Isso diminui a carga nos servidores de origem, conserva a largura de banda e acelera a entrega de conteúdo aos usuários finais. Para os usuários finais, isso se traduz em acesso mais rápido ao conteúdo, reduzindo a latência e aprimorando a experiência do espectador.
Etapa 4: Configuração de entrega e entrega ao usuário final
Agora, é hora de distribuir o conteúdo. Quando você distribui o conteúdo globalmente para diferentes regiões, pode haver diferentes condições de rede, requisitos regulatórios ou preferências do espectador. Para resolver isso, nossos clientes usam as Akamai Delivery Accounts. As Akamai Delivery Accounts correspondem a diferentes configurações e definições para a entrega do conteúdo e permitem que os provedores de conteúdo definam diferentes configurações, como políticas de cache, protocolos de segurança e otimizações de entrega especificamente para cada região. Cada conta de entrega pode ter configurações específicas adaptadas às necessidades de várias regiões, dispositivos ou tipos de conteúdo. Isso é importante porque os provedores de conteúdo precisam distribuir seu conteúdo de forma eficiente e flexível em vários canais de entrega.
Por fim, o conteúdo de vídeo é entregue aos usuários finais por meio de uma variedade de dispositivos, como computadores, smartphones, tablets e smart TVs. Os servidores de borda fornecem o fluxo de vídeo para o dispositivo do jogador com latência mínima, garantindo uma experiência de visualização suave e de alta qualidade.
Conclusão
Há muitas coisas que você precisa levar em conta ao criar uma solução de transmissão ao vivo. Em primeiro lugar, é preciso levar em conta a latência e o buffering, especialmente durante eventos ao vivo em que a entrega em tempo real é fundamental. A alta latência pode levar a atrasos no feed ao vivo, o que deixará os usuários finais muito insatisfeitos. Você também precisa arquitetar a perda de pacotes, que pode degradar a qualidade do vídeo ou causar interrupções. Com a perda de pacotes, seus usuários finais terão dificuldades com fluxos inconsistentes e não confiáveis, o que levará a uma experiência de visualização ruim. Por fim, você precisa ser capaz de dimensionar e equilibrar a carga. Você pode enfrentar sobrecargas e falhas no servidor, resultando em interrupções de serviço e incapacidade de lidar com cargas de pico de forma eficiente. A rede de entrega otimizada da Akamai resolve todos esses problemas por meio de sua aceleração baseada em UDP, sua rede de ingestão e sua CDN escalonável.
O uso da Akamai para streaming ao vivo garante uma entrega eficiente, escalonável e de baixa latência de streams de vídeo ao vivo, proporcionando uma ótima experiência para os usuários finais. Ao aproximar o poder de processamento da borda da rede com a Akamai, os serviços de streaming podem otimizar o desempenho e aprimorar a escalabilidade.
Para seguir um tutorial passo a passo sobre transcodificação de vídeo, siga este link para converter um arquivo mp4 para o formato HLS. Você também pode ler nossos documentos sobre a API de provisionamento de transmissão ao vivo dos serviços de mídia.
Para saber mais sobre como implementar isso você mesmo, inscreva-se em nosso boletim informativo, conecte-se conosco no Twitter ou no LinkedIn ou assine nosso canal no YouTube.
Se você ou sua organização estiver pensando em otimizar suas soluções de transcodificação de vídeo e Kubernetes, poderá experimentar as soluções da Linode inscrevendo-se para obter US$ 100 em créditos gratuitos.
Comentários