Clima extremo · vídeo 9:16 com dados reais

O alerta oficial vira vídeo que prende

Satélite da NASA, alertas do INMET por município e previsão em grade, animados num mapa 3D, com cada número entrando na hora em que é dito.

Banner do eventosextremospub: alertas do clima em vídeo com dados reais
Em resumo

O eventosextremospub é um conjunto de scripts que transforma um alerta de tempo severo num vídeo curto vertical (Reels, Shorts, TikTok). Ele baixa os dados de fontes públicas: alertas do INMET com a lista de municípios, imagens do satélite GOES-19 pela NASA e previsão de chuva e vento do Open-Meteo. Depois anima tudo num mapa 3D do Sul do Brasil, com narração e legenda palavra a palavra. É para quem produz conteúdo sobre clima e quer números conferidos, com a fonte na tela, em vez de repostar print de site. Precisa de um computador com placa de vídeo, Node com Playwright, Python, ffmpeg e, para a voz, o projeto cardshorts.

O que é

Três partes: notícia, animação e avatar

Nasceu de um vídeo de alerta vermelho no Sul (09/10/2026). A pesquisa, o motor do mapa e a montagem viraram scripts para repetir em qualquer evento.

Partes do eventosextremospub: alertas INMET, satélite, chuva de 7 dias, vento, colunas 3D e avatar

📡 Notícia com fonte

Coleta automática do INMET, da NASA e do Open-Meteo, mais uma lista de fontes conferidas. O que já aconteceu fica separado do que é previsão.

🗺️ Animação que prende

Municípios pintados pelo nível do alerta, timelapse da tempestade no infravermelho, vento correndo, colunas 3D de chuva e rajada, contadores.

🧑‍💼 Avatar

O apresentador entra pelo estúdio do HeyGen, no mesmo formato 9:16 do explicavideos, e o mapa acompanha a fala dele.

Como funciona

Do alerta ao MP4

O mapa é uma página HTML com deck.gl. O Chrome sem janela tira um quadro por vez pela GPU (cerca de 0,1 s por quadro), e o ffmpeg junta com a voz e a trilha.

INMET · NASA · Open-Meteo→ base.md (pesquisa)→ falas.json→ Voz conferida→ cena.js (linha do tempo)→ Mapa 3D quadro a quadro→ MP4 9:16

Alertas

Cada município colorido pelo aviso do INMET (amarelo, laranja, vermelho), dia a dia.

Satélite

GOES-19 em cor real como fundo e o infravermelho do topo das nuvens em timelapse, com relógio.

Previsão

Chuva somada de 7 dias em colunas e vento previsto em partículas animadas.

Texto

Abertura com data e o número mais forte, painel com contador, fonte na tela e legenda colorida.

Pré-requisitos

O que precisa estar instalado

As fontes de dados são gratuitas e não pedem chave. O Open-Meteo grátis limita chamadas por minuto, e o script já espera quando isso acontece.

Mapa e render

Node com Playwright, Chrome com Vulkan (placa de vídeo) e ffmpeg.

npm i -g playwright
npx playwright install chromium

Base geográfica

Municípios do IBGE, estados, países e rios (Natural Earth), baixados uma vez.

geo/baixar.sh
python3 motor/prep_geo.py

Voz

Narração com voz clonada pelo cardshorts (Chatterbox e Whisper locais) ou pelo avatar do HeyGen.

git clone https://github.com/inematds/cardshorts
Guia de uso · passo a passo

Uma edição, do dado ao vídeo

Cada vídeo é uma pasta em edicoes/, com a pesquisa, as falas e os dados daquele dia.

1

Crie a edição e baixe os alertas

Lista cada aviso ativo do INMET com quantos municípios ele pega em cada estado.

git clone https://github.com/inematds/eventosextremospub && cd eventosextremospub
E=edicoes/2026-10-09-alerta-sul
python3 coleta/inmet_avisos.py $E
# 56007 Tempestade Grande Perigo 2026-10-09 00:01 → 23:59  529 municípios
2

Baixe o satélite

A base em cor real e a sequência do infravermelho para o timelapse. Horas em UTC.

python3 coleta/satelite_gibs.py $E --base 2026-10-08T18:00 \
  --de 2026-10-08T12:00 --ate 2026-10-09T05:00 --passo 20
3

Baixe a previsão

Chuva de 7 dias numa grade de 0,5° e vento hora a hora do dia escolhido.

python3 coleta/openmeteo.py $E --dia 2026-10-09
# prev7: 204 pontos · máx (204, [-53.5, -25.5]) · >100 mm em 78
4

Escreva a pesquisa e as falas

Em base.md, cada número com fonte e horário, separando o que aconteceu do que é previsão. Em falas.json, o texto falado, curto e direto. A abertura leva a data e o número mais forte que tenha fonte.

[{"id": "f1", "fala": "Alerta vermelho no Sul. Hoje, sexta, quinhentas e vinte e nove cidades..."},
 {"id": "f2", "fala": "Rio Grande do Sul, trezentas e quinze..."}]
5

Grave a voz e monte a linha do tempo

A narração é conferida por transcrição. O gerar_cena.py amarra cada animação à palavra dita (o contador sobe quando o número é falado).

python3 $E/narrar.py        # → narracao.wav + tempos.json
python3 $E/gerar_cena.py    # → cena.js
6

Confira quadros e monte

Olhe alguns quadros antes do render completo. O quadro 0 tem que abrir cheio.

node motor/render.mjs $E --quadros 0,18,30,47
motor/montar.sh $E $E/video.mp4
Exemplo

Alerta Sul · 09/10/2026

Primeira edição: 529 cidades em alerta vermelho no RS, SC e PR, sem avatar. Os 32 primeiros segundos:

Na telaFonte
529 cidades no vermelho (RS 315, SC 128, PR 86)INMET, aviso 56007
Rajada de 109 km/h em Maçambará, 16 casas destelhadas em ChapecóMetSul, Epagri/Ciram, 08/10
113 mm em São Borja num diaMetSul, 08/10
Tempestade andando de quinta 9h a sexta 1h40GOES-19 (NOAA) via NASA GIBS
Mapa de sexta a segundaINMET, avisos 56004, 55993, 55997
Até 204 mm em 7 dias no sudoeste do PROpen-Meteo
Abertura com data e manchete Rajadas sobre o infravermelho Chuva em São Borja Chuva prevista em 7 dias
Roadmap

O que vem depois

A primeira edição validou o motor e a coleta. Próximos passos:

Agora
Coleta, motor do mapa e primeira ediçãoAlertas por município, satélite, timelapse, vento, chuva de 7 dias, voz conferida.
Próximo
Avatar no formato do explicavideosApresentador pelo estúdio do HeyGen numa faixa embaixo do mapa, com o mapa sincronizado à fala dele.
Depois
Mais eventos e mais regiõesCiclones, ondas de calor e frio, raios e níveis de rios (CEMADEN, SGB), além de outros estados.