Edição por Comando Conhecer o ebook

Guia · Atualizado em 4 de outubro de 2026 · 4 min de leitura

Como cortar pausas do vídeo automaticamente

Um script de 30 linhas encontra as pausas da sua fala e entrega o vídeo sem elas, com imagem e voz sincronizadas. Dá pra rodar à mão ou pedir tudo ao Claude Code em português.

Quem grava vídeo falando sabe como é: respira, pensa, recomeça. Na edição, cada pausa vira um corte manual. Em um vídeo de um minuto são dezenas.

A boa notícia é que pausa é fácil de achar, porque é um trecho em que o áudio fica abaixo de um certo volume. Uma ferramenta gratuita, o ffmpeg, localiza todas e corta de uma vez.

Neste guia você vê o jeito manual, com um script que eu testei, e o jeito mais curto: pedir pro Claude Code fazer.

O resultado, em números

Testei o script abaixo em um vídeo vertical de 8 segundos, gravado falando, com cinco pausas. Depois do corte o vídeo ficou com 4,7 segundos: 3,3 s de pausa a menos. Rodei a detecção de novo no arquivo final e não sobrou nenhuma pausa maior que meio segundo. Imagem e voz continuaram sincronizadas (a diferença entre as duas faixas foi de 0,03 s).

Como funciona

São três etapas:

  1. Detectar. O filtro silencedetect do ffmpeg lista onde cada silêncio começa e termina.
  2. Calcular o que fica. O script faz o inverso: com a lista de silêncios, monta a lista de trechos com fala.
  3. Recortar. Os filtros select e aselect mantêm só esses trechos, na imagem e no áudio ao mesmo tempo.

Existe um filtro pronto chamado silenceremove, mas ele mexe só no áudio. A imagem fica pra trás e o vídeo sai dessincronizado. Por isso o script corta imagem e áudio juntos.

Passo 1: instale o ffmpeg

No Mac, com o Homebrew:

brew install ffmpeg

No Windows, a forma mais simples é pedir ao próprio Claude Code (veja o fim deste guia): "instale o ffmpeg neste computador".

Confira se funcionou:

ffmpeg -version

Passo 2: veja onde estão as pausas

Antes de cortar, olhe o que o ffmpeg encontrou:

ffmpeg -i video.mp4 -af silencedetect=noise=-30dB:d=0.5 -f null -

Cada pausa aparece assim:

silence_start: 1.572896
silence_end: 2.408688 | silence_duration: 0.835792

Os dois números que importam são noise=-30dB, o volume abaixo do qual o ffmpeg considera silêncio, e d=0.5, a duração mínima em segundos para contar como pausa.

Passo 3: o script que corta

Salve este arquivo como cortar_pausas.py. Você precisa só do Python 3 e do ffmpeg:

#!/usr/bin/env python3
"""Corta as pausas de um vídeo. Uso: python3 cortar_pausas.py entrada.mp4 saida.mp4 [pausa_minima_em_segundos]"""
import re, subprocess, sys

entrada, saida = sys.argv[1], sys.argv[2]
pausa_min = float(sys.argv[3]) if len(sys.argv) > 3 else 0.5   # só corta silêncio maior que isso
folga = 0.08                                                    # sobra nas bordas, pra não comer a primeira sílaba
limiar = "-30dB"                                                # abaixo disso conta como silêncio

duracao = float(subprocess.run(
    ["ffprobe", "-v", "error", "-show_entries", "format=duration", "-of", "csv=p=0", entrada],
    capture_output=True, text=True, check=True).stdout)

log = subprocess.run(
    ["ffmpeg", "-hide_banner", "-i", entrada, "-af", f"silencedetect=noise={limiar}:d={pausa_min}", "-f", "null", "-"],
    capture_output=True, text=True).stderr
inicios = [float(x) for x in re.findall(r"silence_start: (-?[\d.]+)", log)]
fins = [float(x) for x in re.findall(r"silence_end: ([\d.]+)", log)]
if len(fins) < len(inicios):
    fins.append(duracao)                                        # silêncio que vai até o fim do vídeo

manter, cursor = [], 0.0
for ini, fim in zip(inicios, fins):
    if ini - cursor > 0.05:
        manter.append((max(0.0, cursor - folga), min(duracao, ini + folga)))
    cursor = fim
if duracao - cursor > 0.05:
    manter.append((max(0.0, cursor - folga), duracao))
if not manter:
    sys.exit("Não achei fala neste vídeo.")

expr = "+".join(f"between(t,{a:.3f},{b:.3f})" for a, b in manter)
subprocess.run(["ffmpeg", "-y", "-hide_banner", "-loglevel", "error", "-i", entrada,
                "-vf", f"select='{expr}',setpts=N/FRAME_RATE/TB",
                "-af", f"aselect='{expr}',asetpts=N/SR/TB",
                "-c:v", "libx264", "-crf", "20", "-c:a", "aac", saida], check=True)
total = sum(b - a for a, b in manter)
print(f"{duracao:.1f}s -> {total:.1f}s ({duracao - total:.1f}s de pausa cortada)")

Rode assim:

python3 cortar_pausas.py gravacao.mp4 gravacao-sem-pausas.mp4

O terceiro argumento é opcional e muda a pausa mínima. Para cortar pausas de um quarto de segundo, por exemplo:

python3 cortar_pausas.py gravacao.mp4 gravacao-sem-pausas.mp4 0.25

O arquivo original não é alterado.

Como ajustar o corte

Os três números do começo do script decidem o resultado:

Ajuste Padrão Quando mudar
pausa_min 0,5 s Use 0,25 a 0,35 para um ritmo rápido de Reels. Use 0,8 ou mais para aula ou entrevista, onde a pausa faz parte do tom.
limiar -30dB Se o ambiente tem ruído de fundo, o ffmpeg não acha silêncio: suba para -25dB. Se você fala baixo e ele corta fala, desça para -35dB.
folga 0,08 s Se estiver comendo o começo das palavras, aumente para 0,12.

Problemas comuns

  • Não cortou nada. Quase sempre é ruído de fundo ou música por baixo da voz. Suba o limiar ou grave sem música e coloque a trilha depois.
  • Cortou o começo das palavras. Aumente a folga.
  • Imagem e voz fora de sincronia. Isso acontece quando só o áudio é cortado. No script, o corte vale para os dois, então não deve ocorrer. Se você adaptar o comando, mantenha select e aselect juntos.
  • O arquivo ficou com cortes demais, seco. Aumente a pausa_min. Um vídeo sem nenhuma respiração cansa quem assiste.

O jeito mais curto: pedir ao Claude Code

Se você já usa o Claude Code, não precisa copiar nada. Abra a pasta do vídeo e peça:

Tem um vídeo chamado gravacao.mp4 nesta pasta. Corte as pausas maiores que meio segundo, mantendo uma folga de 0,08 s em cada corte pra não comer o começo das palavras. Salve como gravacao-sem-pausas.mp4, não altere o original e me diga quantos segundos foram cortados.

Ele escolhe as ferramentas, escreve o script, roda e confere o resultado. O que muda é que você descreve o que quer em vez de montar o comando. O guia Como editar vídeo com Claude Code mostra a instalação e o primeiro pedido.

Depois de cortar as pausas, o passo natural é a legenda: veja legenda automática palavra por palavra.

Perguntas frequentes

Dá pra cortar pausas em vídeo com música de fundo?

Fica difícil, porque a música impede o ffmpeg de achar silêncio. O caminho mais confiável é cortar as pausas no vídeo só com a voz e colocar a música por cima depois.

O vídeo perde qualidade?

O script grava um arquivo novo com crf 20, uma qualidade alta para vídeo de rede social. Qualquer exportação recodifica o vídeo e perde um pouco, mas nessa configuração a perda costuma ser difícil de notar. Se quiser ainda menos perda, use crf 18.

Funciona com vídeo longo?

Funciona, e o tempo depende do computador. A detecção é rápida. A parte mais demorada é gravar o vídeo novo. Para vídeos de mais de meia hora, teste primeiro num trecho curto.

Preciso saber programar?

Não para usar. Você copia o arquivo, roda um comando e troca os números da tabela acima. Se preferir nem isso, peça ao Claude Code.

Leia também