MP4 com fundo transparente e HEVC com canal alfa: o que funciona de verdade
Por equipe Charmotion · Atualizado em

Um MP4 H.264 padrão não pode ser transparente, porque o H.264 não tem canal alfa. Vídeo com fundo transparente exige um codec que armazene alfa: HEVC com alfa (geralmente em .mov) para Safari e dispositivos Apple, WebM VP9 para Chrome, Edge e Firefox, ou ProRes 4444 para edição. No Mac, o avconvert da Apple converte um master ProRes 4444 em HEVC com alfa.
Principais pontos
- MP4 H.264 não tem alfa; "MP4 transparente" geralmente significa HEVC com alfa ou um MP4 empilhado com cor e alfa, que exige um player especial.
- Exporte ProRes 4444 ou uma sequência de PNG do After Effects ou do Premiere como master transparente.
- No macOS, o
avconvertcom um preset HEVC WithAlpha gerou um arquivo HEVC com alfa funcional no nosso teste; a saída VideoToolbox do ffmpeg não abriu no AVFoundation. - O ffmpeg 7.1.1 decodifica arquivos HEVC com alfa sem o alfa, então passe pelo ProRes 4444 para gerar um WebM.
- No iPhone, há relatos de que áreas transparentes clareiam o que está atrás delas; confira as tags de cor e teste em um dispositivo.
Um MP4 pode ter canal alfa?
Não com H.264, que é o codec de quase todo "MP4". O H.264 armazena só cor, então qualquer área transparente vira uma cor sólida na exportação.
Quando as pessoas falam em MP4 transparente, podem estar se referindo a uma destas três coisas:
- HEVC com alfa. A variante H.265 da Apple carrega uma segunda camada, de alfa. A Apple introduziu a reprodução no iOS 13 e no macOS Catalina (sessão 506 da WWDC19). Os arquivos geralmente são .mov QuickTime com a tag
hvc1. - Um MP4 empilhado. A cor e uma máscara de alfa em tons de cinza ficam lado a lado ou uma em cima da outra em um frame H.264 comum, e um player personalizado (um shader, um script de canvas ou uma view do Android) recombina as duas. O Masko, por exemplo, oferece um "stacked MP4" para Android. Ele não fica transparente em um player de vídeo comum.
- Um arquivo com rótulo errado. Algumas ferramentas dizem "MP4 transparente" e geram um WebM ou MOV. Verifique o codec, não a extensão.
Para a web, a receita confiável são dois arquivos em um único elemento <video>: primeiro o HEVC com alfa para o Safari, depois o WebM VP9 para todos os outros. O código está em vídeo com fundo transparente em sites.
Por que o After Effects ou o Media Encoder não exportam um MP4 transparente?
Porque o formato não comporta isso. A resposta aceita na discussão da comunidade da Adobe sobre o assunto é direta: "O formato de arquivo MP4 não suporta canal alfa." Outras respostas observam que o HEVC suporta, mas que os próprios exportadores da Adobe não gravam HEVC com alfa.
As alternativas sugeridas nessa discussão são as que os profissionais usam como master com fundo transparente:
- QuickTime com ProRes 4444, o master de edição com alfa mais comum.
- Codecs QuickTime Animation ou PNG, maiores, mas sem perdas.
- Uma sequência de imagens PNG, um arquivo por frame.
- WebM VP9, por meio de um exportador de terceiros ou do ffmpeg.
Exporte o master uma vez com os canais "RGB + Alpha" e depois gere os arquivos para a web a partir dele. Nunca entregue ProRes 4444 em uma página web: é um formato de edição e pesado demais.
Como fazer HEVC com alfa (com ou sem Mac)?
No Mac, o caminho confiável nos nossos testes de outubro de 2026 foi o próprio codificador da Apple. Primeiro crie um master ProRes 4444, se ainda não tiver um (aqui, a partir de um WebM com fundo transparente), e depois converta com o avconvert, que já vem no macOS e tem presets HEVC "WithAlpha":
ffmpeg -c:v libvpx-vp9 -i character.webm -c:v prores_ks -profile:v 4444 -pix_fmt yuva444p10le -an master.mov
avconvert -s master.mov -p PresetHEVCHighestQualityWithAlpha -o character-hevc.mov
Lendo o resultado de volta pelo AVFoundation, encontramos 77% de pixels transparentes, igual à origem. O Compressor e o AVAssetWriter do AVFoundation (codec hevcWithAlpha) usam o mesmo codificador do sistema.
Uma alternativa comum é o codificador hevc_videotoolbox do ffmpeg com -alpha_quality e -tag:v hvc1. No nosso teste com o ffmpeg 7.1.1, os arquivos gerados ficaram maiores que a versão opaca, o que sugere uma camada alfa, mas o AVFoundation se recusou a abri-los (erro -11801 / -12713). Teste no Safari qualquer arquivo HEVC feito com ffmpeg antes de colocá-lo em produção.
Sem Mac, as opções são mais limitadas. O changelog do FFmpeg 8.0 adiciona "libx265 alpha layer encoding", que pode gerar HEVC com camada alfa no Windows e no Linux. Não verificamos se o Safari reproduz esse resultado, então teste em um iPhone antes de depender disso. Caso contrário, codifique em um Mac (um Mac na nuvem serve) ou use uma ferramenta que entregue o MOV pronto.
Dá para reproduzir HEVC com alfa no Windows?
Normalmente você consegue reproduzir o vídeo, mas não espere ver a transparência. O Windows só reproduz HEVC com as HEVC Video Extensions pagas da Microsoft (US$ 0,99 na loja dos EUA em outubro de 2026) ou com um player que traga o próprio decodificador. O Chrome e o Firefox no Windows não exibem o alfa do HEVC como transparente, e é por isso que a receita para a web combina esse arquivo com um WebM.
Para conferir o que um arquivo realmente contém sem usar um Mac, abra-o no nosso Verificador de vídeo transparente grátis, que lê as flags de alfa do arquivo e testa a decodificação no seu navegador. Para ver a transparência no Windows, gere um WebM a partir dele (próxima seção).
Como converter um MOV com alfa para WebM?
Depende do codec dentro do MOV.
MOV ProRes 4444: o ffmpeg lê o alfa diretamente.
ffmpeg -i master.mov -c:v libvpx-vp9 -pix_fmt yuva420p -b:v 0 -crf 30 -an character.webm
MOV HEVC com alfa: o ffmpeg 7.1.1 decodifica apenas a camada de cor. No nosso teste, os frames decodificados de um arquivo HEVC com alfa verificado tinham 0% de pixels transparentes, e o ffprobe informou yuv420p. Primeiro converta para ProRes 4444 com o decodificador da Apple e depois codifique o WebM:
avconvert -s character-hevc.mov -p PresetAppleProRes4444LPCM -o prores.mov
ffmpeg -i prores.mov -c:v libvpx-vp9 -pix_fmt yuva420p -b:v 0 -crf 30 -an character.webm
Esse caminho gerou um WebM com alpha_mode=1 e 76% de pixels transparentes. O formato de pixel yuva420p é o que mantém o alfa no WebM; sem ele, o libvpx-vp9 grava um arquivo opaco. Quando depois você decodificar esse WebM com o ffmpeg, coloque -c:v libvpx-vp9 antes de -i, senão o alfa some de novo.
Por que meu vídeo com fundo transparente parece desbotado no iPhone?
É um problema relatado e não resolvido, e não um comportamento documentado. Em uma discussão nos Apple Developer Forums de outubro de 2024, um desenvolvedor escreveu que, no iPhone e no iPad, "as partes transparentes do vídeo agem quase como um 'overlay', deixando tudo o que está atrás bem mais claro", e que o efeito piorava com o brilho da tela mais baixo. Os mesmos arquivos apareciam corretamente no Mac, no Windows e no Android.
A única resposta da Apple perguntou qual espaço de cor o arquivo usava e indicou o Web Inspector do Safari, onde o painel Media de um <video> selecionado mostra as informações de cor que o Safari interpretou. Nenhuma correção foi confirmada na discussão.
O que fazer na prática:
- Exporte com tags de cor explícitas e padrão (BT.709 para SDR) e compare com o que o Web Inspector informa.
- Teste em um iPhone de verdade, com brilho baixo e alto, sobre o fundo real da sua página.
- Se um personagem pequeno precisa ficar exato, considere desenhá-lo em tempo real: um arquivo Rive ou Lottie é renderizado em um canvas transparente, sem composição de vídeo.
Dá para pular as etapas de codificação?
Se você parte de uma imagem de personagem, mascote ou logo, sim. Os planos pagos do Charmotion (a partir de US$ 20/mês) entregam cada animação tanto como WebM com alfa VP9 quanto como MOV com alfa HEVC em 1080×1080, codificados com o AVFoundation da Apple, então os arquivos já funcionam juntos corretamente em um elemento <video>.
Perguntas frequentes
Um MP4 empilhado é a mesma coisa que um MP4 transparente?
Não. Um MP4 empilhado é um vídeo H.264 opaco comum, com a imagem colorida e uma máscara alfa em preto e branco juntas em um único frame. Ele só parece transparente em um player que recombina as duas metades, como um shader personalizado ou uma view do Android. Em um player comum, você vê as duas metades.
Por que o ffprobe mostra yuv420p no meu vídeo HEVC com alfa?
Porque o ffmpeg lê apenas a camada de cor base do HEVC com alfa da Apple; o alfa fica armazenado em uma camada separada. No nosso teste com o ffmpeg 7.1.1, os frames decodificados não tinham transparência nenhuma. Verifique o arquivo no Safari ou no AVFoundation, ou converta-o antes para ProRes 4444 com o avconvert.
Dá para fazer HEVC com alfa no Premiere Pro?
Não diretamente, segundo respostas no fórum da comunidade da Adobe. Exporte ProRes 4444 com alfa do Premiere ou do After Effects e depois converta para HEVC com alfa em um Mac com avconvert, Compressor ou AVFoundation.
Respostas rápidas deste guia
Fontes
- HEVC Video with Alpha (WWDC19 session 506), Apple Developer
- How to export MP4 (Media Encoder) with a transparent background, Adobe Community
- Faulty transparent video in iPhone browsers, Apple Developer Forums
- FFmpeg Changelog (version 8.0: libx265 alpha layer encoding), FFmpeg on GitHub
- FFmpeg codecs documentation (libvpx, VideoToolbox), FFmpeg
- ffmpeg loses HEVC alpha: transparent video fix, hontran.dev
- HEVC Video Extensions, Microsoft Store
- Video with alpha transparency on the web, Jake Archibald
- Masko: AI mascot generator for apps and websites, Masko