Solução de problemas
Esta página aborda problemas comuns do player e da incorporação. Para problemas de envio, acesso ou conta, comece por Solução de problemas na seção de diagnóstico.
| Sintoma | Tema |
|---|---|
| O vídeo não carrega ou trava | Reprodução |
| O DRM não funciona no modo anônimo no Android | DRM |
| A tela pode ser gravada mesmo com a proteção ativada | DRM |
| O DRM não funciona no Android WebView | DRM |
| O DRM não funciona no Electron | DRM |
play() não inicia por um botão personalizado | Reprodução automática |
Ocorre um NotAllowedError | Reprodução automática |
| A reprodução automática não funciona no Electron | Reprodução automática |
| Uma página com muitos players trava | Desempenho |
| A tela cheia não funciona em um iframe aninhado | Incorporação |
| A tela não gira em um PWA | Incorporação |
O vídeo não carrega ou trava
O que acontece. O player abre, mas o vídeo não carrega ou a reprodução trava.
Por quê. Problemas de rede ou abas em segundo plano costumam consumir recursos do navegador.
O que fazer.
- Verifique sua conexão com o Speedtest .
- Feche todas as abas, exceto a do player, e recarregue a página.
O DRM não funciona no modo anônimo no Android
O que acontece. Um vídeo protegido por Widevine não é reproduzido no modo anônimo no Android.
Por quê. O Chrome desativou o Widevine no modo anônimo no Android a partir da versão 62. Isso evita que os usuários percam licenças pagas ao fechar abas.
O que fazer. Assista a vídeos protegidos por DRM no modo normal do navegador.
Saiba mais em Atualizações de mídia no Chrome 62 .
A tela pode ser gravada mesmo com a proteção ativada
O que acontece. Ainda é possível gravar a tela com o Widevine DRM ativado.
Por quê. Algumas propriedades CSS em um elemento pai ou no iframe podem interromper a proteção contra captura do navegador.
O que fazer. Verifique estes casos conhecidos:
- Um elemento pai tem
border-radius. Definaoverflow: initialouoverflow: visible. - No Firefox para macOS,
transformé aplicado ao player ou ao elementovideo, ou a um ancestral com contexto de empilhamento. - A página usa
backdrop-filteroufilter. - O
<iframe>do player ou um elemento pai usaaspect-ratiooupadding-top.
Saiba mais no problema do Chromium relacionado a filter .
O DRM não funciona no Android WebView
O que acontece. Um vídeo protegido não é reproduzido dentro do Android WebView.
Por quê. O WebView muitas vezes não é compatível com EME ou Widevine, ou essa compatibilidade está desativada.
O que fazer. Verifique a compatibilidade com a demonstração do Shaka Player
. Um valor null indica que o recurso não é compatível. Configure o WebView ou use o navegador do sistema.
Saiba mais em video.js #5563 , Widevine no Android WebView e conteúdo protegido no WebView .
O DRM não funciona no Electron
O que acontece. Um vídeo protegido por Widevine não é reproduzido em um aplicativo Electron.
Por quê. Você precisa conectar e testar o CDM no Electron separadamente do Chrome convencional.
O que fazer. Siga o guia do Electron para testar o CDM do Widevine.
Saiba mais em Testar o CDM do Widevine .
play() não inicia por um botão personalizado
O que acontece. Um usuário clica no seu botão e você chama a API play(), mas a reprodução não começa.
Por quê. O navegador reconhece o gesto apenas quando ele chega ao elemento de mídia ou ao player. Isso faz parte da política de reprodução automática .
O que fazer. Garanta que o usuário clique no player. Defina pointer-events: none nas suas sobreposições para que o clique passe por elas.
Ocorre um NotAllowedError
O que acontece. O console ou a resposta da API contém NotAllowedError com uma mensagem como “The request is not allowed by the user agent …” ou “The request is not triggered by a user activation.”
Por quê. Uma API do navegador exige interação do usuário ou precisa ser executada como resultado direto de um clique ou toque.
O que fazer. Chame o método diretamente no manipulador de clique ou toque do usuário. Não o mova para uma cadeia adiada fora do gesto do usuário.
Saiba mais sobre Ativação do usuário na MDN.
A reprodução automática não funciona no Electron
O que acontece. A reprodução automática de vídeo não inicia no Electron.
Por quê. O Electron tem suas próprias restrições de reprodução automática de mídia, diferentes das dos navegadores convencionais.
O que fazer. Verifique as políticas de reprodução automática nas configurações da janela e de webPreferences. Consulte as soluções alternativas nas discussões abaixo.
Saiba mais em MMM-ISS-Live #1 e cordova-electron #102 .
Uma página com muitos players trava
O que acontece. Uma página contém muitos players incorporados, e a aba fica lenta ou trava.
Por quê. Cada player usa recursos. Sem o carregamento sob demanda, a carga aumenta a cada player.
O que fazer. Use as técnicas descritas em Otimização .
A tela cheia não funciona em um iframe aninhado
O que acontece. O modo de tela cheia não inicia quando o player está dentro de um iframe aninhado em outro iframe.
Por quê. O atributo allow pode não funcionar corretamente se o <iframe> pai não for preenchido por src, por exemplo, ao usar o destino de um formulário ou escrever o conteúdo diretamente.
O que fazer. Remova allow do <iframe> do player e mantenha apenas allowfullscreen. No iOS, consulte também o Modo de pseudotela cheia
.
A tela não gira em um PWA
O que acontece. A tela não gira enquanto o player está no modo de tela cheia em um PWA.
Por quê. A orientação do aplicativo está fixa em manifest.json.
O que fazer. Remova a propriedade orientation de manifest.json. Depois, monitore as mudanças de tela cheia e controle o bloqueio de orientação:
player.on(player.Events.FullscreenChange, (event) => {
if (event.data.isFullscreen) {
screen.orientation.unlock()
} else {
screen.orientation.lock('portrait')
}
})