← Todas as ferramentas

Dividir Vídeo

Corte um vídeo longo em clipes que começam onde o vídeo muda — e não a cada trinta segundos. Tudo acontece na sua máquina.

O seu navegador lê e recodifica o ficheiro. Nenhum pedido o envia para lado nenhum — esta página não tem servidor para onde o enviar.

Perguntas

Qual a diferença para outros divisores de vídeo?

A maioria corta a cada N segundos, então um clipe pode começar no meio de uma frase e terminar no meio de um gesto. Este acha os cortes que o vídeo já tem — as mudanças de plano — e monta os clipes com planos inteiros. Você continua escolhendo a duração aproximada; os limites é que caem na mudança real mais próxima, em vez de num cronômetro.

O que são as estrelas de cada clipe?

O motor pontua cada quadro amostrado por nitidez, exposição, contraste, cor e detalhe, e cada clipe recebe a média ponderada pela duração dos planos que contém. As estrelas são relativas ao melhor clipe daquele vídeo, não uma escala absoluta: sugerem por onde olhar primeiro, não decretam o que é interessante.

O corte vertical vai cortar pessoas fora?

Ele pega o centro do quadro, o que acerta na maioria das vezes e erra quando o assunto está de lado. Ainda não há rastreamento de rostos aqui, então confira as prévias antes de publicar. Se o plano for muito aberto, geralmente sai melhor cortar à mão.

O vídeo é enviado?

Não. O navegador decodifica, o WebAssembly analisa os quadros e os clipes são recodificados localmente com WebCodecs — o mesmo caminho de hardware que o navegador usa para reproduzir vídeo. Nada é enviado a lugar nenhum, e é por isso que também não há limites de plano, filas ou marca d'água.

As outras ferramentas

Integre isto no seu projeto

Splitting video at its shot changes — the same way this page does it, on the user's machine, with no server. Take the code, or hand the prompt to a coding agent.

// Shot detection uses the Life2Film engine:
// https://life2film.com/wasm/va_wasm.js
const engine = await import('https://life2film.com/wasm/va_wasm.js');
await engine.default({ module_or_path: 'https://life2film.com/wasm/va_wasm_bg.wasm' });

// pixels: centre-column mean RGB per sampled frame, timestamps in seconds
const { scenes } = JSON.parse(engine.detect_scenes_slick(JSON.stringify({
  pixels, timestamps, duration, algo: 'adjacent_diffs',
})));

The engine is documented for agents, and every tool page is available as markdown by adding .md to its address.