- Os desenvolvedores da Web podem controlar o picture-in-picture para vídeos.
- O decodificador AV1 agora é compatível com o Chrome para computador x86-64.
- É possível fazer buffer e reprodução entre codecs e fluxos de bytes no MSE.
- O Chrome agora é compatível com Opus em MP4 com MSE.
- A reprodução de conteúdo protegido é permitida por padrão no Android.
Assistir vídeos usando o picture-in-picture
Com o recurso picture-in-picture (PiP), os usuários podem assistir vídeos em uma janela flutuante (sempre por cima das outras janelas) para acompanhar o conteúdo enquanto interagem com outros sites ou aplicativos. Com a nova API da Web Picture-in-Picture, é possível iniciar e controlar o Picture-in-Picture para vídeos no seu site.
Leia nosso artigo para saber tudo sobre isso.
Decodificador AV1
O AV1 é um codec de última geração desenvolvido pela Alliance for Open Media (em inglês). O AV1 melhora a eficiência de compactação em mais de 30% em relação ao codec de vídeo mais avançado atualmente, o VP9. O Chrome 70 adiciona um decodificador AV1 ao Chrome para computadores x86-64 com base na especificação oficial de bitstream. No momento, o suporte é limitado ao perfil 0 "Principal" e não inclui recursos de codificação. O contêiner compatível é MP4 (ISO-BMFF). Consulte Do vídeo bruto ao formato para a Web para uma breve explicação sobre contêineres.
Para testar o AV1:
- Acesse a página do YouTube TestTube.
- Selecione "Dar preferência a AV1 para SD" ou "Sempre dar preferência a AV1" para ter a resolução AV1 desejada. Em resoluções mais altas, o AV1 tem mais chances de apresentar problemas de desempenho de reprodução em alguns dispositivos.
- Assista clipes do YouTube na playlist de lançamento da versão Beta do AV1.
- Confirme o codec av01 em "Estatísticas para nerds".
Suporte para troca de codec e contêiner no MSE
O Chrome está adicionando suporte para transições aprimoradas entre codecs ou fluxos de bytes
na reprodução de Extensões de origem de mídia usando um novo
método changeType() em SourceBuffer. Ele permite que o tipo de bytes de mídia anexados ao SourceBuffer seja alterado depois.
A versão atual do MSE oferece suporte à
reprodução adaptativa de mídia. No entanto, a adaptação exige que qualquer mídia anexada
a um SourceBuffer esteja em conformidade com o tipo MIME fornecido ao criar inicialmente
o SourceBuffer usando MediaSource.addSourceBuffer(type). Os codecs desse tipo e os segmentos de inicialização analisados anteriormente precisam permanecer os mesmos durante todo o processo. Isso significa que o site precisa realizar etapas explícitas para
realizar a troca de codec ou bytestream (usando vários elementos de mídia ou
faixas SourceBuffer e alternando entre elas), aumentando a complexidade do aplicativo
e a latência visível para o usuário. Essas transições exigem que o web app
execute uma ação síncrona na linha de execução principal do renderizador. Essa latência de transição
prejudica a fluidez da reprodução de mídia nas transições.
Com o novo método changeType(), um SourceBuffer pode armazenar em buffer e oferecer suporte à
reprodução em diferentes formatos de bytestream e codecs. Esse novo método
mantém a mídia armazenada em buffer anteriormente, exceto a remoção ou
despejo de frames codificados por MSE futuros, e aproveita a lógica de junção e buffer no algoritmo de
processamento de frames codificados por MSE atual.
Veja como usar o método changeType():
const sourceBuffer = myMediaSource.addSourceBuffer('video/webm; codecs="opus, vp09.00.10.08"');
sourceBuffer.appendBuffer(someWebmOpusVP9Data);
// Later on...
if ('changeType' in sourceBuffer) {
// Change source buffer type and append new data.
sourceBuffer.changeType('video/mp4; codecs="mp4a.40.5, avc1.4d001e"');
sourceBuffer.appendBuffer(someMp4AacAvcData);
}
Como esperado, se o tipo transmitido não for compatível com o navegador, esse método
vai gerar uma exceção NotSupportedError.
Confira a amostra para testar o buffer e a reprodução entre codecs e fluxos de bytes de um elemento de áudio.
Intenção de envio | Rastreador do Chromestatus | Bug do Chromium
Opus em MP4 para MSE
O codec de áudio aberto e altamente versátil Opus é compatível com os elementos
<audio> e <video> desde o Chrome 33. O suporte a Opus em ISO-BMFF (também conhecido como Opus em MP4) foi adicionado depois. Agora, o Opus em MP4 está disponível no Chrome 70 para Extensões de origem de mídia.
Veja como detectar se o Opus em MP4 é compatível com MSE:
if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
// TODO: Fetch data and feed it to a media source.
}
Para ver um exemplo completo, confira nossa amostra oficial.
Devido à falta de ferramentas para muxar Opus em MP4 com corte final e valores de pré-pulo corretos, se essa precisão for importante para você, use SourceBuffer.appendWindow{Start,End} e SourceBuffer.timestampOffset no Chrome para obter uma reprodução precisa da amostra.
Intenção de envio | Rastreador do Chromestatus | Bug do Chromium
Permitir a reprodução de conteúdo protegido por padrão no Android
No Chrome 70 para Android, o valor padrão da configuração do site de conteúdo protegido muda de "Perguntar primeiro" para "Permitido", reduzindo o atrito associado à reprodução desse tipo de mídia. Essa mudança é possível, em parte, devido a etapas adicionais tomadas para limpar licenças de mídia junto com cookies e dados do site, garantindo que as licenças de mídia não sejam usadas por sites para rastrear usuários que limparam os dados de navegação.