- Os desenvolvedores da Web podem controlar o picture-in-picture para vídeos.
- O decodificador AV1 agora tem suporte no Chrome x86-64 para computadores.
- A reprodução e o armazenamento em buffer entre codecs e cross-bytestream é possível no MSE.
- O Chrome agora oferece suporte ao Opus em MP4 com MSE.
- A reprodução de conteúdo protegido é permitida por padrão no Android.
Assistir ao vídeo usando o picture-in-picture
O picture-in-picture (PiP) permite que os usuários assistam vídeos em uma janela flutuante (sempre acima de outras janelas) para ficar de olho no que está assistindo enquanto interage com outros sites ou apps. Com a nova API Picture-in-Picture, você pode iniciar e controlar o Picture-in-Picture para vídeos no seu site.
Leia nosso artigo para saber tudo sobre o assunto.
Decodificador AV1
O AV1 é um codec de última geração desenvolvido pela Alliance for Open Media (link em inglês). O AV1 melhora a eficiência de compactação em mais de 30% em relação ao codec de vídeo de última geração, o VP9. O Chrome 70 adiciona um decodificador AV1 ao Chrome Desktop x86-64 com base na especificação oficial de bitstream (em inglês). No momento, o suporte está limitado ao perfil 0 "Principal" e não inclui recursos de codificação. O contêiner compatível é MP4 (ISO-BMFF). Consulte De vídeo bruto para pronto para a Web para uma breve explicação sobre contêineres.
Para testar o AV1:
- Acesse a página do YouTube TestTube.
- Selecione "Preferir AV1 para SD" ou "Sempre preferir AV1" para ter a resolução AV1 desejada. Em resoluções mais altas, é mais provável que o AV1 tenha problemas de desempenho de reprodução em alguns dispositivos.
- Tente reproduzir clipes do YouTube a partir da playlist de lançamento do AV1 Beta.
- Confirme o codec av01 em "Estatísticas para nerds".
Suporte para codec e switch de contêiner no MSE.
O Chrome está adicionando suporte a transições aprimoradas entre codecs ou 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
sejam mudados posteriormente.
A versão atual do MSE oferece suporte
à reprodução adaptável de mídia. No entanto, a adaptação exige que qualquer mídia anexada
a um SourceBuffer
precise estar em conformidade com o tipo MIME fornecido ao criar
inicialmente o SourceBuffer
via MediaSource.addSourceBuffer(type)
. Os codecs
desse tipo e todos os segmentos de inicialização analisados anteriormente precisam permanecer
os mesmos. Isso significa que o site precisa seguir etapas explícitas para
realizar a alternância de codec ou bytestream (usando vários elementos de mídia ou
faixas de SourceBuffer
e alternando entre eles), aumentando a complexidade
do aplicativo e a latência visível ao usuário. Essas transições exigem que o app da Web
realize uma ação síncrona na linha de execução principal do renderizador. Essa latência de transição
prejudica a suavidade da reprodução de mídia entre as transições.
Com o novo método changeType()
, um SourceBuffer
pode armazenar em buffer e oferecer suporte
à reprodução em diferentes formatos de bytecode e codecs. Esse novo método
mantém a mídia previamente armazenada em buffer, a remoção ou a remoção futura de frames codificados pelo MSE
e aproveita a lógica de união e armazenamento em buffer no algoritmo de processamento de frames codificado por MSE existente.
Confira 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 navegador não oferece suporte ao tipo transmitido, esse método
gera uma exceção NotSupportedError
.
Confira a amostra para reproduzir com buffer entre codec e cross-bytestream e reprodução de um elemento de áudio.
Intent de envio | Rastreador do Chromestatus | Bug do Chromium
Opus em MP4 para MSE
O codec de áudio aberto e altamente versátil Opus oferece suporte aos 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 Media Source Extensions.
Veja como você pode detectar se o Opus em MP4 é compatível com o MSE:
if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
// TODO: Fetch data and feed it to a media source.
}
Se você quiser ver um exemplo completo, confira nossa amostra oficial.
Devido à falta de ferramentas para modificar o Opus no MP4 com valores de corte final e pré-pular corretos, se essa precisão for importante para você, use
SourceBuffer.appendWindow{Start,End}
e SourceBuffer.timestampOffset
no
Chrome para conseguir uma reprodução precisa de amostra.
Intent 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 "Conteúdo protegido" muda de "Perguntar primeiro" para "Permitido", reduzindo o atrito associado à reprodução de tais mídias. Essa mudança é possível, em parte, devido a outras medidas tomadas para limpar licenças de mídia junto a cookies e dados de sites, garantindo que essas licenças não sejam usadas por sites para rastrear usuários que limparam os dados de navegação.