Artigo
Extraia quadros de vídeo para miniaturas e folhas de contato
Um vídeo é uma sequência de imagens estáticas. Extrair uma dessas imagens dá a você uma miniatura, uma capa ou uma folha de contato. O resultado é mais nítido e previsível quando você entende como um codec de vídeo armazena seus quadros e quais momentos valem a pena capturar.
Quadros e taxa de quadros
Um arquivo de vídeo é uma sequência de imagens estáticas exibidas rápido o suficiente para criar a ilusão de movimento. O número de imagens exibidas por segundo é a taxa de quadros, expressa em fps. Valores comuns são 24 fps para cinema, 25 fps para transmissão PAL, 30 fps para vídeo web e 60 fps para gravações de jogos. A 24 fps, um filme de duas horas contém cerca de 172.800 quadros individuais. Cada quadro corresponde a um único momento no tempo; extrair um congela esse momento como uma imagem independente. A taxa de quadros também determina quantos quadros você obtém por segundo de filmagem ao extrair um lote: a 30 fps, extrair cada quadro de um minuto de vídeo dá a você 1.800 imagens, o que frequentemente é muito mais do que você precisa. Extrair a uma taxa de quadros mais baixa, ou a cada N quadros com ferramentas que suportam isso, é uma forma prática de reduzir esse volume enquanto ainda cobre a duração completa.

Keyframes vs quadros interpolados
Codecs de vídeo modernos não armazenam cada quadro como uma imagem completa. Eles usam três tipos de quadros para economizar espaço. Um I-frame, também chamado de keyframe, é uma imagem completa e autocontida. Um P-frame armazena apenas os pixels que mudaram desde o último I-frame ou P-frame. Um B-frame armazena mudanças em relação a um quadro anterior e a um futuro, exigindo quadros de ambos os lados para reconstruí-lo. Como um P-frame ou B-frame é incompleto por si só, decodificar um requer os quadros de referência ao redor. Se esses quadros de referência contiverem desfoque de movimento ou uma transição, a imagem reconstruída herda esse desfoque. Um I-frame, por contraste, é decodificado independentemente. É sempre nítido porque não toma emprestado nada dos vizinhos. Ao extrair um quadro para usar como miniatura, pousar em um I-frame dá a você o resultado mais limpo possível. A maioria dos codecs coloca I-frames em cortes de cena, que são pontos de partida naturalmente nítidos.
Escolhendo o momento certo
Mesmo um I-frame bem decodificado pode fazer uma miniatura ruim se o momento capturado for desfavorável. Vários fatores reduzem a qualidade da miniatura. O desfoque de movimento ocorre quando a câmera ou o sujeito se move rapidamente durante a exposição do quadro; o borrão resultante faz um quadro parecer suave mesmo que a decodificação tenha sido limpa. Quadros de transição capturados no meio de uma dissolução ou fade contêm duas imagens sobrepostas e raramente funcionam como imagens independentes. Quadros subexpostos ou superexpostos, comuns no início de uma cena antes que a exposição automática se estabilize, perdem detalhes nas sombras ou nas altas luzes. Os melhores quadros de miniatura vêm de momentos de ação ou expressão clara, boa iluminação e câmera estável. Percorrer o vídeo com um player que mostra timestamps exatos permite identificar esses momentos antes de extraí-los. Um quadro que parece bom pausado em um player geralmente parecerá bom como exportação estática.

Exportação: resolução, formato e a cada N quadros
Ao extrair um quadro, a imagem exportada deve corresponder à resolução nativa do vídeo. Ampliar introduz artefatos de interpolação; reduzir descarta pixels que você pode querer. Um vídeo 1080p produz imagens de 1920x1080 pixels, e um vídeo 4K produz 3840x2160. Para o formato, PNG preserva cada pixel exatamente e é a escolha certa quando você precisa de nitidez máxima para edição ou redimensionamento posterior. JPEG é menor e adequado para visualização ou compartilhamento, mas introduz artefatos de compressão em torno de bordas nítidas. Se você estiver criando uma folha de contato, uma grade de pequenos quadros representativos cobrindo toda a duração, extrair a uma taxa de quadros fixa, em vez de capturar cada quadro, é a abordagem padrão: pedir 1 quadro por segundo de uma fonte a 30 fps dá a você uma imagem por segundo de filmagem, e uma taxa mais alta, como 5 ou 10 fps, dá um conjunto mais denso para inspeção detalhada. A taxa exata depende de quanto detalhe você precisa em relação a quantas imagens deseja gerenciar.
Fazendo localmente com video-extract-frames
A ferramenta video-extract-frames no Sunasty decodifica seu vídeo inteiramente dentro do navegador usando FFmpeg compilado para WebAssembly. Você solta um arquivo, escolhe uma taxa de quadros de 1 a 30 quadros por segundo, seleciona PNG ou JPEG, e a ferramenta decodifica os quadros nessa taxa na memória do seu navegador e oferece os resultados como downloads individuais, limitados a 300 quadros por execução. Seu arquivo de vídeo nunca sai do seu dispositivo. Nenhum byte é enviado para um servidor em nenhum momento durante o processo. Isso importa para filmagens que contêm conteúdo pessoal ou sensível: uma gravação familiar, uma entrevista ou filmagem bruta antes da edição. O navegador carrega o vídeo em um sistema de arquivos virtual na RAM, executa a decodificação FFmpeg e entrega as imagens de volta para você. A troca é que a decodificação é feita em software no seu CPU em vez de por hardware dedicado, portanto um vídeo longo de alta resolução leva mais tempo do que um aplicativo nativo levaria. Para extrair alguns quadros ou produzir uma folha de contato de um clipe curto, a velocidade é prática.
Ferramentas neste artigo
- Extrair quadros do vídeoExtraia quadros fixos de um vídeo como imagens PNG ou JPG diretamente no seu navegador. Sem upload.
- Cortar vídeoCorte um vídeo para um intervalo de início/fim diretamente no seu navegador. Cópia de stream rápida ou recodificação precisa. Sem upload.
- Vídeo para GIFConverta um clipe de vídeo em um GIF animado diretamente no seu navegador. Sem upload.
Perguntas frequentes
Por que meu quadro extraído parece desfocado?
A causa mais comum é pousar em um P-frame ou B-frame durante um momento de movimento. Esses quadros armazenam diferenças em vez de imagens completas, e o desfoque de movimento na filmagem de origem se propaga para a decodificação. Tente extrair o I-frame mais próximo, que corresponde a um corte de cena ou a um keyframe periódico, para um resultado mais nítido.
Devo exportar quadros como PNG ou JPEG?
PNG se você planeja editar o quadro, ampliá-lo ou usá-lo em um contexto onde artefatos de compressão seriam visíveis. JPEG se você precisa de um arquivo menor para compartilhamento rápido ou visualização e a ligeira redução de qualidade é aceitável. Para miniaturas que aparecem em um tamanho pequeno fixo, JPEG com uma configuração de qualidade razoável geralmente é adequado.
Como faço uma folha de contato de um vídeo?
Escolha uma taxa de quadros baixa o suficiente para dar a você um número gerenciável de imagens estáticas, em vez de um único timestamp. Para um clipe de dois minutos, 1 quadro por segundo dá a você cerca de 120 quadros, denso o bastante para montar uma boa grade; a saída é limitada a 300 quadros por execução de qualquer forma. Não há uma taxa mais baixa que 1 fps hoje, então para uma folha mais esparsa, extraia a 1 fps e mantenha apenas os quadros que você quer para a grade final.