Uma implementação de FFmpeg em WebAssembly puro e JavaScript que permite gravar, converter e transmitir vídeo e áudio no navegador.
Vanilagy/mediabunny
Biblioteca TypeScript sem dependências para ler, gravar e converter arquivos de vídeo e áudio (MP4, WebM, MP3 etc.) no navegador.
- Estrelas
- 7,441
- Forks
- 339
- Issues abertas
- 53
- Último commit
- ontem
O que é?
Mediabunny é uma biblioteca JavaScript para ler, gravar e converter arquivos de mídia como MP4, WebM, MP3 e HLS diretamente no navegador. Escrita do zero em TypeScript e sem dependências, ela foi projetada como uma alternativa nativa para a web à abordagem do FFmpeg para processamento de mídia pela linha de comando.
A biblioteca oferece demultiplexação e multiplexação de contêineres em formatos como MOV, MKV, WAV, Ogg, FLAC e MPEG-TS, além de compatibilidade com mais de 25 codecs de vídeo, áudio e legendas. A codificação e a decodificação usam a API WebCodecs para aceleração por hardware quando disponível. A API de conversão oferece transmuxing, transcodificação, redimensionamento, rotação, corte, reamostragem e aparo.
O processamento de arquivos é baseado em streaming, então arquivos grandes podem ser processados sem carregar tudo na memória. O pacote permite tree-shaking, com bundles mínimos de cerca de 5 kB compactados com gzip, e o mesmo código pode ser executado no Node, Bun e Deno usando o pacote separado @mediabunny/server.
Recursos principais
- 01Lê e grava MP4, MOV, WebM, MKV, HLS, WAV, MP3, Ogg, ADTS, FLAC e MPEG-TS.
- 02Oferece suporte a mais de 25 codecs de vídeo, áudio e legendas, com aceleração por hardware via WebCodecs.
- 03Oferece uma API de conversão para transmuxing, transcodificação, redimensionamento, corte, rotação e aparo.
- 04Faz streaming da entrada e da saída para processar arquivos de qualquer tamanho.
- 05Permite tree-shaking, não tem dependências de runtime e pode ocupar apenas cerca de 5 kB compactados com gzip.
- 06Funciona em navegadores e, por meio do @mediabunny/server, no Node, Bun e Deno.
Casos de uso
- Converter um vídeo enviado por um usuário para WebM ou MP4 antes de enviá-lo a um servidor.
- Ler duração, dimensões, rotação e tags de metadados de arquivos de mídia em um app web.
- Gerar vídeos MP4 no navegador a partir de quadros do canvas.
- Aparar ou redimensionar clipes em um editor de vídeo baseado no navegador.
Início rápido
- 1
Instale o pacote pelo npm
npm install mediabunny - 2
Importe Input, ALL_FORMATS e BlobSource e leia os metadados de um arquivo
Antes de usar
- O pacote é voltado para o navegador e usa a API WebCodecs para codecs com aceleração de hardware.
- É necessário usar TypeScript 5.7 ou posterior para os tipos.
Tópicos
Perguntas frequentes
- O que é mediabunny?
- Biblioteca TypeScript sem dependências para ler, gravar e converter arquivos de vídeo e áudio (MP4, WebM, MP3 etc.) no navegador. Mediabunny é uma biblioteca JavaScript para ler, gravar e converter arquivos de mídia como MP4, WebM, MP3 e HLS diretamente no navegador. Escrita do zero em TypeScript e sem dependências, ela foi projetada como uma alternativa nativa para a web à abordagem do FFmpeg para processamento de mídia pela linha de comando.
- mediabunny é gratuito? Qual é a licença?
- mediabunny é open source sob a licença MPL-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- mediabunny ainda é mantido?
- Manutenção ativa. O último commit de mediabunny foi em 6 de nov. de 2026.
- Para que posso usar mediabunny?
- Converter um vídeo enviado por um usuário para WebM ou MP4 antes de enviá-lo a um servidor. Ler duração, dimensões, rotação e tags de metadados de arquivos de mídia em um app web. Gerar vídeos MP4 no navegador a partir de quadros do canvas. Aparar ou redimensionar clipes em um editor de vídeo baseado no navegador.
- Como instalar mediabunny?
- Instale o pacote pelo npm: npm install mediabunny Importe Input, ALL_FORMATS e BlobSource e leia os metadados de um arquivo
- Onde consigo mediabunny?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Vanilagy/mediabunny
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Coleção de bibliotecas em C e ferramentas de linha de comando para decodificar, codificar, converter, filtrar e transmitir áudio, vídeo e legendas.
Ferramenta distribuída para automatizar bibliotecas de mídia, transcodificando e remuxando arquivos de vídeo e áudio com FFmpeg ou HandBrake e regras condicionais de plugins.
Biblioteca de áudio em C para reprodução e captura, distribuída em um único arquivo-fonte e sem dependências externas.
Editor de vídeo com várias trilhas que roda inteiramente no navegador, com armazenamento local de mídia, efeitos WebGPU e exportação no próprio navegador.
Uma ferramenta local no navegador que reproduz um anúncio de motion graphics finalizado em sincronia com as cenas preliminares em preto e branco e exporta a análise em um único MP4.