HTML video: controles, reprodução automática, tamanho responsivo e problemas
HTML video incorpora um player de vídeo em uma página da web. Defina o URL do arquivo com src ou elementos filhos source e adicione controls para que os usuários possam reproduzir e pausar. Políticas do navegador podem bloquear a reprodução automática mesmo quando o autoplay está presente.
Escolha atributos para a experiência de reprodução
| Atributo | Propósito | O que verificar |
|---|---|---|
controls |
Mostrar controles nativos de reprodução | Forneça-os para vídeos de conteúdo comum. Sua aparência e botões disponíveis variam conforme o navegador. |
muted |
Começar com o som desligado | Não espere reprodução automática audível. Silenciar também não garante reprodução automática. |
autoplay, loop |
Começar automaticamente e repetir após o término | Permita que os leitores interrompam a reprodução e considere se o movimento distrai da leitura. |
playsinline |
Solicitar reprodução dentro da posição do elemento | Útil em dispositivos móveis, mas não garante comportamento idêntico de exibição em todos os dispositivos. |
poster |
URL da imagem a ser exibida antes da reprodução | Use uma imagem acessível, não um URL de vídeo. |
preload |
Dica sobre dados a pré-carregar | none solicita nenhum pré-carregamento; metadata solicita informações como duração; auto permite carregar mesmo o arquivo todo. Esta é uma dica que o navegador pode ignorar. |
controls, muted, autoplay, e loop são atributos booleanos. Sua presença os habilita, então autoplay="false" não desativa a reprodução automática. Remova o atributo para desativá-la. Uma solicitação de reprodução automática precisa do carregamento da mídia, então preload="none" sozinho não pode impedir o download.
Execute um exemplo de vídeo completo
Salve este código como video.html e abra-o em um navegador. Ele carrega a amostra pública de flores usada na documentação da MDN e precisa de conexão com a internet. Para seu próprio serviço, hospede o vídeo que você tem direito de usar e substitua os URLs.
<!doctype html>
<html lang="pt">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Reprodução de vídeo HTML</title>
<style>
body { margin: 24px; font-family: sans-serif; }
video { display: block; width: 640px; max-width: 100%; height: auto; }
</style>
</head>
<body>
<h1>Vídeo de flores</h1>
<video id="flower" controls playsinline preload="metadata" aria-label="Flores ao vento">
<source src="https://developer.mozilla.org/shared-assets/videos/flower.webm" type="video/webm">
<source src="https://developer.mozilla.org/shared-assets/videos/flower.mp4" type="video/mp4">
Este navegador não suporta o elemento video.
</video>
<p>Descrição: as flores e a grama próxima se movem com o vento.</p>
<p><a href="https://developer.mozilla.org/shared-assets/videos/flower.mp4"
target="_blank" rel="noopener noreferrer">Abrir o arquivo de vídeo MP4</a></p>
</body>
</html>
- Verifique se há um reprodutor com um botão de play e inicie-o. As flores devem se mover e a posição de reprodução deve avançar. O exemplo padrão não possui atributo de reprodução automática ou de loop.
- Pausar a reprodução para parar o movimento. Em uma janela estreita, o reprodutor deve encolher dentro da largura do conteúdo.
- Para comparar a repetição, adicione apenas loop à tag de vídeo de abertura e reabra o arquivo. Verifique se a reprodução retorna ao início após chegar ao fim, então remova o atributo para restaurar o comportamento original.
source oferece formatos de arquivo para que o navegador possa escolher um candidato suportado. Prepare arquivos reais WebM e MP4 do mesmo vídeo; alterar a extensão do nome do arquivo não converte os formatos. A reprodução também depende dos codecs usados para vídeo e áudio dentro de um contêiner como MP4.
Reprodução automática e dimensionamento em dispositivos móveis
Se você precisar de reprodução automática, compare adicionando autoplay muted à tag de vídeo de abertura. Mantenha playsinline e controles. Preferências do usuário, políticas de economia de energia, histórico de interação no site ou outras regras do navegador podem negar a reprodução automática, então mantenha um botão de reprodução.
O CSS width: 640px é a largura de exibição desejada, enquanto max-width: 100% limita o transbordamento em um contêiner estreito. height: auto preserva a proporção do vídeo. Se você definir um quadro de proporção fixa, object-fit: contain preserva toda a cena, enquanto cover preenche o quadro cortando algumas bordas; verifique se o conteúdo importante permanece visível.
Solução de problemas de reprodução e verificação de acessibilidade
- URL do arquivo: Abra o link do vídeo diretamente e confirme se o arquivo existe e está disponível sem login. Verifique se um caminho local não foi confundido com um caminho de servidor e se a capitalização do nome do arquivo corresponde.
- Formato e resposta: Verifique se o servidor envia o tipo MIME correto video/mp4 ou video/webm e usa codecs suportados. O painel de Rede nas ferramentas de desenvolvedor ajuda a inspecionar solicitações falhas e cabeçalhos de resposta.
- Reprodução automática: Se apertar Play funcionar, diferencie uma restrição de reprodução automática de um arquivo corrompido.
- Orientação de substituição: O texto dentro do vídeo é para navegadores que não suportam o elemento. Em navegadores modernos, uma falha de carregamento não o exibe automaticamente como uma mensagem de erro. O exemplo, portanto, coloca um link do arquivo e descrição da cena fora do player também.
- Legendas e descrições: Forneça legendas precisas e uma transcrição, quando necessário, para o discurso. Conecte legendas com track e um arquivo WebVTT. Considere uma descrição de texto ou descrição em áudio para informações essenciais transmitidas apenas visualmente.
Veja a referência de vídeo do MDN para atributos e o guia do MDN sobre legendas de vídeo para arquivos de legendas.




