Voltar para os projetos

2026

Caxumba Video Saver

Extensão de navegador que detecta e baixa vídeos MP4, HLS e DASH da página aberta, sem servidor externo.

  • TypeScript
  • Manifest V3
  • ffmpeg.wasm
  • esbuild

O que resolve

Vídeo que a página reproduz nem sempre é um arquivo que dá para salvar. Stream moderno chega em pedaços: HLS e DASH entregam dezenas ou centenas de segmentos, e o vídeo inteiro só existe montado dentro do player.

A saída de sempre é um site de download cheio de anúncio, que pede a URL, processa no servidor de outra pessoa e devolve o que quiser devolver.

O Caxumba faz o trabalho dentro do navegador. A extensão observa o tráfego da aba, mostra o que encontrou e remonta os segmentos localmente com o ffmpeg compilado para WebAssembly. Nenhum byte passa por servidor externo.

Como funciona

  • 01

    Detecção automática

    A extensão acompanha as respostas de rede da aba e reconhece MP4, HLS (.m3u8) e DASH (.mpd) pelo content-type, com a extensão da URL como segunda pista.

  • 02

    Prévia antes de baixar

    Cada vídeo encontrado aparece com o tipo e uma miniatura gerada a partir do começo do próprio arquivo, para confirmar que é aquele mesmo antes de gastar o download.

  • 03

    Escolha de qualidade

    Em HLS e DASH, as variantes declaradas no manifesto viram uma lista de resoluções e taxas de bits.

  • 04

    Remontagem local

    Os segmentos são baixados e remontados em um MP4 pelo ffmpeg.wasm, unindo vídeo e áudio quando o stream separa as duas faixas.

  • 05

    Progresso por etapa

    A popup mostra em qual fase está: baixando segmentos, com a contagem, remontando e salvando.

  • 06

    Recusa de stream protegido

    Playlist com chave de criptografia ou DRM não é baixada, e a mensagem diz exatamente por quê em vez de falhar no meio do caminho.

Para quem serve

Quem precisa guardar um vídeo a que já tem acesso — aula, gravação de reunião, material de estudo — e não quer entregar a URL a um site intermediário.

Não depende de loja de extensões: dá para compilar localmente e carregar sem compactação, ou usar o pacote pronto publicado a cada versão.

Detalhes técnicosArquitetura, stack e decisões