Orquestração sensível ao público e à complexidade

Os serviços de codificação de vídeo são conhecidos por serem computacionalmente intensivos. Em um ambiente de software, é desejável ser capaz de se adaptar aos recursos computacionais disponíveis. Portanto, os codificadores de vídeo ao vivo modernos têm o recurso de “elasticidade”. Ou seja, sua complexidade algorítmica se adapta automaticamente ao número e recursos dos núcleos de CPU disponíveis. Em outras palavras, quanto mais CPU for alocada para um codificador de vídeo ao vivo, maior será o desempenho da codificação. Até recentemente, o recurso de elasticidade era usado como uma adaptação ad-hoc a condições de variação incontrolável. Neste artigo, são apresentados mecanismos que permitem assumir o controle do recurso computacional. Duas estratégias de otimização de recursos em tempo real são então propostas. O primeiro é baseado na complexidade do conteúdo de vídeo e gerencia os custos de head-end de vídeo, enquanto o segundo se relaciona às medições de audiência e visa a otimização do uso da largura de banda da rede.