Vamos atravessar os streams de mídia, Ray

Joe Medley
Joe Medley

Atualmente, ao usar extensões de fonte de mídia (MSE, na sigla em inglês) no Chrome, não é possível alternar entre streams criptografados e claros. Isso não é proibido pela especificação de MSE. Na verdade, essa limitação está relacionada à configuração do pipeline de mídia para oferecer suporte às Extensões de mídia criptografada (EME, na sigla em inglês).

O MSE exige que os streams de mídia comecem com um segmento de inicialização que inclua informações como dados de inicialização do codec e informações de criptografia. Normalmente, o segmento de inicialização está no início de um arquivo de mídia. Consequentemente, quando a mídia é anexada a um elemento de mídia por download ou MSE, elas "simplesmente funcionam".

O problema ocorre quando você tenta mudar as características da mídia no meio do stream. Alterar as características da mídia requer a passagem de um novo segmento de inicialização. Para a maioria das características, isso funciona. A reprodução vai continuar. A exceção são as configurações de criptografia. As configurações de criptografia do primeiro segmento de inicialização indicam apenas se os segmentos de stream podem ser criptografados, o que significa que segmentos de mídia claros podem ser inseridos no stream. Por consequência, um stream não criptografado, mesmo com um único segmento criptografado, exige que as informações de criptografia sejam incluídas no segmento de inicialização. Por isso, a inserção de anúncios requer soluções alternativas que não se aplicam a outras plataformas.

A partir do Chrome 58, tudo isso vai mudar. Agora você pode alternar entre criptografado e não criptografado no mesmo stream. Isso melhora a compatibilidade ao corresponder o comportamento que já existe no Firefox e no Edge.

Isso tem algumas ressalvas. Primeiro, se você antecipar quaisquer segmentos criptografados nos seus fluxos de mídia, será necessário definir as MediaKeys com antecedência. Como antes, não é possível misturar HTTP e HTTPS na mesma origem.