Como reproduzir um vídeo em Base64
- Cole o Base64 em Base64 ou data URI, ou carregue de um arquivo de texto com Abrir arquivo .txt. Um exemplo em H.264 de dois segundos é carregado quando a página abre.
- O player mostra o primeiro quadro. Duração e Dimensões aparecem quando o navegador termina de ler os metadados do arquivo, por exemplo
0:02.0e96 × 64 pxno exemplo. - Extensão e Tipo MIME seguem o contêiner detectado:
.mp4evideo/mp4,.webmevideo/webm,.movevideo/quicktime. - Clique em Baixar arquivo para salvar o vídeo.
A reprodução usa o decodificador do próprio navegador, e a Content Security Policy da página bloqueia requisições de rede que não sejam as do contador de visitas da Cloudflare, então uma gravação privada fica no dispositivo.
Contêiner e codec
Um arquivo de vídeo tem duas camadas: o contêiner (MP4, WebM, MOV, MKV), que a ferramenta detecta pelos primeiros bytes, e os codecs de imagem e som dentro dele, que só o mecanismo de mídia do navegador lê. A reprodução depende do codec:
| Codec de vídeo | Contêiner usual | Chrome, Edge | Firefox | Safari |
|---|---|---|---|---|
| H.264 (AVC) | MP4, MOV | Sim | Sim | Sim |
| VP8, VP9 | WebM | Sim | Sim | WebM desde o Safari 16 no macOS e 17.4 no iOS |
| AV1 | MP4, WebM | Sim | Sim | Só em dispositivos com decodificação AV1 por hardware |
| HEVC (H.265) | MP4, MOV | Onde o sistema oferece um decodificador | Limitado, depende da plataforma | Sim |
| Theora | Ogg | Não | Não | Não |
H.264 em MP4 é a escolha segura quando você controla a codificação. Quando o navegador não consegue decodificar o arquivo, Duração e Dimensões mostram n/d e o aviso “Seu navegador não consegue reproduzir este arquivo MP4. Baixe e abra em um player de mídia.” aparece acima do player. O arquivo baixado em si está íntegro, e o VLC ou o ffmpeg leem todos os codecs da tabela.
O que a detecção informa
| Detectado | Aviso nesta página |
|---|---|
| MP4, MOV, 3GP, WebM, MKV, AVI, OGV | Aceito como vídeo, com a extensão correspondente |
| WebM ou MP4 sem imagem | Reproduz, e Dimensões mostra só áudio |
| M4A, MP3, WAV | “Isto parece ser M4A, não vídeo.”, com Baixar como .m4a e assim por diante |
| GIF | “Isto parece ser GIF, não vídeo.”; GIFs animados são imagens |
| Binary | “Isto não parece ser vídeo”, muitas vezes um download truncado ou dados brutos de stream |
Um arquivo WebM gravado pelo MediaRecorder de um navegador só com microfone continua sendo WebM, então passa como vídeo e toca como áudio. Para detalhes da família MP4, veja Base64 para MP4.
De onde vem o vídeo em Base64
APIs de geração de vídeo podem devolver o clipe como um campo Base64 em JSON em vez de uma URL de download. Gravações de tela e câmera feitas no navegador costumam ser enviadas ao servidor como Base64. Suítes de testes embutem clipes curtos como strings, e algumas páginas web incorporam um vídeo de fundo sem som como URI data:video/mp4, prática explicada, com seus custos, em desempenho de data URIs. Para gerar uma string assim, use Vídeo para Base64.
Como verificar o codec e converter com ffmpeg
Para saber qual codec um clipe usa, decodifique o arquivo e pergunte ao ffprobe:
base64 -d clip.b64 > clip.mp4
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name,width,height -of csv=p=0 clip.mp4
Para um clipe HEVC, isso imprime hevc,320,240. Recodificar para H.264 com áudio AAC gera um arquivo que todo navegador reproduz, e +faststart move o índice para o início, para que a reprodução comece antes de o arquivo inteiro carregar:
ffmpeg -i clip.mp4 -c:v libx264 -pix_fmt yuv420p -c:a aac -movflags +faststart clip-h264.mp4
Mais receitas de linha de comando em Base64 no Bash.
Perguntas frequentes
Como reproduzir um vídeo em Base64?
Cole o Base64 ou o URI data:video/…;base64, na caixa acima; aparece um player com o vídeo carregado. Baixar arquivo salva o vídeo com a extensão que corresponde ao contêiner detectado.
Por que ouço o som mas não vejo a imagem?
O navegador consegue ler o contêiner, mas não o codec de vídeo, ou o arquivo nem tem faixa de vídeo; nesse caso a linha Dimensões mostra só áudio. A causa habitual é vídeo HEVC em um navegador sem suporte a HEVC.
Por que um vídeo do meu iPhone não reproduz?
O iPhone grava em HEVC (H.265) por padrão, muitas vezes em um arquivo MOV. O Safari reproduz; Chrome, Edge e Firefox só reproduzem quando o sistema operacional e o hardware oferecem um decodificador HEVC. Converter para H.264 faz o vídeo rodar em qualquer lugar.
Qual o tamanho máximo de vídeo em Base64 que o player aguenta?
O limite é só a memória do seu dispositivo. Um clipe de 50 MB dá cerca de 70 milhões de caracteres de Base64; entradas acima de 4 MB são decodificadas sem aparecer na caixa de texto, e a página trava por um instante nas muito grandes.